如何对不可读扇区进行磁盘复制?

如何对不可读扇区进行磁盘复制?

我想按字节克隆整个磁盘,例如

dd if=/dev/$SRC of=/dev/$DST bs=65536 count=$count

有更好的工具可以完成这项工作,它们了解文件系统(Windows)并且工作速度更快(我不在乎),但它们由于旧源磁盘上的不可读扇区而失败。

实际上有一个无效块我必须跳过。所以我考虑dd多次使用

dd if=/dev/$SRC of=/dev/$DST bs=65536 count=...
dd if=/dev/zero of=/dev/$DST bs=65536 count=... skip=... seek=...
dd if=/dev/$SRC of=/dev/$DST bs=65536 count=... skip=... seek=...

用零替换损坏的扇区数据。这是一个有效的方法吗?我找到了这个问题这让我很困惑。

答案1

不要重新发明轮子。使用ddrescue

GNU ddrescue 是一个数据恢复工具。它将数据从一个文件或块设备(硬盘、CDROM 等)复制到另一个文件或块设备,在发生读取错误时尝试首先挽救好的部分。

不要相信 dd conv=sync,noerror,除非你真的知道它是如何工作的。

相关内容