从备份恢复 Virtualbox 快照

从备份恢复 Virtualbox 快照

我有一个来自备份的 .SAV 和 .VHD 文件。由于创建这些文件时使用了恢复快照功能,因此按照设计,这会删除自创建快照以来的所有内容。但是我现在需要访问快照中的数据。

有没有办法使用.sav 和相关的 vhd 文件来恢复虚拟机?

答案1

经过多次探索我发现这是可能的!

注意:我没有使用 XML 的经验,因此请原谅我的术语......此外,在进行任何建议的更改之前,请备份所有配置文件。

我在 VirtualBox 文档或任何网站上都找不到对此的任何引用。如果有人遇到同样的问题,以下是我解决问题的步骤:

  1. 我关闭了虚拟机并复制了 VirtualBox 目录,其中包含所有虚拟机文件夹和配置文件。
  2. 创建了相关机器的新快照
  3. 创建快照后,将 VirtualBox 文件夹的副本与原始文件夹进行比较,以查看所做的更改。

我很高兴看到这些变化相当简单。要从备份中恢复快照,我:

  1. 从 VirtualBox 文件夹中打开 VirtualBox.xml 文件,找到名为
  2. 在该节点下,我找到了想要添加快照的虚拟机的子节点 - 您可以通过 VHD 文件的名称来判断。
  3. 由于我添加的用于比较目录的临时快照不再需要,因此我找到了创建该快照的文件夹并用备份中的快照替换它。
  4. 然后,我修改了包含临时快照信息的行,将临时快照的 uuid 更改为来自备份的快照的 uuid,并更改了快照文件的名称。该部分如下所示:

请注意,uuid 与快照文件名相同,如果您需要找出 uuid 是什么,只需复制并粘贴快照文件名(不带扩展名)。

  1. 这就是 VirtualBox.xml 文件,保存并关闭它。现在从虚拟机目录中打开 MachineName.xml 文件
  2. 向下滚动到与此类似的部分:

  1. 将临时快照的 uuid 替换为备份快照的 uuid。
  2. 保存文件并关闭

这对我来说很管用。机器启动正常,快照从备份中恢复,所有数据都恢复了!

答案2

为了恢复一个死人VirtualBox 虚拟机从其.sav 文件我做了以下操作(Windows 7 上为 5.1.28):

(1)在 VBox GI 中克隆旧 VM

进入新目录

(2)获取虚拟机 uuid

使用编辑器打开克隆的 .vbox 文件并从以以下内容开头的行复制 uuid

     Machine uuid={"uuid of your vm

(不带花括号)

(2)使用最新的 .sav 文件恢复虚拟机

采用此路径到您的环境中:

    cd C:\Program Files\Oracle\VirtualBox
    VBoxManage.exe adoptstate <VM uuid> <path to latest .sav file>

重启虚拟机

相关内容