我有一个故障的外置硬盘(WD Passport)。它有一个 ExFAT 格式的分区,我想从中恢复尽可能多的数据。有一两千个文件,大小约为 20-40 MB(原始图像文件)。
我制作了一个 Ubuntu 16.04 实时 USB。它有哪些工具可以帮助我从驱动器中恢复数据?
Ubuntu 已经很有帮助了,因为一个简单的cp
命令不会挂在无法读取的文件上。尝试几秒钟后,它只会显示“输入/输出错误”并转到下一个文件。相比之下,OS X 根本不会挂载该卷,而 Windows 10 会无限期地卡在无法读取的文件上。使用 Ubuntu,我一次运行就可以获得大约 2/3 的文件cp
。
除了在我感兴趣的目录上运行cp
一次之外,我还能使用 Ubuntu 做什么吗?是否有工具可以尝试更积极的恢复(并跳过已复制的文件)?注意:我只有一个活动的 USB 记忆棒(2 GB)。目前我无法使用永久安装 Linux 的计算机。
注意:我无法cd
进入损坏卷上的所有目录,但包含相关文件的目录似乎没有问题。我并不是在寻找专门用于查找文件系统中似乎丢失的文件的工具。
答案1
使用 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
这将为您提供所有可恢复块的图像
稍后您可以将此映像安装为环回设备。这样,您就可以专心保存文件,而不会占用有缺陷的磁盘。
答案2
好吧,我推荐一些你可以依赖的软件,当你有故障的硬盘需要克隆时。它们是 dd_rescue、dd_rhelp 和 GNU ddrescue。在这些好工具中,我更喜欢使用 GNU ddrescue。你可以谷歌一下如何使用这些软件。上述软件都是著名 dd 应用程序的不同变体。GNU ddrescue 是 dd_resuce 的后继者。同时,所有这些软件包在 ubuntu 中都有不同的软件包名称,信息可以通过以下方式查看这里