2006年12月02日(Sat) 雪が降る [長年日記]
● ノートPCのハードディスクをまた壊したかもしれない。
電源を入れると表示が「grub」で止まる。げげげ。鞄ごと机から落したのが悪かったか。
● grubブートCD-Rの作成
ハードディスクがどのくらいこわれたか調べたい。
この機会にgrub2を使ってみようと思ったがbisonが入ってなくて作れなかった。残念だけど次の機会に…。
grubのブートCD-Rは、grub-0.97-2mで、grub manualより下記の手順で作った。
このCD-Rから起動すると、期待どおり、grub>
プロンプトが現われた。
● grubから壊れかけハードディスク内のWindows XPの起動
いつも通りWindowsが起動してくれた。すかさず常用のバックアップスクリプトでファイルをメインマシンにrsyncしておいた。
● grubから壊れかけハードディスク内のMomongaの起動
Momongaのルートファイルシステムと/bootディレクトリは、/dev/hda6にある。
こちらも無事ブートした。貴重なファイルはsvnなりcvsなりに入っているか、メインマシンに入っているはずなのでブートさえできればとりあえずは平和。
…しかしDocoMomoの入ったUSBメモリはどこに置いてきちゃったんだろう。
(追記) USBメモリは鞄の中のサングラスの袋にサングラスと仲よくおさまってました。財布に入れるには大きいし、単体で鞄に入れるには小さいし、微妙な大きさだよなぁ。
● grubの再インストール
というわけで、机からの落下で壊れたのはgrubのみと楽観的に考えておくことにする。それならgrubだけ再インストールできれば元に戻るはず。
ハードディスクのgrubから、Windows XPの起動と、Momongaの起動に成功。冷や汗ものでした。
いや、替えのハードディスクは手配しとかないとな。
(追記) やっぱり品薄だ。次に買うノートPCはもっと普通のハードディスクのものにしよう…ということは置いておいて今はどうしようかな。
あー、お願いですから、grub-install使ってください。手動インストールはまずいことが時々起きちゃうんで。
あれれ。grub manualの§3.3 Installing GRUB using grub-installの冒頭の「This procedure is definitely less safe」を読んで、3.2 Installing GRUB nativelyとりも危険なんだ、と解釈しちゃいました。§3.3の最後には、「…you may run grub directly to install GRUB, without using grub-install. Don't do that, however, unless you are very familiar with the internals of GRUB.」と書いてありますね。internals知りたーい!のですが。
bad knowhowはgrub-installの中身を見れば大体分かると思います。<br>基本的に、Linux上ではファイルをディスク上の最終位置に確実に書き込む手段がないのが問題なのです。XFSだとxfs_freezeで出来ることになっているにもかかわらず、本当には出来てないのがFedoraで問題になってたりしました。そのため、GRUBが検出するセクタ情報がLinuxがそうしたいと思っているセクタ情報と一致しないという矛盾が起きて、結果的にいろいろぶっ壊れます。<br>そのため、grub-installには「大丈夫っぽくなるまで待つ」コードが含まれています。それ以外にも細々したチェックを入れてますが、一番危険なのはこれです。
最近のツッコまれどころ