我已经在安装了 Virtual Box(当前版本 6.1)的 Win 10 主机上使用 Linux Mint 近一年了。大约一周前,我的 Win 10 机器自动重启(该死),当我重新打开 Linux Mint VM 时,似乎已经恢复到几个月前拍摄的快照。此后,VM 上没有任何安装/创建的文件或应用程序。
我非常确定(但不确定)当 Win 10 重新启动时,我已经使用“保存状态”关闭了虚拟机。因此,当我查看虚拟机的快照目录时,我看到了 11/1 的保存状态,我认为其中包含我需要的所有内容,但当我启动虚拟机时,它会将我恢复到 6 月份的某个时间点。VDI 文件是在我尝试打开虚拟机并发现所有内容都丢失之后创建的。
关于如何恢复我丢失的数据有什么建议吗?
更多信息:快照列表:
- 截至 11 月 10 日我发现丢失的数据时,只有 1 个快照,日期为 6 月。唯一的其他快照信息来自我之后克隆虚拟机时,当时我想使用克隆来试验恢复数据的方法。 虚拟机快照
日志:
- 不确定你需要哪个日志,我有多个日志,我将附上第一个。 https://drive.google.com/file/d/12uHecsu80Xf5DT07150HLzsic-BlwPr_/view?usp=sharing
答案1
您所指向的日期为 11/1 的 .sav 文件实际上并不包含您丢失的文件。请注意,它们与 .vdi 文件不同。
.vmx.sav 或 .cfg.sav - 配置快照 文件,存储虚拟机当时的配置 你对它进行快照。
.sav 文件本质上是内存转储,但其他处理器信息(例如寄存器)也可能存储。毫无疑问可以在源代码中找到精确的格式信息。
.sav 文件存储在“快照”子文件夹中,但它们实际上与快照无关。
从quora - VirtualBox 中的 sav 文件是什么
它们是每次更改虚拟机设置时保存的配置文件。假设您最初使用 1 个虚拟 CPU 和 2 GB RAM 配置,然后决定 1 个 CPU 太低,并向虚拟机添加了另一个 CPU。您已创建 .sav 文件。您所做的每次更改都会创建这样的文件。这些文件允许您返回到此虚拟机的早期阶段。如果您确定不需要 2 年前的配置文件,则可以删除它们。
.sav 文件始终包含某个时间点的客户的完整状态。它不包含任何存储在外部设备(如虚拟磁盘)上的信息。创建快照时,会创建一个 .sav 文件,其中包含恢复当时客户机状态所需的 VM 状态,并为每个虚拟磁盘创建一个新的差异磁盘映像(不会以某种特殊模式附加以防止这种情况发生)。从现在开始,客户机磁盘写入请求将转到差异映像。恢复快照时,差异映像将被删除,因此创建快照后对磁盘的所有更改都将丢失。
使用 SSM(已保存状态管理器)代码创建 .sav 文件。您可以在 include/VBox/vmm/ssm.h 和 src/VBox/VMM/VMMR3/SSM.cpp 中找到该 API。