我不得不删除我的虚拟盒子 .vhd 文件。我现在正试图从另一台机器上恢复它们,但得到:
Virtual Box UUID {07c3.........} does not match the value {2c1b...}
stored in the media registry ('/home/durrantm/.VirtualBox/VirtualBox.xml')
如何克服?
我不得不删除我的虚拟盒子 .vhd 文件。我现在正试图从另一台机器上恢复它们,但得到:
Virtual Box UUID {07c3.........} does not match the value {2c1b...}
stored in the media registry ('/home/durrantm/.VirtualBox/VirtualBox.xml')
如何克服?
这是为我解决此错误的原因(使用 VirtualBox 4.3):
为防止将来出现错误,在删除虚拟磁盘映像文件之前,请从 Virtual Media Manager 中删除它们:
只需尝试重命名虚拟磁盘文件。
对于首先通过 VB 向导创建的文件,然后在克隆另一个磁盘时被另一个工具覆盖,我遇到了同样的问题。因此,VB 对特定路径的磁盘文件有一些 uuid 假设。在我的情况下,它是一个whatever.vdi
文件并重命名它以whatever 2.vdi
解决问题。
从您的 VM 中分离图像(在 GUI 或 Web 界面中)
转到命令行
“VBoxManage 列出硬盘”
UUID:c153f127-8fd9-4dc2-bc8b-8e39a8bb8238 父UUID:基本状态:不可访问类型:正常(基本)位置:/home/virtualbox/nas4free.vmdk 存储格式:VMDK
“VBoxManage closemedium 磁盘 c153f127-8fd9-4dc2-bc8b-8e39a8bb8238”
重新附加来自 VM 的映像(在 GUI 或 Web 界面中)
此错误消息意味着存储在磁盘映像中的 UUID 与存储在 .vbox 文件中的 UUID 不匹配。使用 HEX 编辑器打开磁盘映像。在开始时,您可以看到一个纯文本字符串,例如 ddb.uuid.image="xxxx"。使用文本编辑器打开 .vbox 文件。您还可以在其中找到 UUID,它们看起来像 <Harddisk uuid="{xxxxx}"。编辑 .vbox 文件以匹配图像文件中的 UUID。
此错误消息显然具有误导性。
另一个解决方案,对我来说很好,来自http://michlstechblog.info/blog/virtualbox-no-boot-after-snapshot-efail-0x80004005/#more-2400
从 uuidCreation 字段值
vboxmanage internalcommands dumphdinfo <path/to/parent/of/erroneous/snapshot.vdi>
<correct_parent_uuid>
并在以下命令中使用它来替换
vboxmanage internalcommands sethdparentuuid <path/to/erroneous/snapshot.vdi> <correct_parent_uuid>
尝试使用 VBoxManage 命令来识别、分离和删除磁盘。
看看这个链接。希望它可以帮助您解决这个令人讨厌的错误。
最后,最好的答案是删除这些 vm 实例并重新安装它们。
我曾尝试重新安装 Virtual Box 本身,但这根本没有帮助,因为当我重新安装时问题仍然存在。这表明问题出在实例特定文件上。
所以我使用该应用程序删除了它们中的每一个。
对于我安装的 ie9 和 ie8,我还在 ~/.ievms 中删除了任何相关文件(ie8 的 smae 中的 egie8)。
然后我使用这些脚本重新安装它们:
即8:
curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | IEVMS_VERSIONS="8" bash
即9:
curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | IEVMS_VERSIONS="9" bash
实际上,我遇到了同样的问题,我VM
在本地 HD 上进行了克隆,然后将克隆的图像移动到我的外部 HD,然后出现错误。
我用以下解决方案解决了这个问题:
如果你打开: file>> virtual media manaager
: 在硬盘菜单中你最终会找到路径正确的虚拟硬盘:D
我希望我的演示清晰易懂。
使用标准文本编辑器打开文件.VirtualBox/VirtualBox.xml
并将所有出现的 UUID 值编辑2c1b...
为07c3.........
.
在编辑之前关闭 VirtualBoxVirtualBox.xml
以避免您的更改被 VirtualBox 覆盖。
列出所有无法访问的 UUID 的第一行:
VBoxManage list hdds | grep -B 2 -e "inaccessible" | grep -e "^UUID:" | sed "s/UUID:\s*//g"
清除所有无法访问的 UUID 的第二行:
VBoxManage list hdds | grep -B 2 -e "inaccessible" | grep -e "^UUID:" | sed "s/UUID:\s*//g" | xargs -I {} VBoxManage closemedium disk {}
我试图从同一个 VM 文件的 2 个单独副本创建 2 个 VM。ubuntu.vdi 是原始vdi
文件,其 VM 名称为
ubuntu
. 该vdi
文件的第二个副本也被命名ubuntu.vdi
,但属于另一个VM
名为ubuntu_notworking
. 我试图调出两个 VM 的原因是因为两个 VM 之间发生了一些变化。VM ubuntu
VM 工作正常,但没有
ubuntun_notworking
工作,我想同时调出两个 VM 并比较这两个 VM 以检查发生了什么变化。然而,同时提出这两个问题是很困难的,VirtualBox 反复抱怨
C:\Users\username\.VirtualBox\VirtualBox.xml
.xml 文件中的 UUID 和
C:\Users\username\VirtualBox VMs\ubuntu
.
使用以下任一选项备份您的 VM 文件夹:
复制文件夹是最快的,但有一些边缘情况,例如当您尝试从同一个基本vdi
文件创建 2 个 VM 时。
.vbox
文件并启动 VM。VirtualBox 会抱怨文件中的 uuid 之间存在冲突.vbox
。更改 UUID:使用 VBoxManage internalcommands sethduuid "C:\Users\username\VirtualBox VMs\ubuntu_notworking\ubuntu.vdi"
https://stackoverflow.com/avdi
更改刚刚复制到文件夹中
的文件的 UUID /47374208/4752883VirtualBox VMs
重复完全相同的命令以获取第二个 UUID: https ://stackoverflow.com/a/36327937/4752883
更改Machine uuid
:
打开.vbox
文件并找到Machine uuid
uuid 文件并将其更改为您在步骤 #5 中找到的文件
更改Harddisk uuid
and Image uuid
:
找到Harddisk uuid
andImage uuid
并将 uuid 更改为您在步骤#6 中找到的内容。
对要创建的第二个 VM 重复步骤# 3-8:
转到 C:\Users\username.VirtualBox\ 并打开VirtualBox.xml
文件。
更改文件夹Machine uuid
中的.VirtualBox
:C:\Users\username\VirtualBox
VMs\ubuntu_notworking
从第 5 步开始。对于与“C:\Users\username\VirtualBox VMs\ubuntu”对应的机器 ID,将机器更改为您在步骤 #9 中生成的第一个 UUID。
<DVDImages>
<Image uuid="{fsfasd98-c1a6-42d9-82aa-67728bsdhd53}" location="C:/Program Files/Oracle/VirtualBox/VBoxGuestAdditions.iso"/>
</DVDImages>
https://stackoverflow.com/a/36857344/4752883
一旦按照上述步骤(!!!),您应该能够从同一vdi
文件的副本启动 2 个 VirtualBox 虚拟机。
将来不要复制文件夹,而是使用创建ova
文件的方法。
我尝试了上述所有这些解决方案,但只有@Niklas Peter 的解决方案对我有用。
就我而言,该错误声称硬盘驱动器的 uuid 与注册表中的 uuid 不匹配(多么奇怪的虚拟盒错误!)。即使我将它分离并重新连接,同样的错误仍然存在。
最后我复制了硬盘并给它起了一个新名字,并从中创建了一个新的VM,遇到了相同uuid已经存在的错误,所以我使用以下命令更改uuid:
VBoxManage internalcommands sethduuid "D:\VM\MyKyLin\MyKyLin.vhd"
UUID changed to: 741da151-548a-4e3c-87bf-2725f77c683d
然后我继续从中创建新的虚拟机。并成功启动!
当我进入菜单:文件→虚拟媒体管理器时,硬盘驱动器选项是空白的,所以没有什么可以删除/释放。
我将错误文本复制并粘贴到gedit
并很好地格式化了行:
Machine UUID {89b61270-7d52-483c-bd40-2f14d6905c72}
- in '/home/rick/VirtualBox VMs/Lubuntu 16.04/Lubuntu 16.04.vbox' doesn't match its
UUID {3ca76efb-a497-42da-852c-da97a74b421b}
- in the registry file '/home/rick/.config/VirtualBox/VirtualBox.xml'.
然后我将最后一行中的文件名复制并粘贴到 gedit 的文件打开提示中。这是 Gedit 新打开的第二个文件窗口的顶部:
<?xml version="1.0"?>
<!--
** DO NOT EDIT THIS FILE.
** If you make changes to this file while any VirtualBox related application
** is running, your changes will be overwritten later, without taking effect.
** Use VBoxManage or the VirtualBox Manager GUI to make changes.
-->
<VirtualBox xmlns="http://www.virtualbox.org/" version="1.12-linux">
<Global>
<ExtraData>
<ExtraDataItem name="GUI/DetailsPageBoxes" value="general,system,preview,display,storage,audio,network,usb,sharedFolders,description"/>
<ExtraDataItem name="GUI/GroupDefinitions/" value="m=3ca76efb-a497-42da-852c-da97a74b421b"/>
gedit
发出文件已更改的警告,请单击Reload按钮。.config/VirtualBox/VirtualBox.xml
现在在第二个 gedit 打开的文件窗口中使用搜索和替换Ctrl+ H。它要求一个搜索字符串。
现在可以使用复制的图像正常工作,但是我忘记将 Guest Additions 安装到新的 VirtualBox。
为什么所有这些麻烦而不是export
从源机器和import
目标机器上使用?好吧,源机器被Ubuntu Desktop和apt-get堵住了,所以我不得不将../VirtualBoxVM
文件夹复制到Ext4格式的 USB 记忆棒上。默认FAT格式的文件系统不起作用,因为 VB 磁盘映像大于 4 GB。我也可以选择NTFS文件系统类型,但我已经有很多这样的 USB 记忆棒,想尝试一些不同的东西。