VirtualBox使用vboxmanage clonehd实现虚拟机克隆

Posted 奋斗的小鸟_oracle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VirtualBox使用vboxmanage clonehd实现虚拟机克隆相关的知识,希望对你有一定的参考价值。

问题背景:
由于开发需要,我就想克隆1个或N个虚拟机,一般在装好Guest OS并做完打补丁、安装常用软件等操作后都会创建一个备份,如果Guest OS发生了问题可以随时恢复到干净的系统。但是有时需要在不同的软件环境下做不同的事情,开始时我希望能用一个VDI文件生成两个不同的备份并分别配置成 不同的环境,但是发现VirtualBox的备份是线性的,也就是说只能针对当前状态做一个备份,而恢复备份时也只能恢复到上一个备份的状态,不能同时存 在两个不同的当前状态。没有办法,只能把初始的VDI文件复制出来一份用于另外的环境。但是很快发现,复制出来的VDI文件无法在虚拟介质管理器中注册, 因为每个VDI文件都有一个唯一的UUID,而VirtualBox不允许注册重复的
UUID。

解决方法:

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

下面以我自己的实践过程为例说明下具体克隆过程:

1. 进入命令提示符:开始--运行---cmd

2. 切换到VirtualBox默认安装目录:

C:\\Users\\Administrator>  D:
D:\\Program Files\\Oracle\\VirtualBox\\

3. 执行VirtualBox克隆命令开始克隆,该克隆命令的具体格式如下:

 VBoxManage clonevdi   "/oldpath/to/VDI文件名" "/newpath/to/VDI文件名"

D:\\Program Files\\Oracle\\VirtualBox>VBoxManage clonehd  "D:/virtual-os/ubuntu.vdi"   "D:/virtual-os/ubuntu_2.vdi"
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Clone hard disk created in format 'VDI'. UUID: 85f8934b-a29a-43a6-8262-7134b40bdfeb


4. 执行完VBoxManage clonevdi 命令后会在Virtualbox的指定目录下生成一个新的vdi文件(我这是ubuntu_2.vdi),然后新建一个虚拟机使用该虚拟磁盘就可以实现虚拟机克隆


学习总结:
1.  注意
: 执行命令 vboxmanage  clonehd 时命令vboxmanage后面不需要加.exe后缀
2.  你可能克隆的时候回遇到如下图所示错误:


产生的原因是Vbox处于运行状态或休眠状态,所以只要关闭Vbox这个问题就解决啦~~
3. 
vboxmanage是一个很有用的工具,使用它还可以对vdi文件进行压缩:
vboxmanage modifyhd ubuntu.vdi --compact
4. 同一个Virtualbox软件里不可直接复制vdi文件再次使用,若要将vdi文件复制重用, 必须采用clone命令:
vboxmanage clonehd /path/to/old.vdi  /path/to/new.vdi
5. 老版本的Virtualbox使用clonevdi参数,新版本改用clonehd
参数


以上是关于VirtualBox使用vboxmanage clonehd实现虚拟机克隆的主要内容,如果未能解决你的问题,请参考以下文章

VirtualBox与镜像文件

VirtualBox使用vboxmanage clonehd实现虚拟机克隆

Vboxmanage改动uuid报错的解决的方法

linux命令行下使用vboxmanage安装linux系统

转载:使用命令行启动VirtualBox虚拟机

使用命令行启动VirtualBox虚拟机