这就是发生的事情。

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

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

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

有帮助吗?

解决方案

我不是专家,但都不约而同地做了一些调查,只是这个话题。您表示您在进行更改之前备份您的磁盘(VDI和快照),但你做的备份虚拟机本身(XML文件)。所以,你必须通过恢复VDI和快照的改变VM(即仍然认为,只有没有快照合并磁盘)中创建的不兼容。如果没有原始虚拟机文件本身的备份,你可能是出于运气。 (请参阅克隆VM具有多个快照的用于支撑的证据。)

其他提示

您可以恢复快照工作,这很棘手,但可以尝试一下(没有运行虚拟机):

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

对于未来的时代:请记住还要备份 VBOX 文件。

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top