[TOC]
现象描述
收到同事求助,vbox启动报错,关于uuid的,后来各种修改文件,删除了.vbox重建无果,导致出现了问题,最终报错信息大致为:
Parent medium with UUID of the medium is not found in the media registry ('C:\Users\lenovo\.VirtualBox\VirtualBox.xml')
重新创建虚拟机无果。只要一添加现有虚拟盘就会报错。
网上未找到解决办法,遂记录用于参考。
解决思路
- 根据报错信息我们找到了VirtualBox.xml,查看了里面的内容,里面记录了相关虚拟机的uuid,但是由于我们这个vdi都无法读到vbox里,所以VirtualBox VMs目录下没有新建虚机的.vbox文件的记录。
- 查看我们正常的虚拟机,可以大概了解:VirtualBox.xml里记录的MachineEntry 的uuid这个是指向.vbox文件。
- 由于无法读取.vdi文件,所以我们改变了创建的方式,先创建一个空的虚拟机,此刻我们发现.vbox文件回来了。再次添加vdi虚拟盘发现,还是报同样错,因为我们.vbox里没有关于HardDisks的描述(指定路径),所以添加:
- <HardDisks>
<HardDisk uuid="{9570b9d5-f1a1-448a-10c5-e12f5285adad}" location="Y:/win102.vdi" format="VDI" type="Normal"/>
- cmd输入确认信息:
Y:\>VBoxManage showmediuminfo win102.vdi
UUID: 9570b9d5-f1a1-448a-10c5-e12f5285adad
Parent UUID: base
State: inaccessible
Access Error: UUID {4cd980c9-5c99-4962-b9cd-c1e63cf29600} of the medium 'Y:\win102.vdi' does not match the value {9570b9d5-f1a1-448a-10c5-e12f5285adad} stored in the media registry ('C:\Users\Lank\.VirtualBox\VirtualBox.xml')
Type: normal (base)
Location: Y:\win102.vdi
Storage format: VDI
Format variant: dynamic default
Capacity: 0 MBytes
Size on disk: 0 MBytes
Encryption: disabled
In use by VMs: w10 (UUID: 0a2d4591-d326-43f8-826a-6372513758ff)
通过上一步处理我们发现,此vdi已经In use by VMs了,而报错内容也已改为:UUID does not match the value stored in the media registry (‘C:\Users\lenovo.VirtualBox\VirtualBox.xml’);说明VMs已经对应上了。
- 根据报错修改.vbox里的信息:
<HardDisks>
<HardDisk uuid="{4cd980c9-5c99-4962-b9cd-c1e63cf29600}" location="Y:/win102.vdi" format="VDI" type="Normal"/>
</HardDisks>
<Image uuid="{4cd980c9-5c99-4962-b9cd-c1e63cf29600}"/>
注意上面是有两个地方要修改
- 命令确认:
Y:\>VBoxManage showmediuminfo win102.vdi
UUID: 4cd980c9-5c99-4962-b9cd-c1e63cf29600
Parent UUID: base
State: created
Type: normal (base)
Location: Y:\win102.vdi
Storage format: VDI
Format variant: differencing default
Capacity: 32768 MBytes
Size on disk: 11954 MBytes
Encryption: disabled
In use by VMs: w10 (UUID: 0a2d4591-d326-43f8-826a-6372513758ff)
- DONE