问题

问题

问题

我意外删除了位于 的快照文件<virtualbox-folder>/vms/<vm-name>/Snapshots。当我尝试启动虚拟机(其中 .vdi 文件完好无损)时,出现以下错误:

C:\Users\Administrator>"C:\Program Files\Oracle\VirtualBox\VBoxHeadless.exe" -st
artvm vmname
Oracle VM VirtualBox Headless Interface 4.3.24
(C) 2008-2015 Oracle Corporation
All rights reserved.

Error: failed to start machine. Error message: Could not open the medium 'C:\Pro
gram Files\Oracle\VirtualBox\vms\vmname\Snapshots/{5605a6c5-c4c2-45ef-b70e-62ccb
b104991}.vdi'.
VD: error VERR_PATH_NOT_FOUND opening image file 'C:\Program Files\Oracle\Virtua
lBox\vms\vmname\Snapshots/{5605a6c5-c4c2-45ef-b70e-62ccbb104991}.vdi' (VERR_PATH
_NOT_FOUND)

我可以从这个错误中恢复吗?


我尝试过的方法

.vbox删除文件中的快照信息

.vbox文件是一个 xml,包含有关虚拟机的元数据。我已删除此 xml 中的快照,但错误仍然存​​在。

不使用快照进行克隆

当我尝试通过 UI 克隆时right click > Clone... > Full clone > Current state出现同样的错误。

使用相同的方法创建新的虚拟机.vdi

这次尝试没有显示任何错误,但虚拟机就是没有加载。在 grub 屏幕之后,立即出现黑屏(虚拟机似乎冻结了)。


附加信息

  • 主机操作系统:Windows Server 2012 R2 Datacenter
  • 客户操作系统:Ubuntu Server 12.04 LTS(32 位)
  • Virtualbox 版本 4.3.24 r98716

答案1

不确定如何挽救旧的损坏的虚拟机,维护快照,但这里有一个可能的解决方法。创建一个没有磁盘的新虚拟机。然后使用虚拟盒管理克隆磁盘(它应该会自动找到所需的所有快照和其他内容……如果没有,请尝试qemu-img 转换),这将生成一个非快照副本(我认为……)。然后,您可以将这个新磁盘添加到新 VM 并启动新 VM。如果这不起作用(例如,当您启动时,它看起来像系统的旧版本),请尝试克隆快照磁盘而不是主磁盘。

答案2

虚拟盒现在允许您通过 GUI 修复此问题。单击 Global Tools 旁边的下拉箭头,选择 Virtual Media Manager。滚动到操作系统的 .vdi 硬盘并单击其左侧的箭头,现在应该会出现另一个 .vdi(现在缩进) (如果尚未出现),并带有黄色警告标志,单击新的 .vdi(它应该有一串数字作为名称)然后单击删除,忽略警告。然后它应该可以正常启动。

答案3

2021 更新:从现有 .vdi 创建新 VM 让我无需编辑 xml 文件或任何内容即可启动 vdi。(主机操作系统是 OSX,VM Win 10 - 希望没关系)

相关内容