重新格式化 ext3/4 分区后的文件恢复--提取旧日志/超级块?

重新格式化 ext3/4 分区后的文件恢复--提取旧日志/超级块?

/home在安装 Ubuntu 时,我似乎将分区(以前是 ext4)重新格式化为 ext3。我花了几次安装才弄清楚。当然,这是一件坏事。我尝试了一些常见的数据恢复工具 -photorec给我大约 60000 个文件,但当然完全没有排序。

我偶然发现ext4magic,它能够恢复意外删除的文件,同时保留目录结构、元数据等。但是,正如文档所述:

有人意外地在旧文件系统上创建了新文件系统,从而彻底覆盖了文件系统的元数据,而此选项无济于事,因为这样只会发现一个空的文件系统。

我现在想知道是否有任何方法可以从映像中提取旧元数据,以便将它们单独提供给 ext4magic。我猜,这需要将新文件系统的日志/超级块写入与以前不同的块。这些块在每种格式上都相同吗(这会让我的努力付诸东流),还是它们以某种方式随机分配?从 ext4 到 ext3 的更改是否有用?

当然,也欢迎其他解决方案。

答案1

将 ext3/4 文件系统的日志数据保存到文件:

debugfs -R "dump <8> /PATH/journal.copy" /dev/DEVICE 

(参见 Wiki ext4magic)

此副本可与 ext4magic 或 extundelte 一起使用。但这些并不是全部元数据。这些只是一些旧的 inode。还需要恢复 inode 表和目录数据块。没有这个,它将无法工作,尤其是对于 ext3。(ext4 和 ext4magic,可能许多文件可以恢复,但没有原始名称和路径。

该元数据可以用 e2image 存储,但目前 extundelete 和 ext4magic 无法使用这种额外的转储文件。

相关内容