![对每个原始文件系统运行一次 testdisk photorec 命令是否方便?](https://linux22.com/image/157794/%E5%AF%B9%E6%AF%8F%E4%B8%AA%E5%8E%9F%E5%A7%8B%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E8%BF%90%E8%A1%8C%E4%B8%80%E6%AC%A1%20testdisk%20photorec%20%E5%91%BD%E4%BB%A4%E6%98%AF%E5%90%A6%E6%96%B9%E4%BE%BF%EF%BC%9F.png)
photorec
当使用该工具的命令从格式化的外部硬盘恢复数据时testdisk
,如果硬盘最初有 2 个分区(NTFS
和ext
),则为每个分区文件系统类型运行该命令两次是否有意义?
答案1
虽然官方文档指出“photorec 忽略文件系统”,即使这是真的(事实并非如此),分区仍然可以发挥作用,如果它不是 4K 对齐的话,更是如此。
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
在不按分区运行时无法找到所有文件甚至是一个正式记录的功能。 :-)