GRUBが起動しなくなったときの対処法

急にGRUBが起動しなくなった。

GRUB _

で止まる。
そんなときの対処法。
調べてみると、どうやらGRUBが破損してしまったようなので再インストールする。
しかし、当方の環境はUbuntu, FreeBSD, Windows Vistaのマルチブートにしているので、ここは慎重にいかないといけない。


まず、UbuntuのLive CDから起動する。
最初のメニュー画面でF6キーを押して起動オプションを立ち上げる。
そうしたら、長い文字列が出てくるので、”boot=casper"の部分を”root=/dev/sda6"に書き換えてEnterを押す。sda6はUbuntuのシステムがインストールされているパーティション。従って環境によっては”sda1"とかになっている可能性もあるので注意。(どのパーティションかわからない場合は、一旦Live CDから普通に起動して、 システム→システム管理→パーティション・エディタ でパーティションを見れる。)


これでハードディスクのUbuntuを通常起動できる。
端末で以下のコマンドを入力。

sudo /usr/sbin/grub-install /dev/sda6


通常はこれで復旧するけど、VistaブートローダであるBootmgr を使っている場合はそうはいかない。
ノートPCでWindows VistaとUbuntuのデュアルブート - SEにはなりたくない情報系の大学生
の方法でマルチブート環境を構築している場合は、ブートイメージも入れ替えないといけない。
以下のコマンドでGRUBをインストールしたパーティションの先頭512バイトをブートイメージとして保存する。

sudo dd if=/dev/sda6 of=ubuntu.pbr bs=512 count=1

そして、Vistaがインストールされているパーティションをマウントして、今作成したubuntu.pbrをCドライブ直下にぶちこむ。
元々あったubuntu.pbrを上書きしてもいいけど、一応バックアップをとっといたほうがいいかも。


これでちゃんと起動できるようになった。


参考:
Goro&Ubuntu GRUBの再インストール