我的 SD 卡坏了,我拍了一张它的图片。根据 的说法,该图片相当完整,>99% ddrescue
,常规数据恢复工具似乎能够找到大多数文件。但是,我也想提取尽可能多的文件系统元数据(文件名、目录结构)。
testdisk
无法恢复相关分区信息。我猜想 SD 卡被格式化了,只覆盖了分区表内容,而数据完好无损。
那么,我该如何从这个损坏的文件系统中提取尽可能多的路径名?我知道我感兴趣的分区是 FAT32 格式的,以及它的大致大小和位置(感谢熵分析)。
答案1
根据 ddrescue 的数据,该图像相当完整,>99%
然后使用适当的文件系统恢复工具分析图像,对于这种情况,我使用 DMDE。
我的假设是 SD 卡已被格式化,仅覆盖了分区表的内容,同时保持数据完好无损。
重新格式化会清除文件分配表 + 根文件夹。再次使用适当的文件恢复工具。例如,DMDE 将能够显示文件分配表是否大部分为空,如果是,则文件系统确实可能被重新格式化。
如果文件系统重新格式化,则假设:
- 根目录中的文件/文件夹名称丢失。需要使用 RAW 恢复来恢复根目录中的文件
- 恢复后不连续的文件将会损坏
不连续或碎片化的文件可能可以恢复,但这取决于文件类型以及是否为其开发了特定工具。例如,存在尝试重建碎片化 JPEG 或 MP4 文件的工具。
覆盖分区表
完全不影响文件的恢复,包括原始名称、文件夹结构。换句话说,可以 100% 恢复。
答案2
我的假设是 SD 卡已被格式化,仅覆盖了分区表的内容,同时保持数据完好无损。
格式化是主要影响分区的操作。当文件系统格式化操作建立与前一个文件系统不同的文件系统时,分区表就会发挥作用。在这种情况下,分区表中的文件系统信息需要更新。否则根本不需要触及分区表。
由于在 FAT32 文件系统上执行格式化操作后根目录为空,因此必须将其覆盖(即删除根目录中文件和文件夹的元数据信息)或将空目录写入其他位置。在后一种情况下,无需删除,但旧根目录受影响的簇将被释放,从而标记为空闲。据我所知,FAT32 的根目录位置并不固定。