Virtualbox提供了导出和导入虚拟机的功能。由于近期我发现Virtualbox虚拟机所在的分区空间紧张,所以打算把虚拟机转移到另外一个有空间的分区。体验了一下Virtualbox导出和导入功能,在此和大家分享一下经验。

首先,介绍一下在什么情况下需要导出和导入虚拟机。

1、有时候你需要和别人共享你的Virutalbox虚拟机,这样可以省去别人安装虚拟机和配置虚拟机的过程,节省大量时间。比如在项目组搭建开发环境的时候。
2、当你发现你虚拟机所在的分区没有足够的空间了,你需要把虚拟机转移到另外一个分区上面。

     那么怎么样导出虚拟机呢?这个操作比较简单,选择Virtualbox菜单栏上面的“控制”菜单项-“导出虚拟电脑…”,然后根据选项,保存导出的数据就好了。根据文档描述,导出的数据是标准的格式,理论上可以和其他的虚拟机(比如VMWare等)共享。另外需要注意,导出的数据比较大,请确保你有足够的空间存放导出数据。

     导入数据同样是在菜单栏下面选“导入虚拟电脑…”。但是在我的Windows平台上面出现了问题,我的Vbox版本是3.2.8。当根据提示选择了需要导入的虚拟机数据之后,出现如下对话框:

根据这个对话框的提示和文档中的描述,双击对应的项目就可以修改导入虚拟机的设置。我现在需要修改的是虚拟硬盘的位置,然后点击完成。最后发现导入虚拟机的虚拟硬盘还是位于默认目录下面,我的Virtualbox默认路径是C:\Users\Simon\.VirtualBox\HardDisks\。我觉得这应该是Virtualbox的一个问题。

     为了解决这个问题,我只好修改Virtualbox的虚拟硬盘默认路径,选择Virtualbox菜单栏“控制”-“全局设定…”。全局设定对话框中选择“常规”页。界面如下:

修改“默认虚拟硬盘位置”项目为你导入虚拟机的目标位置。

     再次根据上述描述导入虚拟机,将会发现顺利完成,并且引导起来和原来的系统一模一样。如果这步你出现问题,请你根据提示检查Virtualbox数据目录下的VirtualBox.xml(我的系统中这个文件位于:C:\Users\Simon\.VirtualBox\)。这个XML文件还是比较容易理解的,稍微修改一下,然后重启Vbox即可修复。