不良ブロック出力を解釈する方法

不良ブロック出力を解釈する方法

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

完了、不良ブロック7個発見(7/0/0エラー)
完了、不良ブロック120個発見(0/0/120エラー)

はい推測する「読み取り/書き込み/比較エラー」です。誰かが私を実現できますか?

答え1

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

ソースコードは次のとおりです。

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);
}

答え2

間違っています。不良ブロックが次のように表示される場合何もないこれは、「エラーが見つかりませんでした」ではなく、次のことを意味します。

  • 機械の電源を切るまもなく
  • 交換ディスクの入手
  • $GOD_OF_BACKUPS重要なデータが安全であることを祈ってください
  • 新しいディスクを設定し、既存のディスクからデータをコピーするために必要なタスクを実行します。

ディスクを娯楽用に保管するか、問診で保管するかを選択できます。

(最新のディスクには、不良ブロックを再マップするための追加のシリンダーセットがあります。なぜなら、不良ブロックがなければディスクを作成できず、ユーザーが不良ブロックのリストを見るとクソの叫び声を上げることになるからです。する表示されると、スペースをすべて使用したという意味です。回転ディスクの一般的なエラーモードのために不良ブロックの数が指数関数的に増加するため、いくつかはディスクに通常数時間が残っていることを意味します。 )

関連情報