mrmike Asked: 2009-06-10 07:54:20 +0800 CST2009-06-10 07:54:20 +0800 CST 2009-06-10 07:54:20 +0800 CST 从备份还原 Virtualbox 快照 772 我有一个来自备份的 .SAV 和 .VHD 文件。由于创建了这些文件,因此使用了恢复到快照功能,根据设计,这会删除自创建快照以来的所有内容。但是,我现在需要访问快照中的数据。 有没有办法使用 .sav 和关联的 vhd 文件来恢复虚拟机? virtualbox backup-restoration 2 个回答 Voted Best Answer mrmike 2009-06-12T09:46:00+08:002009-06-12T09:46:00+08:00 经过多次探索,我发现这是可能的! 注意我对 XML 没有任何经验,所以请原谅这些术语......也请在进行任何建议的更改之前备份任何配置文件.. 我在 VirtualBox 文档或任何网站上都找不到对此的任何引用。如果有人遇到同样的问题,这里是我解决问题的步骤: 我关闭了虚拟机并复制了 VirtualBox 目录,其中包含所有虚拟机文件夹和配置文件。 创建了相关机器的新快照 将 VirtualBox 文件夹的副本与创建快照后的原始文件夹进行比较,以查看进行了哪些更改。 我很高兴看到更改相当简单。要从备份中恢复快照,我: 从 VirtualBox 文件夹中打开 VirtualBox.xml 文件,发现节点名为 在节点下,我找到了要添加快照的虚拟机的子节点 - 您可以通过 VHD 文件的名称来判断。 由于不再需要我添加用于比较目录的临时快照,我找到了创建它的文件夹并将其替换为备份中的快照。 然后,我通过将临时快照的 uuid 更改为备份中的快照的 uuid 以及更改快照文件的名称来修改包含有关临时快照的信息的行。该部分看起来像: 请注意,uuid 与快照文件名相同,如果您需要找出 uuid 是什么,只需复制并粘贴不带扩展名的快照文件名即可。 VirtualBox.xml 文件就是这样,保存并关闭它。现在从虚拟机目录中打开 MachineName.xml 文件 向下滚动到与此类似的部分: 将临时快照的 uuid 替换为备份中快照的 uuid。 保存文件并关闭它 这对我有用。机器启动正常,快照从备份恢复,所有数据都恢复了! MarkHelms 2017-12-20T06:12:23+08:002017-12-20T06:12:23+08:00 为了从它的.sav 文件中恢复一个死的VirtualBox VM ,我做了以下(Windows 7 上的 5.1.28): (1) 在 VBox GI 中克隆你的旧虚拟机 进入新目录 (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> 重启你的虚拟机
经过多次探索,我发现这是可能的!
注意我对 XML 没有任何经验,所以请原谅这些术语......也请在进行任何建议的更改之前备份任何配置文件..
我在 VirtualBox 文档或任何网站上都找不到对此的任何引用。如果有人遇到同样的问题,这里是我解决问题的步骤:
我很高兴看到更改相当简单。要从备份中恢复快照,我:
请注意,uuid 与快照文件名相同,如果您需要找出 uuid 是什么,只需复制并粘贴不带扩展名的快照文件名即可。
这对我有用。机器启动正常,快照从备份恢复,所有数据都恢复了!
为了从它的.sav 文件中恢复一个死的VirtualBox VM ,我做了以下(Windows 7 上的 5.1.28):
(1) 在 VBox GI 中克隆你的旧虚拟机
进入新目录
(2) 获取虚拟机uuid
使用编辑器打开克隆的 .vbox 文件并从以开头的行复制 uuid
(没有花括号)
(2) 使用最新的 .sav 文件恢复您的虚拟机
采用此路径进入您的环境:
重启你的虚拟机