分析Ext4分区中的分配空间以提高数据恢复效率

分析Ext4分区中的分配空间以提高数据恢复效率

我正在尝试使用 Lubuntu 从故障的 4TB 硬盘驱动器中恢复尽可能多的数据。

根据 GParted 的说法,主分区采用 Ext4 格式,仅包含 553GB 数据。我尝试使用硬盘超级克隆,Linux 的 GUI 软件,ddrescue其用途和功能与命令行工具类似。起初它运行良好,几乎没有错误/跳过扇区,平均复制速率也不错(~60MB/s)。但大约在中途,它开始出现更严重的问题,一些区域根本无法读取,形成了好读和坏读交替出现的模式,这通常表明一个磁头有缺陷。那时我停止了恢复。

我恢复了大约 1.7TB 的数据,而且很长一段时间以来它只复制了 00 字节,所以我认为所有相关数据都已保存在恢复驱动器上。但事实证明,主分区无法安装(虽然仍可以安装在源驱动器上,但有点困难),而且知名的数据恢复软件(R-Studio、DMDE)无法重建原始目录结构或检索原始文件名。当在 WinHex 中打开恢复驱动器时,我发现除了 438GB 之外,其余空间都已清空,这意味着大约 115GB 丢失了 — — 虽然我不明白这是怎么可能的,因为文件系统应该将数据写入最外层可用区域,这些区域的读写速度更快,从而优化 HDD 的性能。

现在,为了充分利用剩余的空间,考虑到驱动器的状况可能会在下一次认真的恢复尝试中迅速恶化,我正在寻找任何可以分析元数据结构并报告已分配/未分配空间的方法,以便我可以将恢复定位到那些相关区域,而不是浪费宝贵的时间读取千兆字节的零。几年前,HDDSuperClone ddru_ntfsbitmap( 的一部分ddr_utility)的作者开发了一个小型命令行程序,它可以自动对 NTFS 分区执行此操作:它分析文件$Bitmap并生成一个“映射文件”,ddrescue有效地将副本限制在标记为已分配的扇区(前提是可以完整读取此系统文件);它还可以生成一个“映射文件”来恢复第一个$MFT,这非常有用(MFT 包含所有文件的元数据和目录结构信息,如果它已损坏或丢失,则只能进行“原始文件雕刻”类型的恢复)。但即使是这位非常有能力的人也不知道如何对 Linux 分区执行相同的操作,正如他在这个 HDDGuru 线程

因此,即使它不是完全自动化的,我也需要一个可以快速高效地分析 Ext4 分区的程序,以便在此过程中不会进一步磨损驱动器,并以文本日志或图形演示的形式报告该信息。也许碎片整理程序可以解决问题?

一般来说,重要的元数据结构(如果我没记错的话是“ inode”)位于 Linux 分区的什么位置?是否有一个相当于 NTFS 的单个文件$Bitmap,或者有关文件/扇区分配的信息是否通过更复杂的分析确定?(如果相关,则驱动器位于 WDMyCloud 网络机柜中,出厂配置并运行 Linux 操作系统。)

GParted 源驱动器分析。

在恢复到大约 47% 时,开始出现严重问题,交替出现的良好读取(绿色)和不良读取(灰色)条纹表明一个磁头出现故障。

相关内容