这个快速提示将有助于修复“UUID 的硬盘已经存在”的问题 VirtualBox 在 Linux 中。 今天,我试图 将我的 Virtualbox VM 之一迁移到 KVM. 我运行以下命令将 virtualbox VDI 图像转换为 RAW 格式:
$ vboxmanage clonehd --format RAW /home/sk/VirtualBox VMs/CentOS 8 Server/CentOS 8 Server.vdi CentOS_8_Server.img
我收到了这个错误:
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%... Progress state: NS_ERROR_INVALID_ARG VBoxManage: error: Failed to clone medium VBoxManage: error: Cannot register the hard disk '/home/sk/CentOS_8_Server.img' {894f84e2-dda6-41ab-aea6-387bc60e0fe4} because a hard disk '/home/sk/CentOS_8_Server.img' with UUID {afff3db8-b460-4f68-9c02-0f5d0d766c8e} already exists VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBoxWrap, interface IVirtualBox VBoxManage: error: Context: "RTEXITCODE handleCloneMedium(HandlerArg*)" at line 1071 of file VBoxManageDisk.cpp
我删除了旧的 RAW 映像并尝试再次转换虚拟磁盘,但仍然出现相同的错误。
内容
修复“UUID 硬盘已存在”问题 VirtualBox
看了之后 VirtualBox 论坛,我找到了这个问题的实际原因。 几天前,我使用 vboxmanage 命令将相同的 VDI 虚拟磁盘转换为 RAW 格式,今天我删除了虚拟磁盘,但没有从 Virtualbox 媒体管理器中正确释放它。 所以Virtualbox盒子仍然认为有一个已经注册的具有相同UUID的虚拟磁盘退出并拒绝创建一个新的虚拟磁盘。 为了解决这个问题,我应该释放然后删除注册媒体。
我们可以通过两种方式释放和移除介质(硬盘或光盘):
- 使用 voxmanage 命令,
- 使用虚拟媒体管理器。
使用 Vboxmanage 命令发布媒体
要从命令行正确释放硬盘介质,请运行以下 vboxmanage 命令:
$ vboxmanage closemedium disk afff3db8-b460-4f68-9c02-0f5d0d766c8e
将此“afff3db8-b460-4f68-9c02-0f5d0d766c8e”UUID 替换为您实际磁盘的 UUID。 UUID 在错误消息本身中给出。
使用虚拟媒体管理器发布媒体
打开 VirtualBox 申请并前往 文件 -> 虚拟媒体管理器.