
ハードドライブにエラーが発生したため、データを抽出する必要があります。私のdd
カンフーは今失敗しています。ドライブが60515007〜60517093(それぞれ512b)セクタや他の多くの場所でエラーが発生したことがわかります。この部分はスキップする必要があります。どうすればいいですかdd
?インスタントで圧縮する必要があります(おそらくパイプ?)。良い圧縮アルゴリズムをお勧めできますか?
答え1
本当にこれを行うには、dd
読み取り値を分割する必要があります。
dd if=/dev/sda bs=512 count=60515006 | gzip -9 > dump1.gz
/dev/sda
toの最初の60515006セクタdump1.gz
はgzip
。それから
dd if=/dev/sda bs=512 skip=60517093 count=... | gzip -9 > dump2.gz
失敗した部分をスキップし、必要な次のセクタをダンプしますdump2.gz
。
どこかにディスク容量を確保できる場合は、以下を使用することをお勧めします。救う代わりに、失敗したディスクを自動的に複製できます(I / Oエラーのため停止しません)。この方法はよりはるかに速く動作し(大きなチャンクを読むことから始め、失敗した部分の周りのデータを取得するために必要な場合にのみ少ない量を読み取る)、すべてのスキップdd
などを理解する必要はありません。出力ファイルを見つける必要があるため、圧縮された出力はサポートされません。