VirtualBox 数据丢失

VirtualBox 数据丢失

我正在运行的 Ubuntu LTS 10.04 vdi 崩溃了,我无法从它启动。我被困在 initramfs 中。

首先使用 fsck 修复卷后,我能够将映像作为辅助设备安装到正常运行的 Ubuntu LTS 10.04 映像上。

奇怪的是,映像上的数据已过期!当我查看主机上的 vdi 文件时,它有一个旧的修改时间。

奇怪的是,我以前重启过这个镜像,如果更改没有写入 vdi 文件,我会在重启时注意到它。我还检查了我的其他 vdis,以确保它们不包含数据,但没有成功。

所有这些数据都写入了哪里?除了 vdi 之外的任何地方?我不明白它怎么会就这样消失了,也不明白 vdi 文件的修改时间,除非 VirtualBox 实际上将数据写入了 vdi 以外的位置!

答案1

主机崩溃了吗?可能是 VirtualBox 写入了数据,然后数据进入了主机的磁盘缓存,然后主机崩溃,数据丢失了。

您有快照吗?如果有,则主磁盘映像不会被写入,只有快照磁盘文件会被写入。

如果您不确定,可以尝试 SysInternals Processmon 或同等程序来查看它正在写入哪些文件。

最后,在 VMWare ESX 上,您可以将磁盘设置为不保留更改,但如果客户操作系统进行软重置,更改不会丢失,除非虚拟机关闭。也许 VirtualBox 上的情况类似?

答案2

您是否拍摄了该 VDI 的快照?VirtualBox 将数据写入单独的快照文件,以便可以恢复到之前的状态(只需丢弃所述快照文件中的所有内容并直接读取 VDI,就像您现在所做的那样)。它有点像 Windows 的系统还原,只不过它确实有效!

我相信命令行工具将允许您“丢弃”该快照 - 即,将快照数据写入 VDI,以便您拥有可以在其他 VM 中使用的最新 VDI,但您将不再拥有该快照。不幸的是,我不知道该命令/命令序列是什么,但希望这能为您指明正确的方向。

相关内容