このコマンドは次のとおりです。
badblocks -svn /dev/sda
それは何をしますか?不良ブロックだけを報告しますか?それとも何とかしましたか?扱う不良ブロックなので心配する必要はありませんか?
マニュアルを読みましたman badblocks
が、次の-n
オプションは表示されません。
-s Show the progress of the scan by writing out rough percentage completion of
the current badblocks pass over the disk. Note that badblocks may do multiple
test passes over the disk, in particular if the -p or -w option is requested
by the user.
-v Verbose mode. Will write the number of read errors, write errors and data-
corruptions to stderr.
-n Use non-destructive read-write mode. By default only a non-destructive read-
only test is done. This option must not be combined with the -w option, as
they are mutually exclusive.
badblocks -svn /dev/sda
ほぼ2日間続いた作業の結果は次のとおりです。
修正する
一部の記事では、実行後にbadblocks -svn /dev/sda
ハードドライブコントローラが不良ブロックを処理することを提案しています。わからない。
ハードドライブコントローラに不良ブロックをスペアブロックに置き換えます。
https://askubuntu.com/a/490552/507217
このようにディスクを完全に処理した場合、ディスクコントローラはすべての不良ブロックをワークブロックに置き換える必要があり、SMARTログの再割り当て数が増加します。
https://askubuntu.com/a/490549/507217
賢い
次のコマンドを実行した後、SMARTテーブルを確認しましたbadblocks
。
smartctl --all /dev/sda
Current_Pending_Sector
元の値はです56
。28
報告されたものの2倍ですbadblocks
。たぶん彼らは関連しているかもしれません。
エラーの説明
これによると:
badblocks
エラーログの形式はですreading/writing/comparing
。私の場合、すべての28
エラーは読み取りエラーでした。意味いいえアプリケーションはこれらのブロックを読み取ることができます。
オペレーティングシステムログ
オペレーティングシステムのログを確認しましたsudo journalctl -xe
。実際、SMARTはこれらの56
不良セクタ(不良ブロック)に対して28
エラーを発生させます。
smartd[1243]: デバイス: /dev/sda [SAT], 56 現在セクターを読み取ることができません (保留中)。
結論として
遅すぎる前にデータをバックアップし、ハードドライブを交換したいと思います。
答え1
これ」非破壊読み書きモードこの-n
オプションによって実行されると、テストデータがあたかも作成されたかのように各ブロックに書き込まれ、ディスクが書き込みを-w
許可したり、失敗したブロックを再割り当てしたり、書き込みエラーを返すように強制します。
しかし、最大の利点は、上書きするブロックを最初に読み、テストデータを書き込んだ後にそのデータを書き換えることです。これはbadblocks
、完了すると、ディスクに実行を開始する前と同じデータを含める必要があることを意味します。
プロセス
- チャンクの読み取りと保存
- テストデータブロックの書き込み
- ステータス結果をキャプチャし、必要に応じて報告します。
- 保存されたブロックの上書き
- 完了するまで次のブロックで繰り返し
警告する
良好なデータブロックをディスクに書き込むと、期待した操作が実行されます。ブロックが記録されます。ただし、書き込みが失敗した場合、ディスクファームウェアは自動的に透過的にブロックアドレスをスペアブロックの1つに再マップし、ディスク上の新しい場所から書き込みを再試行します。書き込みが成功した場合、他には不明であり、ディスクは完全に正常に見えます。 (SMARTテーブルでは、セクタ再割り当てカウンタは1ずつ増加します。)最終的に、時間の経過とともにスペアブロックセットをすべて使用することができ、その時点から再マッピングされたディスク書き込みは単に失敗します。
フルディスク書き込みテスト(たとえば、またはbadblocks
提供-w
されているテスト-n
)は、すべてのディスクブロックを強制的に書き込み、すべてが利用可能であることを確認し、それ以外の場合は再マップできないディスクブロックを強調表示します。
参考にしてくださいbadblocks
データが失われないという保証はありません:ブロックが読み取れない場合は、テスト後に書き換えることができないため、書き込みテストは実行されません(ただし、ブロックを不良として報告します)。ブロックが読み取れない場合、badblocks
他のアプリケーションも読み取れません。あなたのデータが失われました。
私のアドバイスはあなたが得るならどの再マッピングできないディスクブロックできるだけ早くディスクを交換してくださいもはや安全網がないからです。 (個人的には、このステップに達する前にこれらのディスクを交換したいと思います。)ddrescue
ツール役に立つ存在するデータのコピー破損したディスクから新しいディスクへ。