从快照中恢复Hyper-V vhd

我将会忽略大量的相关信息,我希望这些相关信息不会让这种精益求精 – 随时请求详细信息。

我的主机是Windows Server 2008 Standard SP2(不是R2)。 去年2月,我们在虚拟机上创build了一个快照,然后将其删除。 大约一个月后,我们创build了另一个快照,并将其删除。 在Hyper-Vpipe理器中,虚拟机没有显示任何快照。 然后,我们删除了虚拟机,准备将其移动到另一个主机(不是一个好的计划,但你去)。

在移动了vhd之后,我们意识到这台机器奇怪地过时了,于是我们回到了原来的主机上,发现vhd从第一个快照中得到了2月份的date。 然后我们发现快照显然还在使用中(虽然我们确信它没有在Hyper-Vpipe理器中显示出来)。

所以现在我们有了Feb vhd文件和当前的avhd文件,但是不知道如何让这个虚拟机在任何地方备份和运行。 我们发现一些文章提供了方法,但是没有一篇看起来符合我们的情况,而且我们遇到了所有这些障碍。

那么是否有正确的恢复途径?

有一种手动合并快照的方法。 简而言之,这是一个过程:

  1. 复制VHD及其对应的AVHD文件。
  2. 将AVHD扩展名重命名为VHD。
  3. 记下磁盘从最小到最老的顺序(最早的应该是根VHD)。 您可以通过查看原始AVHD文件上最后修改的时间戳来find最后一次更改的时间戳。 并find之前改变的最后一个。
  4. 在Hyper-Vpipe理器中,打开编辑磁盘向导。 浏览链中最年轻的VHD,然后select“重新连接”指向下一个最年轻的(之前的)。
  5. 再次打开编辑磁盘向导并合并。
  6. 然后重复这个过程直到你只有一个VHD。

请参阅源文章以获取更多信息。

将来,您应该通过导出和导入VM来移动虚拟机。 这样做更安全。 微软在这里有一个很好的博客

此外,这是评估备份方法的好时机。 希望这次你没有失去什么,下次呢?

据我所知,如果你得到错误,一个快照文件丢失。

所以如果你有vhd + avhd(第一个快照)+ avhd(第二个快照),只有第二个快照和vhd的文件,你会得到错误。

我们也发现错误:

有一个虚拟机与一个快照。 我们closures了机器并删除了快照 – 但没有开始合并。 所以我们尝试手动(VHD + 1 AVHD文件),但得到了你所描述的错误。

恢复的虚拟机备份显示,实际上有两个avhd文件。 所以,有些东西(Hyper-V?)会把删除快照弄错,而不会在GUI中显示第二个。 因此,从快照中删除快照以vhd file + avhd结尾,但从(以前)删除的快照中丢失了第二个avhd文件,这在graphics用户界面中没有显示。

这真的很奇怪,我们以前从来没有发现过。