Answers:
正确的命令是以下命令。
VBoxManage internalcommands sethduuid "/home/user/VirtualBox VMs/drupal/drupal.vhd"
虚拟磁盘的路径包含一个空格,因此必须将其用双引号引起来,以避免将其解析为两个参数。
以下为我工作:
两次运行VBoxManage internalcommands sethduuid“ VDI / VMDK文件”(第一次只是为了方便地生成UUID,您可以改用任何其他UUID生成方法)
在文本编辑器中打开.vbox文件
用第一次运行sethduuid时获得的UUID 替换在计算机uuid =“ {...}”中找到的UUID
用第二次运行sethduuid时获得的UUID 替换Harddisk uuid =“ {...}”和Image uuid =“ {}”(最后)中找到的UUID
如果您已将磁盘(vmdk文件)从一台计算机复制到另一台计算机,并且需要在副本中更改磁盘的UUID,则无需按照另一答案的建议更改计算机UUID。
您需要做的就是为磁盘映像分配一个新的UUID:
VBoxManage internalcommands sethduuid your-box-disk2.vmdk
UUID changed to: 5d34479f-5597-4b78-a1fa-94e200d16bbb
然后在* .vbox文件中的两个位置中,用新生成的UUID替换旧的UUID
<MediaRegistry>
<HardDisks>
<HardDisk uuid="{5d34479f-5597-4b78-a1fa-94e200d16bbb}" location="box-disk2.vmdk" format="VMDK" type="Normal"/>
</HardDisks>
和在
<AttachedDevice type="HardDisk" hotpluggable="false" port="0" device="0">
<Image uuid="{5d34479f-5597-4b78-a1fa-94e200d16bbb}"/>
</AttachedDevice>
它为VirtualBox ver。对我有用。5.1.8在Mac OS X El Capitan上运行。
file -> Virtual Media Manager
在机器设置上和机器设置上均以正确的UUID 正确显示,我仍然遇到“查询UUID失败”的错误
1. re-installing virtual box using synaptic package manager
然后2. In the virtual box machine configuration, I did not disable the Floppy disk and EFI Setting. I kept them enabled.
该问题已解决。
我已经在网上搜索了有关MAC OS的答案,所以..解决方案是
cd /Applications/VirtualBox.app/Contents/Resources/VirtualBoxVM.app/Contents/MacOS/
VBoxManage internalcommands sethduuid "full/path/to/vdi"