将vmplayer的虚拟机迁移到VirtualBox

话说我自己用虚拟机主要作用是测试我们应用在IE的兼容性以及部分桌面平台开发任务和网银,因此在linux下免费的就只有vmplayer/virtualbox适合我,xen/kvm在图形驱动和剪切板等支持上还是有待加强,毕竟这货并不是专业做面向桌面市场的。但是我本人并不喜欢VirtualBox,其代码质量一塌糊涂,能跑起来纯属巧合,不过vmplayer闭源的,代码质量好不好也没人知道。只是考虑到vmplayer功能不及VirtualBox而且每次升级系统总会有这那的问题,打算换到VirtualBox上。

按照网上的迁移方法实际上在我电脑上会出错,折腾了许久,碰巧给摸出方法来,记录下来,留给未来的自己和有需要的其他人。

第一步,从vmplayer中导出虚拟机:

[lexchou@localhost vmware]$ ovftool Windows7/Windows\ 7.vmx Windows7.ovf
Opening VMX source: Windows7/Windows 7.vmx
Opening OVF target: Windows7.ovf
Writing OVF package: Windows7.ovf
Transfer Completed                    
Completed successfully

第二步,打开VirtualBox,选择File -> Import Appliance,在对话框中选Open appliance,然后选中导出的Windows7.ovf,这个时候提示错误信息:

Failed to import appliance /home/lexchou/vmware/Windows7.ovf
Could not find a storage controller named 'SCSI Controller'.

Result Code: 
VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)
Component: 
SessionMachine
Interface: 
IMachine {22781af3-1c96-4126-9edf-67a020e0e858}

第三步,点ok,关闭这个对话框。然后新建虚拟机,Hard Drive选择 Do not add a virtual hard drive
第四步,将~/VirtualBox VMs/vm下刚才倒入的时候生成的一个vmdk文件移动到新建的虚拟机的目录里,然后修改新建的虚拟机的配置,在Storage里删掉Controller: SATA,然后添加一个SAS Controller,在这个SAS Controller下面导入刚才移动过来的vmdk文件,这个时候会提示添加失败,在Virtual Media Manager里删除对应的vmdk文件,然后重复前面的步骤在SAS Controller下面导入vmdk文件。
第五步,修改Display,将3D和2D加速打开,Video Memory改为128M,其他配置按需改动。
第六步,启动虚拟机,卸载VMware Tools,然后安装VirtualBox的Guest Additions,重启后搞定。


Last modified on 2013-07-27