読み取り不可能なセクターを含むディスクをコピーするにはどうすればいいですか?

読み取り不可能なセクターを含むディスクをコピーするにはどうすればいいですか?

ディスク全体をバイト単位でクローンしたいのですが、

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

この作業には、ファイル システム (Windows) を理解し、より高速に動作する (私は気にしません) より優れたツールがありますが、古いソース ディスク上の読み取り不可能なセクターが原因で失敗します。

実際にはスキップしなければならない無効なブロックが1つあります。そこで、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 はデータ復旧ツールです。あるファイルまたはブロック デバイス (ハード ディスク、CD-ROM など) から別のファイルにデータをコピーし、読み取りエラーが発生した場合にまず正常な部分を復旧しようとします。

しんじないでください dd conv=sync,noerrorただし、それがどのように機能するかを本当に理解していない限りは。

関連情報