VirtualBox – Cannot Register the Hard Drive Because a Hard Drive with UUID Already Exists

今天从其他电脑拷贝了一个virtualbox的虚机,在本机启动,采用注册的方式启动,报如下错。

 

VirtualBox – Cannot Register the Hard Drive Because a Hard Drive with UUID Already Exists
未能打开位于 E:/ubuntu1404_stack_new/ubuntu1404_stack_new.vbox 的虚拟电脑。

Cannot register the DVD image 'C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso' {18f6c85b-ff35-449c-ae92-e193e2687a40} because a CD/DVD image 'C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso' with UUID {adbd1781-57b7-48bf-a04d-88821971cc24} already exists.

返回 代码:E_INVALIDARG (0x80070057) 
组件:VirtualBoxWrap 
界面:IVirtualBox {0169423f-46b4-cde9-91af-1e9d5b6cd945}

 

1.打开虚拟机时报硬盘UUID 已经存在: 
错误信息:

Cannot register the hard disk 'F:\VirtualBox VMs\cl-11r2-rac2\cl-11r2-rac2.vdi' {cc59aac5-a2e6-4f39-b441-04d1ff29acd2} because a hard disk 'F:\VirtualBox VMs\cl-11r2-rac1\cl-11r2-rac1.vdi' with UUID {cc59aac5-a2e6-4f39-b441-04d1ff29acd2} already exists.

解决方法:

进入cmd cd 到 VirtualBox 安装目录:

cd C:\Program Files\Oracle\VirtualBox

然后指定物理文件(vbox虚拟磁盘文件),执行如下命令:

VirtualBox – Cannot Register the Hard Drive Because a Hard Drive with UUID Already Exists

VBoxManage internalcommands sethduuid "D:\VirtualBox VMs New\区块链docker_E\区块链docker_E_N.vhd" UUID changed to: 7db19c60-8c71-456b-a81c-d263a4988230

更改成功后删除vbox虚拟磁盘文件目录下的*.vbox-prev 文件和C:\Users\Administrator\.VirtualBox 下的VirtualBox.xml和VirtualBox.xml-prev文件,用记事本打开虚拟机目录下的 *.vbox 文件,修改如下信息

<MediaRegistry> 
      <HardDisks> 
        <HardDisk uuid="{bfdcadf6-b88d-4224-a5ff-673f1ca3f413}" location="cl-11r2-rac2.vdi" format="VDI" type="Normal"/> 
更改为: 
<HardDisk uuid="{7db19c60-8c71-456b-a81c-d263a4988230}" location="cl-11r2-rac2.vdi" format="VDI" type="Normal"/> 
</HardDisks><DVDImages/><FloppyImages/> 
</MediaRegistry>

接往下找到    </StorageControllers> 节点 
<AttachedDevice type="HardDisk" port="0" device="0"> 
<Image uuid="{bfdcadf6-b88d-4224-a5ff-673f1ca3f413}"/> 改为:<Image uuid="{7db19c60-8c71-456b-a81c-d263a4988230}"/> 
</AttachedDevice>

有多个磁盘时注意磁盘顺序,虚拟机主磁盘通常port="0" ; 
注意要删除C:\Users\Administrator\.VirtualBox 下的VirtualBox.xml和VirtualBox.xml-prev文件,因为默认情况下虚拟机打开时会读取这两个文件,更新和同步虚拟机目录下的*.vbox和*.vbox-prev文件,这样会导致修改的内容被覆盖,修改无效。

效果图

VirtualBox – Cannot Register the Hard Drive Because a Hard Drive with UUID Already Exists

VirtualBox – Cannot Register the Hard Drive Because a Hard Drive with UUID Already Exists