卡饭网 > ubuntu > 正文

Ubuntu下VirtualBox的vdi文件克隆方法

来源:本站整理 作者:梦在深巷 时间:2015-08-09 11:50:10

使用VirtualBox时遇到一个问题,我复制一个原来安装好OS的VDI文件,并用它来当作新虚拟机的系统磁盘。

但当我通过Virtual Disk Manager添加新虚拟磁盘时,VirtualBox提示了这样的错误信息:

A hard disk with UUID {966f9f2d-f670-42ca-8ac1-245b3d424339} or with the same properties ('D:/virtualbox/vb_winxp/winxp.vdi') is already registered.

VirtualBox命令详细可见:http://www.virtualbox.org/manual/UserManual.html

这个问题的解决方法:

1、可以针对已有.vdi 为其产生新的 uuid,语法是:

VBoxManage internalcommands setvdiuuid 已有.vdi

2、要想复制一个VDI再次使用,必须通过VboxManager命令实现,语法是:

VBoxManage clonevdi 已有.vdi 新建.vdi

3、将 vdi 转成 vmdk

VBoxManage clonehd 已有.vdi 新建.vmdk --format VMDK

4、VBoxManage命令有不少增强功能,可以参考UserGuide。

查看VDI文件信息 VBoxManage showvdiinfo 已有.vdi

压缩VDI文件体积 VBoxManage modifyhd vdi文件的uuid 或 已有.vdi --compact

VirtualBox 复制vdi文件和修改vdi的uuid

1、复制vdi文件:VBoxManage clonehd

因为VirtualBox不允许注册重复的uuid,而每个vdi文件都有一个唯一的uuid。所以要想拷贝一份vdi文件再次在VBOX中注册,简单的复制是不行的。此时我们需要用到命令VBoxManage clonehd,这个命令在克隆vdi文件时会给新文件设置一个uuid【注:要运行这个命令,先打开命令提示行,并进入到virtual box的安装目录】。事例如下:

代码如下:

D:/Program Files/Oracle/VirtualBox>VBoxManage clonehd "E:/VirtualBox/Ubuntu 12.04/Ubuntu 12.04.vdi" "E:/VirtualBox/Ubuntu 12.04/Ubuntu_12.04.vdi"

结果如下:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Clone hard disk created in format 'VDI'. UUID: cf70d484-a3f0-4a87-953b-d1c8ec602c59

2、修改vdi的uuid:VBoxManage internalcommands sethduuid

当出现两个vdi的uuid相同的错误时,可以使用命令VBoxManage internalcommands sethduuid修改vdi文件的uuid,事例如下:

代码如下:

D:/Program Files/Oracle/VirtualBox>VBoxManage internalcommands sethduuid E:/VirtualBox/Win7_Ultimate_SP1_1/Win7_Ultimate_SP1.vdi

结果如下:

UUID changed to: 3b5f507c-dda7-409c-a2ef-ee075435558d

但是当路径中有空格时,要对路径加上双引号,如下:

代码如下:

D:/Program Files/Oracle/VirtualBox>VBoxManage internalcommands sethduuid "E:/VirtualBox/Ubuntu 12.04.vdi"

结果如下:

UUID changed to: 04094fb4-0a42-413a-a25d-9d02d804bd2a

注:使用VBoxManage命令时,需要先在命令行中切换到VirtualBox的安装目录下。

相关推荐