Maxの日記: HDDクラッシュ
/.jpでも話題になっているが、HDDについては信用ならないものが時々ロットごと流れたりする。
過去にも何社かあったが、幸いにしてIBM製でその手のアコギなドライブにあたったことはない。
ボクが警戒しているのは、これも話題になっていた
F社製HDD
である。これは逝って良い。つーか、すでに逝っている。
ムカツクのは、ボックス品を買っても保証期間ギリギリで死ぬという極悪さである。
某団体で数十台導入したDeskpowerのかなりな台数が1年前後でHDDクラッシュで死んでいる。
保証期間を過ぎたものは当然修理代金とられるが、なんか腑に落ちないと思っていた。
ロットによるのか製品によるのかと思っていたが、個人で買ったPCやらサードパーティ製のボックス品でもこの傾向は同じである。
・・・とぶつくさ言っている間に、自分のノート機のHDDが逝ってしまった(泣
Windozeと同居させている(せざるを得ない)マシンでは割と良く起こる、スーパーブロック破損によるクラッシュである。
同じく同居させていてもWindozeを起動させない限り壊れないのだから、深く関与しているのは間違いなくWindozeである。
しかも、Win2KでもNTでもこれが起こるので、どこかゲイツ様の会社の作られたシステムの基本的な所に伝統的なバグが潜み続けているとしか思えない。
あるいは意図的に残してるのか、コラ!と言いたくなるが、NTの場合は、linux入れてなくても隣接したパーティションを壊すタイミングがあるので、他社OS排除のためとは言えないか。
OS自体がハングったときによく起こりますな。
とりあえず、復旧方法はここを参考にして、たいてい試みるのだが、これがまたこの通りに行ったことがない。
起動用FDやら、インストール用CDで起動してレスキューモードにて次の手順で復旧を試みる。
# "*"は1,2など復旧させたいパーティションの値に適当に読み替える。
- mke2fs -S /dev/hda*
あるいは
mkfs.ext2fs -S /dev/hda* (Mandrakeの場合はこれ) - 上記で表示されるスーパーブロックの値を書き留めておく
- e2fsck -b /dev/hda*
を実行して、復旧する。ここでオタオタしてもしかたないので、ボクは
e2fsck -y -b /dev/hda*
として運を天に任せる(投げやり - これで復旧したパーティションはすでにマウント可能なので、たとえば
mount -t ext2 /dev/hda* /mnt/disk
などとしてマウントする。 - /mnt/disk/lost+foundを調べる。
不整合なディレクトリがこの中に入っている。よく調べた上、これらをしかるべきディレクトリにリネームする。
たいていはパーミッションも保持されているので、たとえば
mv /mnt/disk/lost+found/#****** /mnt/disk/hogehoge
といった感じでリネーム/移動させるだけでよい。
# "******"は数字(lost+found内に作成されるディレクトリ) "hogehoge"はルートディレクトリ配下のサブディレクトリなど、本来存在するべきディレクトリ。 - 中身が空っぽな場合もマウントポイントであったりするので、留意する。
存在すべきディレクトリは手動で作成し、正常な状態と同じようにパーミッションを設定する。
ま、たいていこれで復旧するのだが。
今回はなぜか、/dev/hda1のWindowzeパーティションがマウントできなくなった(滅
/mnt/windows/windows/fontsに対してsymlink張っていたアウトラインフォントがきれいに使えなくなってシマタ(号泣
...よく調べたら、/lib/modules/2.4.8-26mdk/kernel/fs/nls以下がごっそりなかった。
kernelのrpmパッケージを上書きして決着。くわばらくわばら。
次はあなたのマシンかも知れない