如何修改VirtualBox虚拟机VDI文件的UUID
在使用virtualbox虚拟机软件的时,可能您和博主一样,不想重复安装一个相同的系统。所以直接拷贝虚拟硬盘镜像文件(.vdi 文件)是最方便的创建虚拟系统的方式。
但是仅仅这样是不够的,您在创建过程中可能会遇到如下的情况。
打开 虚拟硬盘 F:\VirtualBox VMs\xp4.vdi 失败.
Cannot register the hard disk 'F:\VirtualBox VMs\xp4.vdi' {e4fa9f4f-9450-4609-b0d1-e56b93b7579c} because a hard disk 'F:\VirtualBox VMs\xp3.vdi' with UUID {e4fa9f4f-9450-4609-b0d1-e56b93b7579c} already exists.
返回 代码:E_INVALIDARG (0x80070057)
组件:VirtualBox
界面:IVirtualBox {3b2f08eb-b810-4715-bee0-bb06b9880ad2}
被召者 RC:VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)
根据错误提示,原来我们直接复制vdi文件是复制了一个完全相同的虚拟硬盘镜像文件,包括硬盘的UUID。相同uuid在virtualbox是不允许的。所以解决的方法是改变新复制vdi虚拟硬盘镜像文件的uuid。
最新virtualbox可以用这个命令:VBoxManage internalcommands sethduuid New.vdi 。
如果您使用的是VirutalBox 3.2 之前版本,命令格式为:VBoxManage internalcommands setvdiuuid New.vdi 。
当然,如果要复制一个vdi文件,最好是复制的同时可以对新的虚拟硬盘镜像文件重新生成新的uuid。
VBoxManage clonevdi Orig.vdi New.vdi
例如可以这样复制:VBoxManage clonevdi F:\VirtualBox VMs\xp4.vdi xp5.vdi 。
最后提醒下,VBoxManage博主直接使用是因为已经在windows的环境变量中加入了virtualbox的安装路径。