BADBLOCKS(8)

名前
badblocks - デバイス上の不良ブロックを探す

書式
badblocks [ -svwnf ] [ -b block-size ] [ -c blocks_at_once ] [ -i input_file ] [ -o output_file ] [ -p num_passes ] device [ last-block ] [ start-block ]

説明
badblocks はデバイス (通常はディスクパーティション) 上の 不良ブロックを探すために使用される。 device はデバイスに対応するスペシャルファイルである (例: /dev/hdc1)。 last-block はチェックされる最終ブロックである。 指定されない場合、デフォルトではデバイスの最終ブロックが使われる。 start-block は、テストを開始するブロックを指定するパラメータである (省略可能)。 これを用いると、ディスクの途中からテストを開始できる。 指定されない場合、デフォルトではディスクの開始ブロックが使われる。

重要な注意: badblocks の出力を e2fsck や mke2fs といったプログラムに与える場合には、 ブロックサイズを正しく指定することが大切である。 生成されたブロック番号は、どんなブロックサイズを用いるかに 大きく依存するからである。 このため、 badblocks を直接ユーザが利用することはできるだけ避けるほうがよい。 代わりに e2fsck や mke2fs の -c オプションを用いるようにすることを強く勧める。

オプション

-b block-size
    ブロックサイズをバイト単位で指定する。

-c number of blocks
    ブロックをまとめて何個ずつテストするかを指定する。 デフォルトは 16 である。 この数を大きくすると、 badblocks の効率も良くなるが、メモリ使用量も増加する。 badblocks は、読み出しのみ (read-only) モードでは、 一度にテストするブロック数と同じだけのメモリを必要とする。 読み出し／書き込み (read-write) モードでは、2 倍のメモリを必要とする。 非破壊の読み出し／書き込み (non-destructive read-write) モードでは、 3 倍のメモリを必要とする。 ブロック数パラメータの設定値が大きすぎると、 badblocks はほとんどの場合「バッファの割り当て中」にメモリ不足エラーですぐに終了する。 一方、非破壊書き込みモードのテストで設定値が小さすぎると、 信頼できないハードディスク上の疑わしいブロックが、 ディスクのトラックバッファの影響によって隠蔽されてしまう可能性がある。

-f  通常 badblocks は、マウントされているデバイスに対しては、 読み出し／書き込みテストや非破壊テストを行わない。 このいずれもシステムをクラッシュさせたり、 (たとえリードオンリーでマウントされていても) ファイルシステムを壊す可能性があるからである。 -f フラグを使えばこの動作を強制できるが、 まず用いないようにする方がよい。 自分が badblocks プログラムよりも賢いと考えるなら別だが、 ほとんどそんなことは無いはずだ。 このオプションが唯一安全なのは、/etc/mtab が間違っていて、 デバイスが実際にはマウントされていない場合だけである。

-i input_file
    既存の不良ブロックのリストを読み込む。 不良ブロックであることが分かっているため、 badblocks はこれらのブロックのテストを飛ばす。 input_file が "-" と指定された場合、リストを標準入力から読み込む。 ここで挙げられたリストにあるブロックは、 標準出力や出力ファイルに書き出される 新たに見つかった不良ブロックのリストからは除かれる。 dumpe2fs(8) の -b オプションを使うと、 既存のファイルシステム上で不良ブロックとして マークされているブロックのリストを、 このオプションで使用するのに適した形式で取り出すことができる。

-o output_file
    指定されたファイルに不良ブロックのリストを書き出す。 このオプションを指定しない場合、 badblocks は標準出力にリストを表示する。このファイルのフォーマットは、 e2fsck(8) や mke2fs(8) の -l オプションで使用するのに適している。

-p num_passes
    新たな不良ブロックが見つからなくなるまで、 num_passes 回連続でディスクのスキャンを繰り返す。 デフォルトは 0 で、 badblocks は最初の 1 回で終了する。

-n  非破壊の読み出し／書き込みモードを使う。 デフォルトでは、非破壊読み出しテストがだけが行われる。 このオプションと -w オプションは一方しか指定できないので、同時に指定してはならない。

-s  スキャンの進行状況を表示する。ブロックがチェックされるごとに そのブロックの番号を書き出す。

-v  詳細な表示を行う。

-w  書き込みモードでテストする。このオプションを指定すると、 badblocks はデバイスの各ブロックに、あるパターン (0xaa, 0x55, 0xff, 0x00) を書き込み、 またそれを読み出して比べることにより、不良ブロックを探索する。 このオプションを -n オプションと組み合わせて使うことはできない。 この 2 つのオプションはどちらか一方しか指定できない。

警告
ファイルシステムが存在するデバイスに対して -w オプションを使用してはならない。 このオプションはデータを消去する。 既存のファイルシステムに書き込みモードテストをする場合は、 代わりに -n オプションを使うこと。 -n オプションでのテストは遅いが、データは保存される。

著者
badblocks は Remy Card <Remy.Card@linux.org> によって作成された。 現在のメンテナは Theodore Ts'o <tytso@alum.mit.edu> である。 非破壊の読み出し／書き込みテストは David Beattie <dbeattie@softhome.net> が実装した。

入手方法
badblocks は e2fsprogs パッケージの一部であり、 http://e2fsprogs.sourceforge.net で入手できる。

関連項目
e2fsck(8), mke2fs(8)