首页 > *nix技术, 仿真虚拟, 内核技术 > 利用vm/kvm启动ghost镜像

利用vm/kvm启动ghost镜像

2012年5月12日 发表评论 阅读评论 10,251 次浏览

目前,kvm还不能直接启动ghost镜像,因为qemu支持的磁盘格式里还没有包含ghost,不过可以看到qemu已经支持vmdk,而利用symantec ghost工具恰好又能将ghost镜像转换为vmdk格式,所以虽然有点扭曲,不过利用kvm启动ghost镜像还是可行的。
首先,下载symantec ghost 11.5以上版本,如果在windows 32位环境里,那么可以在cmd里执行如下命令

d:\gqk>ghost32 -clone,mode=restore,src=ylmf.GHO,dst=ylmf.vmdk -batch -sure

应该有人看得出来,ylmf.GHO是雨林木风的绝作,xp的ghost镜像,这里就以它为例。目标后缀必须是vmdk,貌似ghost32是以这个后缀名来做识别的。转换后的vmdk默认是ide接口的,可以通过使用-VMDKADAPTER=ide或-VMDKADAPTER=lsiLogic或-VMDKADAPTER=busLogic来指定具体接口类型,vmdk的大小也可以通过-VMDKSIZE=16384来指定(这里指定为16GB),更具体的参数可以使用如下命令查看:

d:\gqk>ghost32 -clone,mode=restore,src=ylmf.GHO,dst=ylmf.ide.vmdk -batch -sure -VMDKADAPTER=ide -VMDKSIZE=16384
d:\gqk>ghost32 -clone,mode=restore,src=ylmf.GHO,dst=ylmf.lsiLogic.vmdk -batch -sure -VMDKADAPTER=lsiLogic -VMDKSIZE=16384
d:\gqk>ghost32 -clone,mode=restore,src=ylmf.GHO,dst=ylmf.busLogic.vmdk -batch -sure -VMDKADAPTER=busLogic -VMDKSIZE=16384
d:\gqk>ghost32.exe /?


结束后,自然将生成ylmf.vmdk,试试kvm启动的情况,把ylmf.vmdk拷贝到支持kvm的Linux机器上,执行:

[root@localhost ghost]# qemu-system-x86_64 -hda ylmf.vmdk -net none -m 1024 -daemonize -cpu host -smp 2 -vnc :1

vnc远程连接查看,很不幸,在进行Windows XP安装时宕机了:


嘛,出现这种情况在所难免,不过试了试用VMware Workstation启动这个ylmf.vmdk,从安装到启动一切都OK:

可能是kvm虚拟硬件也许并不在ylmf.GHO支持之内,或其他什么原因就不过于去追踪了,不过这里至少可以看出利用这种方法是可以做到利用kvm启动ghost镜像的。
如果vmdk文件很大,可以利用qemu-img将其转换为qcow2格式,一般情况下,qcow2将会变小:

qemu-img convert ylmf.vmdk -O qcow2 ylmf.qcow2

转载请保留地址:http://www.lenky.info/archives/2012/05/1628http://lenky.info/?p=1628


备注:如无特殊说明,文章内容均出自Lenky个人的真实理解而并非存心妄自揣测来故意愚人耳目。由于个人水平有限,虽力求内容正确无误,但仍然难免出错,请勿见怪,如果可以则请留言告之,并欢迎来讨论。另外值得说明的是,Lenky的部分文章以及部分内容参考借鉴了网络上各位网友的热心分享,特别是一些带有完全参考的文章,其后附带的链接内容也许更直接、更丰富,而我只是做了一下归纳&转述,在此也一并表示感谢。关于本站的所有技术文章,欢迎转载,但请遵从CC创作共享协议,而一些私人性质较强的心情随笔,建议不要转载。

法律:根据最新颁布的《信息网络传播权保护条例》,如果您认为本文章的任何内容侵犯了您的权利,请以Email或书面等方式告知,本站将及时删除相关内容或链接。