对每个原始文件系统运行一次 testdisk photorec 命令是否方便?

对每个原始文件系统运行一次 testdisk photorec 命令是否方便?

photorec当使用该工具的命令从格式化的外部硬盘恢复数据时testdisk,如果硬盘最初有 2 个分区(NTFSext),则为每个分区文件系统类型运行该命令两次是否有意义?

答案1

虽然官方文档指出“photorec 忽略文件系统”,即使这是真的(事实并非如此),分区仍然可以发挥作用,如果它不是 4K 对齐的话,更是如此。

考虑“PhotoRec 的工作原理”

PhotoRec 首先尝试查找数据块(或簇)大小。如果文件系统未损坏,则可以从超级块(ext2/ext3/ext4)或卷引导记录(FAT、NTFS)中读取该值。否则,PhotoRec 逐个扇区读取媒体,搜索前十个文件,并根据这些文件的位置计算块/簇大小。一旦知道该块大小,PhotoRec 就会逐块(或逐簇)读取媒体。

因此,它不仅不会忽略文件系统,甚至会在没有文件系统的情况下做出假设。所有进一步的行动都取决于这些假设。

它甚至会在此过程中首先询问您文件系统:

To recover lost files, PhotoRec need to know the filesystem type where the
file were stored:
>[ ext2/ext3 ] ext2/ext3/ext4 filesystem
 [ Other     ] FAT/NTFS/HFS+/ReiserFS/...

只要您将 PhotoRec 设置为分析单个文件系统的单个分区,并且您没有用另一个文件系统覆盖它(例如将 ISO 添加到错误的设备时),一切(可能)都会很好。我猜除非前 10 个文件随机对齐到以后不再正确的东西。

但是一旦出现新的分区、新的文件系统,它们可能具有不同的对齐方式、不同的块(簇)大小、不同的布局……PhotoRec 有可能会读取所有内容,但只能识别其中的一个那里的一小部分。

因此,是的,在(任意)磁盘段上运行该命令是有意义的。

要么这样做,要么禁用 PhotoRec 的假设。也许这可以通过使用来完成专业级但我没有详细尝试过这种模式:

expert mode选项允许用户强制设置文件系统块大小和偏移量。每个文件系统都有自己的块大小(扇区大小的倍数)和偏移量(NTFS、exFAT、ext2/3/4 为 0),这些值在文件系统创建/格式化时固定。当处理整个磁盘(即原始分区丢失)或重新格式化的分区时,★如果PhotoRec发现的文件很少★,您可能想尝试 PhotoRec 让您为块大小选择的最小值(它是扇区大小)(0 将用于偏移量)。

(★) 因此,事实证明,photorec在不按分区运行时无法找到所有文件甚至是一个正式记录的功能。 :-)

相关内容