badblocks出力の解釈方法


44

badblocksのマニュアルページには、出力の3つの数値が特に何を意味するかについて言及していないようです。

パスが完了し、7つの不良ブロックが見つかりました(7/0/0エラー)
パスが完了し、120個の不良ブロックが見つかりました(0/0/120エラー)

私はよ推測「の比較/書き込み/読み込み中にエラー」それはです。誰かが私を啓発できますか?

回答:


46

あなたの推測は正しいです。

ソースコードは次のようになります。

if (v_flag)
    fprintf(stderr,
            _("Pass completed, %u bad blocks found. (%d/%d/%d errors)\n"),
            bb_count, num_read_errors, num_write_errors, num_corruption_errors);

そのため、読み取り/書き込み/破損エラー。破損とは、以前に書き込まれたデータとの比較を意味します。

if (t_flag) {
    /* test the comparison between all the
       blocks successfully read  */
    int i;
    for (i = 0; i < got; ++i)
        if (memcmp (blkbuf+i*block_size,
            blkbuf+blocks_at_once*block_size,
            block_size))
            bb_count += bb_output(currently_testing + i, CORRUPTION_ERROR);
}

パーフェクト。ソースでそれを調べてみれば、私に起こったはずの1つのことがわかりましたが、どういうわけかそうではありませんでした。ありがとう。:)
トマラック

もちろん、それが(0/0/120 errors)ケースにカーネルエラーメッセージがない理由でもあります。
トマラック

破損エラーの原因として考えられるのは、badblocks実行中に他の何かがディスクに書き込んだことです。その場合、それはまったくエラーではありません(ユーザーエラー以外)。
frostschutz

この場合、不良ブロックのみで使用している疑わしいディスクです。他のプロセスはそれに書き込みません。手動で位置を計算する以外に、不良セクタリストで出力ファイルを視覚化する方法はありますか?
トマラック

-8

違う。badblocksが「エラーが見つかりません」ではないことを示している場合、それは次のことを意味します。

  • マシンをオフにし、直ちに
  • 交換ディスクを入手する
  • $ GOD_OF_BACKUPSの重要なデータに安全に祈る
  • 新しいディスクをセットアップするために必要なことをすべて行い、古いディスクからデータをコピーします

オプションで、娯楽のために、または文鎮としてディスクを保持できます。

そこにそれらなしでディスクを製造する方法はありません、そして、彼らは不良ブロックのリストを見たとき、ユーザーが血まみれの地獄を叫んだとして、(現代のディスクは、不良ブロックを再マッピングのための余分なシリンダーのセットを持っている。不良ブロックが場合現れ、そのスペースを意味します回転ディスクの一般的な障害モードでは、指数関数的に増加する不良ブロックの数が増えるため、通常、ディスクには数時間の時間が残っていることがわかります。


10
それも問題ではありませんでした。
トマラック

1
badblocks重要なデータが保存されているディスクでは実行しないでください。ディスクにエラーがある場合、エラーbadblocksが原因で元のデータを書き戻すことができない場合、非破壊書き込みモードでも追加の損傷を引き起こす可能性があります。
frostschutz

@frostschutz、-nテストは読み取り専用になっていますか?
フォンブランド

3
いいえ、-n非破壊書き込みです。書き込みますが、テスト後に元のデータを復元します。エラーにより失敗する可能性があります。readonlyのbadblocks場合、オプションをまったく使用しないと思います。
frostschutz

悪いアドバイスではありませんが、質問には合いません。Q&Aスタイルの回答を作成することもできます。
neverMind9
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.