细节:
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 映像,但可以使用传统的文件恢复方法挽救数据。