Atlanta Linux Enthusiasts General Mailing List で、この質問に対する素晴らしい回答を見つけました:
<ブロック引用>マンページを約10回熟考して読んだ後、私は最終的にこれを理解しました。他の誰かが情報を必要とする場合に備えて、共有すると思いました。これらのリストは通常、マニュアルページを引用するだけなので、グーグルはあまり役に立ちませんでした。 man ページに last-block first-block と書かれている場合、それらの WORDS を入力するのではなく、NUMBER を入力する必要があります。どちらもオプションであると記載されていますが、last-block を除外する方法がわかりません。最初のブロックを指定したい
最初にブロック 33000001 でテストを停止したとします。1 ブロック少ないところでテストを再開するので、33000000 です。
最初に、パーティションの最後のブロック番号を特定する必要があります。それを行う 2 つの方法を見つけました。
<オール>
badblocks
を開始できます ブロック番号なし。処理中のブロック範囲が表示されます。
例:sudo badblocks -sv /dev/sda3
そして、それは次のように言います:
Searching for badblocks in read only nondestructive mode from block
to 66828373
この終了ブロック番号を書き留めます。 CTRL-C でテストを終了します 次に、必要なブロック番号を指定してコマンドを入力します。
fdisk
を使用できます (または sfdisk
も考えます ) コマンドを使用して、パーティション情報を一覧表示します。情報の列の 1 つは # ofblocks です。ブロックの番号は 0 から始まるため、関心のあるパーティション内のブロックの数と 1 を減算します。
sudo fdisk -l /dev/sda
(このオプションは小文字の L です。この場合、パーティション番号は指定せず、ハード ドライブの指定のみを指定します。)
そして、それは次のように言います:
/dev/sda2 ... /dev/sda3 ... 66828374 /dev/sda4 ...
関心のあるパーティションを見つけ、ブロック数を読み取り、1 を引いて最後のブロック番号を見つけます。
これで badblocks
を入力できます 次のようにコマンドします。ブロック 33000000 のパーティションの途中でテストを開始したいとします。この例は、badblocks
を使用した非破壊読み取り/書き込みモードの場合です。 テキストファイルにリストします。ライブ CD から起動した場合、再起動するとこのテキスト ファイルが失われます。
sudo badblocks -nsv -o ~/Desktop/badblocks.txt /dev/sda3 66828373
33000000
これにより、ブロック 33000000 からパーティションの最後までがテストされます。 fdisk
で報告されているように、最後のブロックとして 66828374 を指定した場合 、そのブロック番号が悪いと報告されますが、実際にはそのブロック番号は存在しません。
しばらくの間本当に混乱したので、他の人がこれを役に立つと思ってくれることを願っています.
よろしくお願いいたします。
ロン
どのブロック badblocks
から指定する方法があります 開始する必要があり、最後のブロック (man badblocks
を参照) ):
badblocks [ -svwnfBX ] [ -b block-size ] [ -c blocks_at_once ] [ -e
max_bad_blocks ] [ -d read_delay_factor ] [ -i input_file ] [ -o
output_file ] [ -p num_passes ] [ -t test_pattern ] device [
last-block ] [ first-block ]