从发生故障的硬盘恢复数据

我有一个失败的外置硬盘(WD Passport)。 它有一个ExFAT格式的分区,我希望从中恢复尽可能多的数据。 有一两千个大小约为20-40 MB的文件 ( 原始图像文件 )。

我制作了一个Ubuntu 16.04直播USB。 有哪些工具可以帮助我从驱动器恢复数据?


Ubuntu已经有用,因为一个简单的cp命令不会挂起它无法读取的文件。 几秒钟后,它只是说“输入/输出错误”并继续下一个文件。 相比之下,OS X根本不会安装卷,Windows 10会无限期地卡在无法读取的文件上。 使用Ubuntu,我可以使用单次运行cp获得2/3的文件。

除了在我感兴趣的目录上运行cp之外,还有什么可以使用Ubuntu吗? 是否有可以尝试更积极恢复的工具(并且会跳过已经复制的文件)? 注意:我只有一个实时USB记忆棒(2 GB)。 此时我无法访问永久安装Linux的计算机。

注意:我无法cd到损坏的卷上的所有目录,但包含感兴趣的文件的目录似乎没问题。 我不是在寻找旨在寻找文件系统中似乎丢失的文件的工具。

使用rsync 。 像这样的东西应该工作:

rsync -av --ignore-errors /defective/disk /safe/disk

它将复制所有可以复制的文件。 错误将被忽略,副本将继续。 如果省略,则副本将在出错时停止。

请注意,您可能有兴趣逐块复制磁盘。 这将创建一个巨大的文件。 你可以用dd做到这一点。

dd if=/dev/defectiveDisk of=/target/disk/block-by-block.imh bs=1G conv=notrunc,noerror

这为您提供了所有可恢复块的图像

此图像,您可以稍后作为环回设备安装。 这样,您可以专注于保存文件而不会使有缺陷的磁盘变得紧张。

好吧,我推荐一些你可以依赖的软件,而你的硬盘难以克隆。 它们是dd_rescue,dd_rhelp和GNU ddrescue。 在这些优秀的工具中,我更喜欢GNU ddrescue。 您可以谷歌如何处理这些软件。 上述软件是着名的dd应用程序的所有不同变体。 GNU ddrescue是dd_resuce的inheritance者。 同时所有这些软件包在ubuntu中以不同的软件包名称而闻名,可以在这里查看信息