VirtualBox快照

时间:2009-12-23 18:01:24

标签: virtualbox vdi

发生了什么事。

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

然后在我恢复备份后,我无法挂载快照。 VM似乎在快照之前从我的版本启动。我似乎无法找到一种方法来挂载我的快照。

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

您可以重新使用快照,但比较棘手,但是可以尝试一下(在没有运行虚拟机的情况下):

  • 打开VirtualBOX GUI
  • 去管理磁盘
  • 从虚拟机中卸下主要VDI。
  • 将其设置为INMUTABLE。
  • 从虚拟机重新连接主VDI
  • 从所有virtualbox进程退出
  • 使用VBoxManage showhdinfo获取快照VDI的uuid,而不是在使主VDI成为不可变对象时创建的uuid。
  • 现在使用文本编辑器编辑VBOX文件,并查找创建的快照的路径,这样您就知道删除该小文件的位置了,不要关闭文本编辑器
  • 删除该小型快照vdi文件
  • 现在,在文本编辑器上,替换快照的uuid和快照vdi的路径以指向您的快照vdi文件
  • 保存VBOX文件并关闭文本编辑器。

为了将来,请记住也要备份VBOX文件。

技巧是基于使VirtualBox创建一个伪造的快照文件(您将手动删除的文件),并用快照替换添加到vbox文件中的引用,但是还需要用替换快照文件的uuid。正确的方法,为此,您可以使用showhdinfo获得它。

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

希望它对您有用;我从不对virtualbox进行快照,我更喜欢采用不变的方式(但这仅适用于一个级别)。