我正在尝试使用已有的硬盘使用Oracle VirtualBox创建新的虚拟机。当我尝试选择现有的硬盘文件(.vhd文件)时,会显示一条错误消息,指出由于UUID已存在而无法使用虚拟硬盘。
所以我尝试了以下命令来更改其UUID。
VBoxManage internalcommands sethduuid /home/user/VirtualBox VMs/drupal/drupal.vhd
我收到此错误。
语法错误:无效的UUID参数
我该如何解决这个问题?
答案 0 :(得分:150)
正确的命令是以下命令。
VBoxManage internalcommands sethduuid "/home/user/VirtualBox VMs/drupal/drupal.vhd"
虚拟磁盘的路径包含空格,因此必须用双引号括起来,以避免将其解析为两个参数。
答案 1 :(得分:28)
以下对我有用:
运行 VBoxManage内部命令sethduuid" VDI / VMDK文件" 两次(第一次只是为了方便地生成UUID,您可以使用任何其他UUID生成方法代替)
在文本编辑器中打开 .vbox文件
使用您第一次运行sethduuid时获得的UUID替换计算机uuid =" {...}" 中的UUID
替换 HardDisk uuid =" {...}" 和图片uuid =" {}&#中找到的UUID 34; (到最后)使用第二次运行sethduuid时获得的UUID
答案 2 :(得分:10)
虽然你已经解决了这个问题,但我只是在这里发布了其他类似问题的原因。
原因是您的路径中有一个空格(目录名VirtualBox VMs
),它将分隔命令。所以出现错误。
答案 3 :(得分:10)
我在网上搜索了关于MAC OS的答案,所以..解决方案是
$('ul.standard').parent().siblings(".stepText").css(...your CSS here);
答案 4 :(得分:8)
如果您已将磁盘(vmdk文件)从一台计算机复制到另一台计算机并需要更改副本中的磁盘UUID,则无需像其他答案所建议的那样更改计算机UUID。
您需要做的就是为磁盘映像分配一个新的UUID:
VBoxManage internalcommands sethduuid your-box-disk2.vmdk
UUID changed to: 5d34479f-5597-4b78-a1fa-94e200d16bbb
然后将旧的UUID替换为* .vbox文件中两个位置新生成的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版本对我有用。 5.1.8在Mac OS X El Capitan上运行。
答案 5 :(得分:5)
该命令失败,因为它在其中一个文件夹名称中有空格, 即'VirtualBox VMs。
VBoxManage internalcommands sethduuid /home/user/VirtualBox VMs/drupal/drupal.vhd
如果文件夹名称或文件名没有空格,那么该命令即使不引用它也能正常工作, 例如将'VirtualBox VMs'更改为'VBoxVMs'后
VBoxManage internalcommands sethduuid /home/user/VBoxVMs/drupal/drupal.vhd
答案 6 :(得分:3)
即使这个问题已经陈旧,请注意更改Windows系统中虚拟硬盘上的UUID会使Windows将其视为未激活的计算机(因为它注意到磁盘更改)并要求重新激活!
答案 7 :(得分:3)
在cmd.exe
中,与Windows x64的@ Al3x相同的解决方案:
cd %programfiles%\Oracle\VirtualBox
VBoxManage internalcommands sethduuid "full/path/to/.vdi"
这将随机化磁盘的UUID。专家提示:按住shift键的同时在.vdi文件上单击鼠标右键,然后选择“复制为路径”以获得"full/path/to/.vdi"
并在cmd.exe中启用快速编辑,然后右键单击以粘贴。
答案 8 :(得分:2)
原始解决方案的另一种替代方法是在空格前使用转义字符\
:
VBoxManage internalcommands sethduuid /home/user/VirtualBox\ VMs/drupal/drupal.vhd