设为首页 收藏本站
查看: 1362|回复: 0

[经验分享] virtualBox虚拟机到vmware虚拟机转换

[复制链接]

尚未签到

发表于 2015-4-4 20:07:06 | 显示全部楼层 |阅读模式
  正如上篇的问题所言,测试了vmware player 还可以满足我的需求的以后,


以前在virtualbox下创建的几个虚拟机不想再重新创建了。想直接把virtualbox虚拟机转换为vmware虚拟机了事。



然而,大牛往往不兼容小牛,从vmware到virtualbox容易,网上有很多文档。如:

http://www.ubuntugeek.com/howto-convert-vmware-image-to-virtualbox-image.html



而且在创建virtualbox磁盘时,明显可以看到有vmdk的选项.



下面我们来实现virtualbox到vmware的转换:



这是我的virtualBox虚拟机目录:




lion@lion-SNS:~/VirtualBox VMs/Essex$ ll
总用量 1148156
drwxrwxr-x 4 lion lion       4096  2月  3 10:54 ./
drwxrwxr-x 8 lion lion       4096  2月  2 17:18 ../
-rw------- 1 lion lion      29683  2月  3 10:54 Essex.vbox
-rw------- 1 lion lion      29683  2月  2 17:19 Essex.vbox-prev
-rw------- 1 lion lion 1155567616 12月 20 16:16 Essex.vdi
drwx------ 2 lion lion       4096  2月  2 17:19 Logs/
drwx------ 2 lion lion       4096  2月  2 17:19 Snapshots/
-rw------- 1 lion lion   18919424  2月  3 10:54 SwiftDisk.vdi
-rw------- 1 lion lion    1134592  2月  3 10:54 VolumeDisk.vdi
  


使用命令qemu-img来转换磁盘格式:





qemu-img convert -f vdi -O vmdk Essex.vdi Essex.vmdk



根据磁盘大小,1G的大约1分钟可以完成:





lion@lion-SNS:~/VirtualBox VMs/Essex$ ll

总用量 2131104

drwxrwxr-x 4 lion lion       4096  2月  3 10:57 ./

drwxrwxr-x 8 lion lion       4096  2月  2 17:18 ../

-rw------- 1 lion lion      29683  2月  3 10:54 Essex.vbox

-rw------- 1 lion lion      29683  2月  2 17:19 Essex.vbox-prev

-rw------- 1 lion lion 1155567616 12月 20 16:16 Essex.vdi

-rw-r--r-- 1 lion lion 1061027840  2月  3 10:58 Essex.vmdk

drwx------ 2 lion lion       4096  2月  2 17:19 Logs/

drwx------ 2 lion lion       4096  2月  2 17:19 Snapshots/

-rw------- 1 lion lion   18919424  2月  3 10:54 SwiftDisk.vdi

-rw------- 1 lion lion    1134592  2月  3 10:54 VolumeDisk.vdi



使用vmware创建一个新的虚拟机,如果不想编辑vmware文件,最好创一个和磁盘名称相同的虚拟机(Essex):

DSC0000.png



创建好后,下一步我想大家也知道了,用转换过的Essex.vmdk替换vmware生成的Essex.vmdk即可.

当然,这里对我来说,因为有多块磁盘,如SwiftDisk.vdi,VolumeDisk.vdi,可能还要再转换其它磁盘,然后再另外挂载。



OK,完成.

下面是我启动3个虚拟机(每个都是4G内存), 宿主机的内存使用情况:

DSC0001.png



补充:

上面操作的前提是在virtualBox虚拟机没有创建快照的情况下,当已经创建了快照时,只转换根目录下的Essex.vdi是不行,这个状态可能只是在你第一次创建快照时的虚拟机状态。

而我要转换的虚拟机已经创建了三个快照:
DSC0002.png

在命令行下查看:
DSC0003.png



注意看图片中的虚拟机磁盘及快照的修改时间,很明显,最新的虚拟机状态应该是{911b7809-9730-4c01-a5f2-24866f02f8b0}.vdi 这个文件,

然而,直接转换{911b7809-9730-4c01-a5f2-24866f02f8b0}.vdi这个文件是不行的.提示没有权限:




lion@lion-SNS:~/VirtualBox VMs/Essex/Snapshots$ sudo qemu-img convert -f vdi -O vmdk \{911b7809-9730-4c01-a5f2-24866f02f8b0\}.vdi Essex.vmdk
[sudo] password for lion:
qemu-img: Could not open '{911b7809-9730-4c01-a5f2-24866f02f8b0}.vdi': Operation not permitted
qemu-img: Could not open '{911b7809-9730-4c01-a5f2-24866f02f8b0}.vdi'
  当然不是真的没有权限,而是virtualBox的快照是增量快照,这个快照需要依赖别的快照以及Essex.vdi文件。
  下面我们的工作是将多个快照合并为一个vdi文件.有两种方法:
  1. 删除中间快照。这个操作肯定不太好,万一以后要用呢。
  2. 利用VirtualBox的复制虚拟机功能,复制最新的快照状态为一个新的虚拟机:
DSC0004.png
  注意选择完全复制哦!
  复制出来一个Essex 副本:



root@lion-SNS:/home/lion/VirtualBox VMs/Essex 副本# ll
总用量 6866104
drwx------ 2 lion lion       4096  2月  3 15:00 ./
drwxrwxr-x 9 lion lion       4096  2月  3 14:56 ../
-rw------- 1 lion lion   18919424  2月  3 15:00 Essex 副本-disk1.vdi
-rw------- 1 lion lion    1134592  2月  3 15:00 Essex 副本-disk2.vdi
-rw------- 1 lion lion       7726  2月  3 15:00 Essex 副本.vbox
-rw------- 1 lion lion 7010816000  2月  3 15:00 Essex 副本.vdi
  下面的操作就一样了,转换此副本并替换我们用vmware创建的虚拟机文件:



qemu-img convert -f vdi -O vmdk Essex\ 副本.vdi Essex.vmdk
  至于virtualbox其它挂载的磁盘文件,可以单独转换后,移动到vmware目录,再通过vmware挂载即可.





qemu-img convert -f vdi -O vmdk SwiftDisk.vdi SwiftDisk.vmdk
qemu-img convert -f vdi -O vmdk VolumeDisk.vdi VolumeDisk.vmdk
mv *.vmdk ~/vmware/Essex/
chown lion.lion *.vmdk
DSC0005.png
  ok,下面启动vmware虚拟机,大功告成,剩下的有可能有网卡数量,光驱文件等不致可以通过vmware 管理器来配置。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-53868-1-1.html 上篇帖子: vmware之VMware Remote Console (VMRC) SDK(一) 下篇帖子: 通过桥接虚拟网卡使VMWare和宿主机实现双向通讯
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表