我这里有两个无法访问的虚拟机,我完全不确定如何解决这个问题,而且不想弄乱我的任何文件。
我发现了一个网上的帖子关于这一点,但它特定于 Windows。我正在使用 Ubuntu。
我已经拍摄了多个快照,其中有一个是在故障发生前一分钟拍摄的,有什么办法可以恢复这些虚拟机吗?
这些是每台机器的最新快照:
该问题是在电源故障期间备份时开始的,所以我的猜测是正在加载的最新快照未完成并导致了这个问题。
我该怎么做才能解决这个问题?有工具吗?我必须手动编辑 XML 文件并删除哪些文件吗?(“devubuntu” 的 xml 文件:http://pastebin.com/KhL9831v)
答案1
答案是纠正 XML 文档。
例如,使用 DevUbuntu VM 时,无法加载{cfc46381-ba33-462a-b1e5-426541791c40}
,这种情况在文档中只出现过一次,就在结尾处:
<StorageControllers>
<StorageController name="IDE Controller" type="PIIX4" PortCount="2">
<AttachedDevice type="HardDisk" port="0" device="0">
<Image uuid="{cfc46381-ba33-462a-b1e5-426541791c40}"/>
</AttachedDevice>
</StorageController>
</StorageControllers>
这是它尝试加载的驱动器,它未能成功生成自己的备份快照,但最终还是被修改为 XML。修复方法是用最后一个工作映像替换此 UUID,如果您不确定,请替换它并从 VM 管理器单击“刷新”,这将导致出现此错误,或者,如果您有正确的映像,则不会出现错误(在我的情况下,在 Windows 7 上,关闭管理器)。
然后您可以启动虚拟机,并像平常一样拍摄另一个快照。
建议:制作快照时备份您的 XML 文件。
答案2
要将当前机器恢复到以前的快照,请打开 VirtualBox,选择虚拟机,然后单击“快照”选项卡。右键单击“当前状态”图标并选择“恢复到当前快照”,这将使虚拟机恢复到您拍摄的最新快照。
但是,请先阅读这篇文章:VirtualBox 快照管理器很烂。
它包含一些你应该非常重视的警告。
我建议首先对您的虚拟机进行完整备份,这也不是一项简单的任务。