VirtualBox无法注册已存在的硬盘

时间:2017-05-22 14:00:45

标签: virtualbox

我创建了一个虚拟磁盘文件 VM_1_Ubuntu.vdi 。然后我把它移到另一个文件夹中。我尝试更新虚拟机设置(右键单击虚拟机 - >设置 - >存储 - >控制器SATA选项卡, VM_1_Ubuntu.vdi 路径)。我想设置一条新路。

它说 无法注册已存在的硬盘

10 个答案:

答案 0 :(得分:175)

我找到了解决方案

档案 - >虚拟媒体管理器 - >删除了现有图像(注意,我只从注册表中删除了它们。)

我遵循了这些步骤。

http://www.webdesignblog.asia/software/virtualbox-moving-vdi-file-re-linking-guest/#sthash.1QOHeiw5.dpbs

之后我可以更新VM设置中的路径。

答案 1 :(得分:94)

可以使用以下命令更改VDI文件上的UUID:

{{1}}

看起来这个命令为文件分配了一个新的“随机”UUID。但是,关于它的文档不多。

注意:ABC的解决方案是一种解决方法,仅当您要删除具有相同UUID的现有磁盘时才有效。如果那个是坏的,那么是的,删除它,问题解决了。但是,这不是我的情况,因为我需要使用两个磁盘。

答案 2 :(得分:21)

  1. 从Oracle VM VirtualBox Manager中选择文件
  2. 虚拟媒体管理器
  3. 从“硬盘”选项卡中删除文件(突出显示为黄色)。

答案 3 :(得分:6)

这是解决方案 找到盒子的UUID

vboxmanage list hdds

然后删除

vboxmanage closemedium disk <uuid> --delete

答案 4 :(得分:4)

在某些情况下,首先需要发布,然后通过虚拟媒体管理器删除并重新添加

答案 5 :(得分:3)

如果没有可能使用虚拟媒体管理器删除或更改硬盘文件的路径(在我的情况下),那么:

  1. 打开&#39; .vbox&#39;和&#39; .vbox-prev&#39; (如果存在)任何文本编辑器中的文件。
  2. 编辑&#39; location&#39;元素属性&#39; HardDisk&#39;在你的道路上,例如:&#34; d:/VM/VirtualBox/Win10/Win10.vmdk" (screenshot)。

答案 6 :(得分:2)

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-重新启动计算机

答案 7 :(得分:2)

我非常感谢这里的建议。 Impaler和Oleg的评论帮助我提出了解决方案。

使用VBoxManage CLI。有一个带有--setlocation选项的Modifymedium命令。

我建议打开VBox GUI(在VM VirtualBox Manager 6.0上)
-选择“虚拟媒体管理器”(我使用“文件”菜单)
-选择磁盘的“信息”按钮,会出现此错误
-复制UUID
注意:在下一步之前,我已从“存储”设置中删除了控制器。
-打开命令提示符并导航到.vdi文件的位置
键入VBoxMange以查看选项列表是一个好主意,但这是要运行的命令:

VBoxManage modifymedium [在此处插入媒体类型] [UUID] --setlocation [.vdi文件的完整路径]

最后,将控制器重新连接到任何VM,最好是要修复的VM。

答案 8 :(得分:1)

在奋斗了几天之后终于找到了一个完美的解决方案。

Mac OS 打开〜/ Library文件夹(在您的主目录中),然后删除VirtulBox文件夹。这将删除所有配置,您可以再次启动虚拟盒!

其他 在主目录中查找.virtualbox文件夹。删除它并打开VirtualBox应该可以解决您的问题。

干杯!

答案 9 :(得分:0)

对我有用的解决方案如下:

  1. 确保VirtualBox Manager不在运行。
  2. 备份文件~\.VirtualBox\VirtualBox.xml~\.VirtualBox\VirtualBox.xml-prev
  3. 编辑这些文件以修改<HardDisks>...</HardDisks>部分以删除<HardDisk />的重复条目。
  4. 现在运行VirtualBox Manager。

示例:

  <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。其中之一无效,应将其删除。可以通过命中和审判来找出哪个无效-首先删除第二个条目并尝试;如果不起作用,请删除第三个条目。