您不能总是将数据丢失归咎于硬件故障。笨拙的用户也可能同样有害。 PhotoRec 是一个基于命令行的漂亮小工具,可以恢复意外删除的文件。
要有效地使用 PhotoRec,您需要了解文件系统如何处理文件。当您删除文件时,它实际上并没有被遗忘。相反,文件系统只是将其标记为已删除,并使该文件占用的空间可供其他文件使用。
这意味着,在另一个应用程序使用最近释放的空间之前,原始文件仍然存在,并且可以通过文件恢复工具检索。出于这个原因,一旦您意识到不小心删除了文件,请立即停止使用计算机,以尽量减少与硬盘的交互,这一点非常重要。
笔记:PhotoRec 是跨平台兼容的。在本教程中,我们将使用 Linux (Ubuntu) 系统进行演示。
雕刻锉刀
摄影记录是一个文件雕刻师。文件雕刻器是一种工具,即使文件丢失了常规元数据(例如文件名或其位置),也可以恢复文件。这是因为文件雕刻者不依赖文件系统来读取文件,而是煞费苦心地在硬盘中搜寻。
该工具适用于各种磁盘,包括硬盘和可移动介质(例如 USB 磁盘)。除了读取无法启动的磁盘之外,PhotoRec 还会从已格式化并重新安装的分区中恢复文件。

PhotoRec 可以嗅探最常见的图像格式,还可以挑选出各种格式的文件,包括 odf、pdf、7zip、zip、tar、rpm、deb,甚至虚拟磁盘。
PhotoRec 是几乎每个恢复发行版不可或缺的一部分,并且它与强大的功能一起提供测试盘可以恢复和还原分区的实用程序。您可以在大多数发行版的官方存储库中找到 PhotoRec。但要安装它,你需要安装TestDisk工具。
sudo apt-get install testdisk命令行魔法
在启动 PhotoRec 之前,创建一个用于保存恢复文件的目录。该工具完成后,该目录将填充许多不同格式、名称奇怪的文件。这是因为 PhotoRec 在找到这些文件时对其进行命名,并将排序工作留给您。
此外,尽管 PhotoRec 是一个命令行实用程序,但它将恢复文件的过程分解为多个步骤,就像向导一样。
当您启动该工具时,它将显示所有硬盘和连接的可移动设备,包括任何插入的 USB 驱动器。要继续,请选择缺少文件的磁盘。如果磁盘包含多个分区,PhotoRec 将显示所有分区并允许您选择包含丢失文件的分区。
接下来,该工具需要知道存储文件的文件系统类型。它只提供两个选项。如果删除的文件驻留在 Linux 发行版中,请选择 [ext2/ext3] 选项。 [其他] 选项将查找在 FAT/NTFS/HFS+ 或任何其他文件系统下创建的文件。
然后,您必须决定是否要仅在释放的空间内或整个分区中查找已删除的文件。最后一步是将 PhotoRec 指向您创建的用于存储所有恢复文件的文件夹。
这就是 PhotoRec 需要您提供的所有信息。该工具现在将开始工作。根据分区的大小,PhotoRec 可能需要相当长的时间才能完成。
集中恢复
您会发现,PhotoRec 的工作有点太好了。它会找到很多很多文件,对它们进行排序可能是一项艰巨的任务。更好的选择是限制要恢复的文件类型。

在选择要工具恢复文件的磁盘后,您可以使用[文件选项]选项来执行此操作。默认情况下,该工具搜索所有类型的文件。按“s”键取消选择所有支持的格式。然后滚动列表并按空格键选择您感兴趣的一种或多种格式。
对文件进行排序
当您查看目标文件夹时,您会看到几个名为恢复目录.1,恢复目录.2, 等等。恢复的文件保存在这些文件夹下。
手动对文件进行排序将花费很长时间。您可以从 CLI 进行一些基本排序,以更好地组织文件。例如,使用命令
mv ~/recovered/recup_dir.*/*.jpg ~/all-recovered-images将所有已恢复文件夹下的所有 jpg 文件移至 all-recovered-images 文件夹中。
您还可以按文件大小对文件进行排序。这非常有用,尤其是在恢复图像时。除了恢复图像本身之外,PhotoRec 还将恢复具有相同扩展名的缩略图。
命令
find ~/all-recovered-images/ -name "*.jpg" -size -10k | xargs -i mv {} ~/thumbnails会将大小小于 10KB 的所有图像移出 all-recovered-images 文件夹。
结论
您几乎会在每个灾难恢复工具包中找到 PhotoRec,这是有原因的。该工具的工作原理以及如何!我用它来恢复意外发生的文件rm我的 SDCARD 命令,以及 Windows 中格式化的 USB 驱动器中的重要 PDF。
使用该工具时会涉及到一个学习曲线,但它在对恢复的文件进行排序时发挥作用。但一旦掌握了它的窍门,您就再也不会丢失文件了!
图片来源:美国陆军工程兵团






