1.下载virtio-win光盘,载入windows,具体下载地方可以通过google找

2.安装virtio驱动,(Windows 2008 x64)

重要:服务器一般都是RAID硬盘驱动,kvm本身不支持,不提前安装会导致虚拟机启动找不到硬盘

设备管理器—>添加过时硬件—>手动选择硬件列表—>存储控制器—>从磁盘安装—>”选择光盘下WLH/AMD64/viostor”

3.重启计算机,通过PXE引导,制作映像

下面显示了主要的步骤,其他都要按照默认即可StartClone --->

把物理机环境打包到docker 物理机迁移到kvm_分区表

device-p_w_picpath-->

把物理机环境打包到docker 物理机迁移到kvm_分区表_02

3.SSH server--->

把物理机环境打包到docker 物理机迁移到kvm_服务器_03

4.填写远端kvm的IP--->

把物理机环境打包到docker 物理机迁移到kvm_服务器_04

5.填写要挂在的远端kvm目录

把物理机环境打包到docker 物理机迁移到kvm_重启_05

6.填写远端kvm密码

把物理机环境打包到docker 物理机迁移到kvm_把物理机环境打包到docker_06

7.查看分区是否挂载

把物理机环境打包到docker 物理机迁移到kvm_服务器_07

8.继续选择“专家模式”

把物理机环境打包到docker 物理机迁移到kvm_服务器_08

7.选择savedisk,制作本地硬盘映像

把物理机环境打包到docker 物理机迁移到kvm_把物理机环境打包到docker_09

8.键入生成映像的文件夹,默认即可

把物理机环境打包到docker 物理机迁移到kvm_把物理机环境打包到docker_10

9.选择生成映像的优先顺序,即当一个程序失效的时候会自动用另外方式,默认即可

把物理机环境打包到docker 物理机迁移到kvm_重启_11

10.选择生成映像参数,如果是windows系统一定选上“-rm-win-swap-hib”,以节省空间

把物理机环境打包到docker 物理机迁移到kvm_linux服务器p2v_12

11.选择压缩模式,可以根据自己的带宽,存储情况选择,我选择不压缩

把物理机环境打包到docker 物理机迁移到kvm_linux服务器p2v_13

12.如果选择了压缩系统会自动将压缩文件分解多个包,这里选择每个包的大小,如果只想生成一个包的话,就选择一个特别大的数值

把物理机环境打包到docker 物理机迁移到kvm_linux服务器p2v_14

13.选择映像制作完成后的客户端系统状态,根据自己需要选择,个人认为无关紧要

把物理机环境打包到docker 物理机迁移到kvm_把物理机环境打包到docker_15

14.其他的接下来基本上就是一路默认回车就可以了,等待镜像传输完成,可以在目标kvm上的/root下查看是否有之前定义的映像目录产生

四、配置映像,并生成虚拟机1.映像生成完毕后在KVM服务器上查看生成的映像文件cd  2014-10-16-15-img/      \\里面会包含很多文件

cp sda-mbr /vm/win/sda.img\\将分区表信息拷贝到要建立的虚拟机映像文件中

fdisk /vm/win/sda.img p\\查看新文件映像分区表信息是否和物理机一致

dd if=/dev/zero of=/vm/win/sda.img bs=1 count=0 seek=300G\\将映像文件设置为300G,不能小于物理机硬盘大小,\\seek使磁盘动态扩展,实际不会占用很大空间

2.通过virt-manager或vrit-install生成新虚拟机,并添加cdrom 通过Clonezilla的iso引导

重要:必须选中virtio,否则镜像还原后重启windows会蓝屏,因为不指定默认是IDE硬盘,但是系统本身是RAID磁盘,不是IDE硬盘模式virt-install -n "CentOS6.5" --vcpus 2 -r 512 \

--virt-type kvm \

--disk path=/VM/win/sda.img,bus=virtio cache=writeback \

--network bridge=br0,model=virtio \

--boot network,cdrom,hd,menu=on\

--graphics vnc\

--import

步骤与之前制作映像一样,只不过不是保存映像而是“还原映像文件到本地硬盘“

3.重启虚拟机验证恢复情况。查看镜像文件会发现,其文件不大。如果提示无法正常安装网卡,可以再次加载virtio-win光盘,安装网卡驱动

五、总结这基本上就是所有的步骤,每个人的环境多少会有差异,根据自己的实际情况可以做修改,不过一般的环境都是通用的。 linux的迁移相对简单一些,不过不用考虑驱动的问题,这样会更简单一些。