GRUBで停止してOSが起動しない場合

CentOS5の話。

何気なく"yum update"を実行し、パッケージのアップデートを実施した。で、kernelのアップデートも含まれていて、それも踏まえた上で普通にアップデートしたつもりだった。


が、しかし、その後、kernelがアップデートされたので再起動したところ、画面に「GRUB」の文字が表示されたままビープ音が鳴り続け、OSが起動しなくなってしまった


久しぶりですよ、GRUBで止まったの。復旧手順なんてすっかり忘れてしまった。フロッピーディスクドライブもないしなぁ、、、と呟きつつ、Google大先生に教えてもらいましたYO!


とりあえず、CentOS5のインストールディスク(私はネットワークインストール用を使いました d:id:rx7:20080220:p1)からCDブートし、「linux rescue」と入力し、レスキューモードで起動。
んで、ごちゃごちゃと注意書きとガイドが出てくるので、OKを数回押しつつ、シェルのプロンプトが出てきたら、以下の順にコマンドを叩いて復旧。

# chroot /mnt/sysimage
# grub-install /dev/md0

私はソフトウェアRAIDを組んでいるので、/dev/md0(/boot用のパーティション)としています。
普通にハードディスク1本の場合は、/dev/hda1か/dev/sda1というところでしょうか。この辺はお使いの環境にあわせてご変更ください。


GRUBの再インストールが完了したところで、再起動すると見事に復旧。


ちなみに、、、

# grub-install /dev/md1
/dev/md1 does not have any corresponding BIOS drive.

最初、勘違いして、/dev/md1と叩くと上記のエラーが出ました。いつもの癖でソフトウェアRAIDの場合、md"0"から始まっていることを忘れていました。
OSインストール時のディスクパーティションの切り方にもよりますが、このあたりご注意を。