昨晚我发现 Ubuntu 20.04 删除了我的一个文件夹中的大部分内容,大约 50GB。我尝试使用 PhotoRec 恢复它们,但到目前为止输出的大部分内容都是文本文件,大约 900K。这绝对不是该文件夹中的原始内容。一些其他格式的文件(数量不到数千个)也正在恢复,但到目前为止许多都无法打开。
txt 文件数量如此巨大正常吗?这是否表示进程出现故障?
如果 txt 文件是错误恢复的其他类型的文件,可以重新处理为原始格式吗?
如果 PhotoRec 无法正确完成此任务,还有其他方法可以完成吗?
如果有替代方案,它会处理什么,输出.txt 文件还是其他东西?
总的来说,我应该继续进行此操作还是让数据继续前进?你会怎么做?
答案1
根据您想要恢复的文件类型,在这种情况下,您的文件系统和设备仍然正常,而您只是想恢复意外删除的文件,Photorec 可能不是您的最佳恢复选项。
Photorec 是一个工具,从最基本的层面上讲,它假设文件系统结构的所有信息可能都已消失,它所能做的就是在分区中找到与文件相似的有意义的数据片段。
因此,它所做的就是扫描整个分区,每次扫描一个扇区(在几乎所有情况下,文件系统簇都应从扇区边界开始,即使其大小超过一个扇区),并查找可指示特定类型文件开始的签名(“魔数”)。当它找到一个签名时,它会利用对该类型文件结构的了解来估计文件的结束位置。
文本文件没有明确定义的标题结构(除了其内容看起来像文本,例如,除了回车符、换行符和制表符外,它们避免使用空字节、大于 0xf7 的字节和小于 0x20 的字节)。这可能会导致文件中的许多段被错误识别为纯文本文件,因此如果您在 Photorec 中打开了文本文件识别,则可能会导致大量误报。
Photorec 应该能够识别分区中的视频、音频和图像文件,并且在文件没有碎片的情况下,能够恢复整个文件。这是它擅长的地方。
由于其操作方式,Photorec 通常无法恢复它找到的文件的文件名或文件夹结构。
Photorec 有一个配套程序叫做 Testdisk,它也是一个数据恢复程序,但是在文件系统级别运行 - 也就是说,如果你不小心删除了一个分区,它会搜索你的设备并找到分区并将其全部恢复 - 这样就可以恢复所有数据。
但是,对于您而言,最好的解决方案是备份丢失的文件并从备份中恢复它们。其次,您可以尝试使用特定于您所使用的文件系统的恢复工具,这些工具可能更有助于识别已删除文件的文件和文件夹结构。执行此操作的能力因文件系统而异,恢复故意删除的文件的能力被视为可能的安全问题,具体取决于您如何看待它。
对于 ext4(和 ext3),关于已删除文件的信息不会保留太多,因此在某些情况下,您需要求助于 Photorec 之类的工具。不过,有些人使用 ext4magic 从文件系统日志中恢复最近删除的文件,它的手册页是这里