Vmware Workstation可以提供虚拟机的克隆,可以安装好虚拟机之后可以非常方便的复制一个虚拟机,这样在搭建多台虚拟机的环境下非常方便,无需一台台的安装系统,但是Virtualbox在图形界面下却没有这个功能。

在VirtualBox的快速修复界面里,可以随时生成当前状态的备份。当生成了备份之后,会在Snapshots目录下创建一个新的VDI文件,之后对当前状态所做的一切操作都将针对最新的VDI文件,而VDI目录下的初始VDI文件就不会再改变了。

一般在装好Guest OS并做完打补丁、安装常用软件等操作后就创建一个备份,如果Guest OS发生了问题可以随时恢复到干净的系统。但是有时需要在不同的软件环境下做不同的事情,开始时我希望能用一个VDI文件生成两个不同的备份并分别配置成不同的环境,但是发现VirtualBox的备份是线性的,也就是说只能针对当前状态做一个备份,而恢复备份时也只能恢复到上一个备份的状态,不能同时存在两个不同的当前状态。

没有办法,只能把初始的VDI文件复制出来一份用于另外的环境。但是很快发现,复制出来的VDI文件无法在虚拟介质管理器中注册,因为每个VDI文件都有一个唯一的uuid,而VirtualBox不允许注册重复的uuid。

Virtualbox虽然在图形界面下没有主机克隆的功能,但是在命令行下还是提供这个功能的,在virtualbox的安装目录下执行"VBoxManage clonevdi"命令。

Virtualbox默认安装目录:C:\Program Files\Oracle\VirtualBox\

Virtualbox克隆命令格式 “VBoxManage clonevdi 原始VDI文件名 新的VDI文件名”

C:\>cd "Program Files\Oracle\VirtualBox\
C:\Program Files\Oracle\VirtualBox>VBoxManage clonevdi "windows 2003.vdi" "windo
ws 2003-2.vdi"
Oracle VM VirtualBox Command Line Management Interface Version 3.2.0
(C) 2005-2010 Oracle Corporation
All rights reserved.0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: e5ba214a-1cdd-4fd7-b68c-7026bb616
d41C:\Program Files\Oracle\VirtualBox>

执行完VBoxManage clonevdi 命令后会在Virtualbox的默认虚拟磁盘目录下生成一个新的vdi文件,新建一个虚拟机使用该虚拟磁盘就可以实现虚拟机的克隆。