问题描述
我必须删除虚拟框.vhd文件。我现在正尝试从另一台计算机还原它们,但得到:
Virtual Box UUID {07c3.........} does not match the value {2c1b...}
stored in the media registry ('/home/durrantm/.VirtualBox/VirtualBox.xml')
如何克服?
最佳方案
这是修复此错误的原因(使用VirtualBox 4.3):
-
转到文件→虚拟媒体管理器
-
在“硬盘驱动器”选项卡中,您会在遇到问题的磁盘映像旁边看到一个红色的感叹号图标。选择它→发行→删除→关闭。
-
返回到VM和re-add磁盘的设置。
为防止将来出现此错误,请在删除虚拟磁盘映像文件之前,将其从虚拟介质管理器中删除:
-
转到文件→虚拟媒体管理器
-
在“硬盘驱动器”选项卡中,找到要删除的虚拟磁盘,然后选择它→“发行”→“删除”→“保留”(如果要永久删除,则选择“删除”)→“关闭”。
-
返回虚拟机的设置并读取磁盘。
次佳方案
只需尝试重命名虚拟磁盘文件。
对于最初通过VB向导创建的文件,然后在克隆另一个磁盘时被另一个工具覆盖的文件,我也遇到了同样的问题。因此,VB对特定路径下的磁盘文件有一些uuid假设。在我的情况下,它是一些whatever.vdi
文件,并将其重命名为whatever 2.vdi
解决了该问题。
第三种方案
从VM分离映像(在GUI或Webinterface中)
转到命令行
“ VBoxManage列表硬盘”
UUID:c153f127-8fd9-4dc2-bc8b-8e39a8bb8238父UUID:基本状态:不可访问类型:普通(基本)位置:/home/virtualbox/nas4free.vmdk存储格式:VMDK
“ VBoxManage closemedium磁盘c153f127-8fd9-4dc2-bc8b-8e39a8bb8238”
从VM重新挂载映像(在GUI或Webinterface中)
第四种方案
此错误消息表示磁盘映像中存储的UUID与.vbox文件中存储的UUID不匹配。使用十六进制编辑器打开磁盘映像。在开始时,您会看到一个纯文本字符串,例如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>
第六种方案
最后,最好的答案是删除这些虚拟机实例并重新安装它们。
我曾经尝试过re-installing Virtual Box本身,但这根本没有帮助,因为当我重新安装问题时仍然存在。这表明问题出在实例特定文件上。
因此,我使用该应用删除了它们中的每一个。
我还删除了我已安装的ie9和ie8的〜/.ievms中的所有相关文件(例如smae中的ie8中的ie8)。
然后,我使用以下脚本重新安装它们:
ie8:
curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | IEVMS_VERSIONS="8" bash
ie9:
curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | IEVMS_VERSIONS="9" bash