适用于 Linux 的 7 种最佳数据恢复工具

您的屏幕是否只是变黑或笔记本电脑在没有警告的情况下死机? 也许你的硬盘已经开始啁啾了。 更糟糕的是,也许您突然无法保存到您的主分区。

所有这些驱动器损坏或故障的迹象都会让您大汗淋漓,但没有理由立即扔掉您的计算机。 继续阅读以了解六种 Linux 工具,它们可以帮助您检索数据并让您的数字生活重回正轨。

1. 三位一体救援包

这个专门为数据恢复而制作的实时 Linux 发行版似乎在几年前就已经死了,但几年前,它的开发人员突然出现了一个更新,让它在现代计算机上更有效地运行。

那么什么是 三位一体救援包? 本质上,如果您的主要 Linux 操作系统(或 Windows 或 macOS)由于硬盘故障或其他灾难而无法使用,您可以创建一个 TRK USB 驱动器,然后启动它以使用命令从您的主要操作系统中提取数据线。 它是一张急救盘,非常不错,它具有密码恢复和病毒扫描等额外功能。

当然,这里也有一个批量取消删除实用程序,可以搜索您损坏或无法访问的硬盘驱动器以查找任何可以恢复的内容,以及一些用于主引导记录修复的选项。 但请注意,要真正利用所有这些功能,学习曲线相当陡峭。

2. 测试盘

某些 Linux 恢复工具会尝试通过复制可从损坏分区中恢复的任何内容来保存您的数据。 这可以工作,但不能保证,因为分区本身的问题可能会掩盖您要检索的数据。

数据恢复工具-for-linux-testdisk

Testdisk 派上用场,因为它实际上可以修复分区级错误,从而更容易使用 Testdisk 本身或其他数据恢复工具来恢复数据。 它甚至可以彻底修复损坏的硬盘并让您的 Linux PC 再次工作,因此您可以直接访问数据。

除了执行恢复引导扇区和文件系统表等深度操作外,Testdisk 还能够从 NTFS、FAT、exFAT 和 ext 格式的硬盘驱动器中恢复数据——甚至是已删除的数据。

要在 Linux 上安装 Testdisk,请转到终端并输入

如果您想了解有关使用 Testdisk 的更多信息,可以在此处阅读我们的 Testdisk 指南。

3.ddrescue

尽管 ddrescue 不是标题中的数据恢复工具,它应该是您检索文件的第一步。 Ddrescue 创建损坏的驱动器或分区的映像,以便您分析损坏磁盘的副本。

在使用下面列出的工具开始文件恢复操作之前,请始终将磁盘复制到单独的映像中。 您使用实际故障驱动器的次数越多,可能造成的损坏就越大。

ddrescue

您在这里看到的是 ddrescue 的一些输出。 在第一个命令中,它将整个磁盘复制到名为“backup.img”的映像中。 然后,第二个命令仅将坏块复制到同一映像,每次将这些块传递 3 次以尝试读取它们。

当您运行这些相同的命令时,请始终使用日志文件。 备份可能需要数小时或数天才能完成,如果没有日志文件,任何中断都会让您从头开始重新开始该过程。

当您自己的磁盘或分区的此过程完成后,您可以挂载复制的映像并使用以下实用程序从中检索文件。 进一步使用本文中我们的其他 Linux 恢复工具将从此处创建的同一“backup.img”中获取数据。

4. 最重要的

最重要的 使用常见文件类型的数据结构来检索数据。 您可以为所有文件抓取整个磁盘映像,也可以指定您最感兴趣的某些文件类型。

最重要的

您可以在这里看到的是 Foremost 在详细模式下的输出( -v 选项)。 这 -t 选项搜索 jpg 的文件类型,并且 -i-o 选项标记各自的输入文件和输出目录。

可以看到 Foremost 分析了上一步创建的镜像 ddrescue; 该图像中有许多JPEG。 Foremost 能够找到十个这样的文件,当它完成图像抓取后,它将这十个文件复制到指定的输出文件夹中。

5.手术刀

解剖刀,最初基于 Foremost,旨在节俭其运营。 它使用多线程和异步输入/输出以有效的方式搜索图像。 此外,它使用户能够指定他们希望用于文件恢复的页脚和页眉的数量。

用户还可以通过编辑手术刀的配置文件来指定他们想要恢复的文件类型。 即使没有打开详细模式(-v 参数),默认配置也会产生大量输出。

解剖刀

在该屏幕截图中,您可以看到手术刀分析“backup.img”的最终输出。 基本命令(在屏幕截图底部列出)只需要一个输出目录和一个用于分析的图像。

6. 摄影记录

摄影记录 通过专注于照片、视频和文本文档的恢复,远离其竞争对手。 它还可以作为控制台本身的交互式实用程序。 看看它的所有威严

linux-photorec-screenshot-clipped

初始 PhotoRec 命令必须指定所需的图像(我们的 backup.img)和输出文件夹。 PhotoRec 然后将用户放到它的图形环境中。 此处的屏幕截图显示了图像大小。 在进一步的屏幕中,它会询问磁盘的分区类型以及是否要在整个映像中搜索文件。

7. grep

最后,我们来到 grep. 这似乎也不是最直接的恢复选项,但 grep 具有通过搜索块设备或磁盘映像上存在的字符串来查找已删除或丢失的文本文件的能力。

backup.img 中存在一个名为“myfile”的文件。 它只包含一行文字:“这是我将尝试恢复的文件。”

Grep 使用该字符串作为文件恢复的起点。 除了一些其他参数,你可以看到,在这个 example,它将找到的字符串转储到一个名为“foundtext”的新二进制文件中。

linux-grep1-screenshot-clipped

特别是,您需要注意并修改 -C 在初始命令中打印围绕字符串的额外上下文的参数。 这 example 命令告诉 grep 在提供的字符串之前和之后查找一行文本。

开始于 -C 200, grep 会在字符串前后找到 200 行。 这种范围在这里是不必要的,但对于具有数百行的较大文本文件可能很重要。 当然,您需要知道自己文件的文本,因此 grep 有一个开始搜索的起点。

Grep 将生成一个二进制文件作为其输出。 尽管如此,某些部分仍然是人类可读的,例如这个 example位于此屏幕截图底部附近的所需文本行。 手动刮出所需的数据将是您的工作。 当然,这是一项艰巨的工作,但它胜过完全没有文件的选择。

grep

结论

总之,请务必先使用 ddrescue 复制您的驱动器或分区,然后使用您需要的任何其他 Linux 恢复工具处理该副本。 不要害怕尝试多个工具,尤其是当您的首选工具没有找到您想要的数据时。

耐心点。 运气好的话,您会在不知不觉中取回珍贵的文件。

本文于2018年2月首发,2019年3月更新。

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅