数据丢失的VirtualBox

一个Ubuntu LTS 10.04 vdi我正在运行崩溃,我无法从它启动。 我陷入了initramfs。

在第一次使用fsck修复卷之后,我可以将映像作为辅助设备安装在工作的Ubuntu LTS 10.04映像上。

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

奇怪的是,我过去重新启动了这个映像,如果没有写入到vdi文件,我会注意到它重新启动。 我也检查了我的其他vdis,以确保它们不包含数据,但没有运气。

哪里可以写出所有的数据? 除vdi以外的任何地方? 我不明白它是如何消失的,也不了解vdi文件上的修改时间,除非VirtualBox实际上是将数据写入到vdi以外的位置!

主机崩溃了吗? 这可能是VirtualBox写的数据,它结束在主机的磁盘caching,然后坠毁和丢失。

你有快照吗? 如果是这样,主磁盘映像将不会被写入,只有快照磁盘文件。

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

最后,在VMWare ESX上,您可以将磁盘设置为不保留更改,但是如果客户机操作系统进行软重置(仅当虚拟机已closures电源),则这些磁盘不会丢失。 也许这在VirtualBox上是类似的?

你是否拍过这个VDI的快照? VirtualBox将数据写入单独的快照文件,以便恢复到以前的状态(通过简单地放弃所有快照文件中的内容并直接读取VDI,就像现在一样)。 这是有点像Windows的系统还原,除了它实际上工作!

我相信命令行工具将允许您“放弃”该快照 – 也就是将快照数据写入VDI,以便您拥有可以在不同VM中使用的最新VDI,但是你将不再有这个快照。 不幸的是,我不知道这个命令/命令的顺序是什么,但希望这会让你指出正确的方向。