从快照恢复后,如何从 VirtualBox 恢复以前的“当前状态”?

从快照恢复后,如何从 VirtualBox 恢复以前的“当前状态”?

细节:

Win 8.1(主机操作系统)笔记本电脑运行 Virtual Box。Ubuntu 10.04 客户机位于 Virtual Box 内。客户机的 6 个月旧快照和正在使用的“当前状态”。用户遇到“当前状态”机器加载缓慢(可能挂起)的问题,VirtualBox 曾热心询问他们是否愿意恢复快照。他们没有意识到这会转储他们的“当前状态”机器映像,因此他们同意了,现在他们已经丢失了 6 个月的数据。

是的,我知道,他们应该有备份。目前这没什么用。目前我正在为他们寻找恢复选项

有没有办法可以恢复/还原他们同意转到快照之前的“当前状态”虚拟机?

我现在已经关闭了机器,因此如果它“只是”一个我可以从主机 Windows 操作系统中取回的已删除文件,那么某种数据恢复可能是可能的。

任何帮助都值得赞赏,或者对特定文件/数据恢复工具的建议,或者要查找哪个vmd/文件。vdi


编辑1:

根据“当前状态”只是另一个.vdi文件,我可以使用通用的 Windows 恢复软件找到它的理论,我开始寻找可能的候选文件。“快速”扫描找到(并恢复)了该vbox-prev文件,但没有找到该.vdi文件。但是,“上一个”文件给了我丢失.vdi文件的文件名,所以这算是有了一些进展。我现在正在尝试深度扫描。

我使用的扫描工具允许我定义新的文件格式,以字节为单位在磁盘上查找,但它需要“魔法字节”以及偏移量和数据长度。它看起来是个不错的工具,但这些高级搜索功能没有很好的文档记录。如果有人能指点一下.vdi文件格式,那就太好了。

对于稍后可能会发现这一点的人来说,当前.vdi文件都以如下(小端)字节开头:

0000000   <   <   <       O   r   a   c   l   e       V   M       V   i
0000020   r   t   u   a   l   B   o   x       D   i   s   k       I   m
0000040   a   g   e       >   >   >  \n  \0  \0  \0  \0  \0  \0  \0  \0

或者

0000000 3c3c 203c 724f 6361 656c 5620 204d 6956
0000020 7472 6175 426c 786f 4420 7369 206b 6d49
0000040 6761 2065 3e3e 0a3e 0000 0000 0000 0000

答案1

回答:

无法完全恢复之前的“当前状态”图像,因为当快照恢复时,VirtualBox 似乎复制将当前映像文件与快照文件合并。这样不会在需要恢复的磁盘上留下任何残留的“已删除磁盘映像文件”。

但是,就我而言,由于快照比之前的“当前状态”小得多,因此大部分“当前状态”数据仍然可以供磁盘切片器/十六进制编辑器/恢复程序在磁盘上的现在“可用空间”中使用,因为复制不会将磁盘映像文件清零。

因此,建议:最好的办法是安装一些能够进行文件恢复和/或原始磁盘扫描的程序,并在可用空间中搜索已知字符串。您无法恢复整个 VM 映像,但可以使用传统的文件恢复方法挽救数据。

相关内容