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文件,新建一个虚拟机使用该虚拟磁盘就可以实现虚拟机的克隆。
转载请注明:
本文转自:http://www.liusuping.com/xunihua/virtualbox-guestos-clone.html
附加解决方法:
1、可以针对已有.vdi 为其产生新的 uuid,语法是:
VBoxManage internalcommandssetvdiuuid 已有.vdi
2、要想复制一个VDI再次使用,必须通过VboxManager命令实现,语法是:
VBoxManage clonevdi 已有.vdi新建.vdi
3、将 vdi 转成 vmdk
VBoxManage clonehd 已有.vdi 新建.vmdk--format VMDK
4、VBoxManage命令有不少增强功能,可以参考UserGuide。
解决 virtualbox 中 ubuntu 的eth0不见了上不了网?