我创建了一个虚拟磁盘文件VM_1_Ubuntu.vdi。然后我把它移动到了另一个文件夹中。我试图更新虚拟机的设置(右键单击虚拟机->设置->存储->控制器SATA选项卡,VM_1_Ubuntu.vdi路径)。我想设置一个新路径。
它说 无法注册硬盘,因为已经存在
我创建了一个虚拟磁盘文件VM_1_Ubuntu.vdi。然后我把它移动到了另一个文件夹中。我试图更新虚拟机的设置(右键单击虚拟机->设置->存储->控制器SATA选项卡,VM_1_Ubuntu.vdi路径)。我想设置一个新路径。
它说 无法注册硬盘,因为已经存在
我找到了解决方案。
文件 -> 虚拟介质管理器 -> 删除现有镜像(注意,我仅从注册表中删除了它们)。
我按照这些步骤操作。
之后,我可以在虚拟机设置中更新路径。
VBoxManage internalcommands sethduuid <file.vdi>
以下是解决方案: 查找盒子的 UUID
vboxmanage list hdds
然后通过删除
vboxmanage closemedium disk <uuid> --delete
C:\Program Files\Oracle\VirtualBox
,然后在该目录中运行命令提示符。 - Hasanuzzaman Sattar非常感谢这里的建议。Impaler和Oleg的评论帮助我整合了我的解决方案。
使用VBoxManage CLI。有一个modifymedium命令,其中包含一个 --setlocation
选项。
建议打开VBox GUI(在VM VirtualBox Manager 6.0上)
- 选择“虚拟媒体管理器”(我使用了文件菜单)
- 选择给您此错误的磁盘的“信息”按钮
- 复制UUID
注意:在下一步之前,我将控制器从“存储”设置中删除。
- 打开您的命令提示符并导航到.vdi文件的位置
最好键入VBoxMange以查看选项列表,但这是要运行的命令:
VBoxManage modifymedium
[插入介质类型] [UUID] --setlocation
[完整的.vdi文件路径]
最后,将控制器重新附加到任何VM上--最好是您想要修复的VM。
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
更改以MB为单位的数字的大小,例如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"/>
To:
<HardDisks>
<HardDisk uuid="{3ebaa9b6-8318-4b81-b853-8f30dd278bdc}" location="/home/virtualbox/WindowsServer/WindowsServer.vdi" format="VDI" type="Normal"/>
7 - 重新启动设备
~\.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>
经过多日的努力,终于找到了一个完美解决方案。
Mac OS 打开您的主目录中的~/Library文件夹,并删除(移动到安全位置)VirtulBox文件夹。这将删除所有配置,您可以重新启动虚拟机!
其他系统 在您的主目录中查找 .virtualbox 文件夹。删除它并打开VirtualBox应该可以解决您的问题。
干杯!!