Answers:
我找到了解决方案
文件->虚拟媒体管理器->删除现有映像(请注意,我仅从注册表中删除了它们)。
我遵循了这些步骤。
之后,我可以更新VM设置中的路径。
可以使用以下命令更改VDI文件上的UUID:
VBoxManage internalcommands sethduuid <file.vdi>
似乎此命令为文件分配了一个新的“随机” UUID。不过,没有太多的文档。
如果无法使用Virtual Media Manager(在我的情况下)删除或更改硬盘文件的路径,则:
1-在任何文本编辑器中打开文件“ .vbox”和“ .vbox-prev”(如果存在),并替换Harddisk uuid的第一个字符(请注意,请在步骤6中还原此更改)
例: nano /home/virtualbox/WindowsServer/WindowsServer.vbox
更改:
<HardDisks>
<HardDisk uuid="{3ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>
至:
<HardDisks>
<HardDisk uuid="{2ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>
2-重新启动机器
4-停止虚拟机(如果已启动)
5-在终端上:
su vbox
cd /home/virtualbox/WindowsServer/
VBoxManage modifyhd WindowsServer.vdi --resize SIZE
exit
exit
将大小的大小更改为兆字节,例如80000(80GB)
6-在任何文本编辑器中再次打开文件“ .vbox”和“ .vbox-prev”(如果存在),并替换具有原始值的Harddisk uuid的第一个字符
例: nano /home/virtualbox/WindowsServer/WindowsServer.vbox
更改:
<HardDisks>
<HardDisk uuid="{2ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>
至:
<HardDisks>
<HardDisk uuid="{3ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>
7-重新启动机器
我非常感谢这里的建议。Impaler和Oleg的评论帮助我提出了解决方案。
使用VBoxManage CLI。有一个带有--setlocation
选项的modifymedium命令。
我建议打开VBox GUI(在VM VirtualBox Manager 6.0上)
-选择“虚拟介质管理器”(我使用“文件”菜单)
-为磁盘选择“信息”按钮,给您此错误
-复制UUID
注意:我删除了下一步之前,请从“存储”设置中选择控制器。
-打开命令提示符并导航到.vdi文件的位置。
键入VBoxMange以查看选项列表是一个好主意,但这是要运行的命令:
VBoxManage modifymedium
[在此处插入媒体类型] [UUID] --setlocation
[.vdi文件的完整路径]
最后,将控制器重新连接到任何VM,最好是要修复的VM。
适用于我的解决方案如下:
~\.VirtualBox\VirtualBox.xml
和~\.VirtualBox\VirtualBox.xml-prev
。<HardDisks>...</HardDisks>
部分以删除的重复条目<HardDisk />
。例:
<HardDisks>
<HardDisk uuid="{38f266bd-0959-4caf-a0de-27ac9d52e3663}" location="~/VirtualBox VMs/VM1/box-disk001.vmdk" format="VMDK" type="Normal"/>
<HardDisk uuid="{a6708d79-7393-4d96-89da-2539f75c5465e}" location="~/VirtualBox VMs/VM2/box-disk001.vmdk" format="VMDK" type="Normal"/>
<HardDisk uuid="{bdce5d4e-9a1c-4f57-acfd-e2acfc8920552}" location="~/VirtualBox VMs/VM2/box-disk001.vmdk" format="VMDK" type="Normal"/>
</HardDisks>
请注意,在以上片段中,最后两个条目引用相同的VM,但具有不同的uuid。其中之一无效,应将其删除。可以通过点击和尝试找出哪个无效-首先删除第二个条目并尝试;如果不起作用,请删除第三个条目。