不良セクタの検査と登録

HDDは使っているうちに不良セクタが出来てしまうことがあります。
不幸にもこのような状態に陥ったとき(あるいはそれを検出するとき)の手順を簡単にメモしました。

ちょうど私の家のサーバが調子悪かったときのメモです。

現在の不良セクタを確認します。
# dumpe2fs -b /dev/hda4

いろいろなe2fsの情報が見れます。
# dumpe2fs /dev/hda4

検査
# cd /
# badblocks -s -o badblocks.hda4 /dev/hda4
このオプションならば非破壊です。マウントしていてもいいらしいです。
-s は経過表示
-o ファイル名 は、不良セクタがあったときのブロック番号のファイル化です。(登録時に使う)

なお、すでに不良セクタが登録されている場合は
# badblocks -s -i badblocks.hda4 -o badblocks2.hda4 /dev/hda4
とすることで登録済みの領域をスキップします。
作成される badblocks2.hda4 は、新規の不良セクタ分のみです。既存のは出力されません。
あたりまえですが、in/outを同じファイル名にしないでください。

不幸にも検出されてしまったら、

登録
# cd /
# fsck -l badblocks.hda4 /dev/hda4   (オプションは小文字のエルです。)
不良セクタを登録します。マウントは外しておく必要があるでしょう。
ファイルは、新たに登録する不良セクタのみ記録されていれば良いです。

登録済みの不良セクタをリセットして、今回のファイル分だけにする場合は、
# fsck -L badblocks.hda4 /dev/hda4
と、大文字にします。

※ fsckにはオプションでbadblocksを自動的に起動することができるのですが、
※ なぜかうちの環境では、ブロック番号が1つずれてうまく登録してくれませんでした。
※ というわけでbadblocksを手で行いました。
※ こうすれば1ずれなかったと思うけど、忘れました。
※ 登録後にもう一度badblocksかけて確認したほうがいいかも。


戻る