0

这是发生了什么。

我有一个快照,我在一个 linux VM 中工作。一个朋友要求一个干净的虚拟机作为我的克隆。因此,我关闭/关闭了正在运行的 VM,制作了 Disk1.vdi 的副本以及快照 ({uuid}.vdi)。然后我重新启动虚拟机并合并快照,删除我的主目录并为我的朋友制作了一个 tar+bz2。

然后在我恢复备份后,我无法挂载我的快照。虚拟机似乎在快照之前从我的版本启动。我似乎找不到装回快照的方法。

知道如何让 VirtualBox 看到快照并挂载它吗?

4

2 回答 2

1

我不是专家,但碰巧对这个话题进行了一些调查。您表示在进行更改之前备份了磁盘(VDI 和快照),但没有备份VM 本身(XML 文件)。因此,您通过将 VDI 和快照还原到已更改的 VM(仍然认为只有一个没有快照的合并磁盘)来创建不兼容。如果没有原始 VM 文件本身的备份,您可能会不走运。(请参阅克隆具有多个快照的 VM 以获取支持证据。)

于 2010-01-07T17:30:50.017 回答
1

您可以重新开始使用快照,这很棘手,但可以试试这个(没有运行虚拟机):

  • 打开 VirtualBOX 图形用户界面
  • 去管理磁盘
  • 从虚拟机中分离主 VDI。
  • 将其设置为不可变。
  • 从您的虚拟机重新附加主 VDI
  • 退出所有 virtualbox 进程
  • 使用 VBoxManage showhdinfo 获取您的快照 VDI 的 uuid,您想要使用的不是在使主 VDI 不可变时创建的那个
  • 现在使用文本编辑器编辑 VBOX 文件并查找创建的快照的路径,以便您知道去哪里删除那个小文件,不要关闭文本编辑器
  • 删除那个小快照 vdi 文件
  • 现在,在文本编辑器上,替换快照的 uuid 和快照 vdi 的路径以指向您的快照 vdi 文件
  • 保存 VBOX 文件并关闭文本编辑器。

以后的时间:记得也要备份 VBOX 文件。

诀窍是基于使 VirtualBox 创建一个假快照文件(您将手动删除的文件)并将添加到 vbox 文件的引用替换为您的快照,但也需要将快照文件的 uuid 替换为正确的, 为此您可以使用 showhdinfo 获取它。

请注意,VBOX 文件中的快照 uuid 出现在部分、寄存器(靠近开头)和附加部分(靠近结尾)上,您必须同时替换两者,您可以使用搜索并将新的 uuid 替换为您的。

希望它对你有用;我从不做虚拟盒的快照,我更喜欢不可变的方式(但这仅适用于一个级别)。

于 2019-01-23T09:17:58.193 回答