昔は、ドライブに書き込まれた不良ブロックをメモして、ドライブをフォーマットする前に欠陥リストに入力する必要がありました。ハードディスクの表面は決して「完全」ではなかったためです。ディスクを購入すると、ディスクに印刷された欠陥テーブルが表示され、欠陥の少ないディスクが購入されます...
20年ほど前にスクロールすると、ハードディスクメーカーはファームウェアで新しいディスクに不良ブロックがあるという事実を隠します。新しいディスクを購入すると、おそらく不良ブロックがすでに存在しているため、ファームウェアは新しく成長した不良ブロックを検出し、持っているスペアシリンダーのセットからそれらをマッピングしますが、これは、そのセクターで書き込み操作が発生し、ECCアルゴリズムがビット障害を検出した場合にのみ発生し、ブロックをマッピングします。ポイントに戻ると、DDを使用するだけでドライブに強制的に不良ブロックをマップさせることができます。つまり、[編集:偶発的なドライブの破壊を防ぐために次の例を編集しました:ワイルドカード文字を削除し、Xに置き換えました]
dd if=/dev/zero of=/dev/sdX bs=1M
明らかに、ゼロにしたいドライブを反映するようにof = targetを変更します。これは、ドライブの欠陥を再マッピングする最も早い方法です。また、ターゲットドライブを間違えてLinuxセットアップを完全に破棄する最も速い方法です。 Enterキーを押す前に、もう一度確認してください。ddコマンドでブロックサイズのサイズを大きくして、読み取り/書き込みを最適化し、おそらく処理を高速化することができますが、ポイント後のリターンは減少します。1Mから8Mの間が最適だと思う
DDに1つのセクターを書き込むだけで、悪いセクターをリマップすることができます。したがって、ドライブをバックアップする必要はありませんが、正確にわからなければ魚やロシアンルーレットのまったく異なるケトルです。あなたがしていること.....
このコマンドは、パーティションを含むハードドライブ上のすべてを破壊します。しかし、それはドライブが持っている可能性のある不良セクターをマッピングすることを強制します。
ブートセクターにない限り、ディスクに不良セクターが存在することは完全に問題ありません。それらがドライブである場合、ドライブが役に立たない場合、数か月後にドライブが不良セクターをより多く開発していることに気付いた場合は、時間です交換品の購入を開始します。
私はこのような数百のドライブを復活させましたが、その後何年も生き続けてきましたが、不良セクタは必ずしもドライブの死の告白ではありません。