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使用vboxmanage clonehd实现虚拟机克隆