我需要使用 Debian GNU/Linux 克隆一个失败的 2TB 磁盘,该磁盘包含一个 NTFS 分区。磁盘有许多不可重定位的坏扇区,所以我知道部分数据已经丢失;但是我需要克隆磁盘才能尝试使用testdisk
.
我发出克隆它的命令是:
dd if=/dev/sdc of=/dev/md2 bs=512 conv=noerror status=progress
大约花了 2 天时间完成,在此期间它发现了大约 3GB、66GB 和 88GB 的坏扇区。故障磁盘很旧而且不是高级格式,所以我知道它的扇区肯定是 512 字节。
问题是尝试testdisk /dev/sdc
读取目录(但由于坏扇区而无法恢复文件),而 tryngtestdisk /dev/md2
甚至没有列出目录内容。该磁盘仅包含 NTFS 分区,它跨越了整个可用空间。为什么克隆与原始不一样,至少在未损坏的扇区上?我是否以一种不好的方式克隆,我应该以其他方式克隆它,例如不同的命令或选项?
感谢Michael Hampton的建议,我发现
myrescue
,类似于dd_rescue
,但有更好的文档记录(至少这是我的印象)。我首先克隆了磁盘以
myrescue
相反的顺序读取它(从最后一个扇区到第一个扇区),然后以正常顺序再次读取丢失的扇区。全部完成禁用每个预读和缓存。我一尝试就发现它需要 50 多天才能完成,所以我写了一个脚本myrescue
,在很长一段时间内可能出现电源线停电后,自动从上次中断的地方重新启动。它恢复了我需要的一切,但请注意:YMMV 和故障磁盘对您的数据来说不是开玩笑,因此请阅读
myrescue
文档并在对磁盘执行任何操作之前三思而后行,包括运行我的脚本。如果您碰巧没有其他选择(或没有其他更好的选择),只能运行 myrescue,这是我编写的脚本,以防万一有人感兴趣: