ksino's diary

覚えたことを忘れないように、小さなことでも書いていく。

Ubuntu 14.04起動時にgrub rescueが表示された

grubのメニューが表示されなくなった場合の対処です。
以下、画面を見ながら手動で転記したのでスペルミスがあるかもしれません。

error: no such partition.
Entering rescue mode...
grub rescue>

先週HDDが一つ死んだばかりだったので、「またHDD障害か??」と焦ったのですが、調べながら対処できました。

grub rescue> ls
(hd0) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos3) (hd1,msdos2) (hd1,msdos1)
grub rescue> ls (hd0)
(hd0): Filesystem is unknown.
grub rescue> ls (hd0,msdos2)
(hd0,msdos2): Filesystem is ext2.
grub rescue> ls (hd0,msdos1)
(hd0,msdos1): Filesystem is unknown.
grub rescue> ls (hd1,msdos3)
(hd1,msdos3): Filesystem is unknown.

どうやら(hd0,msdos2)にUbuntuが入っているようなので、もう少し調べてみます。
(当然ながら、ここはHDDの構成によって異なります。)
ちなみに、日本語キーボードをつないでいても、grub rescueでは英語キーボードの配列で認識されているようなので、記号キーの位置が日本語キーボードとは異なりました。

grub rescue> ls (hd0,msdos2)/boot/grub
./ ../ gfxblacklist.txt i386-pc/ locale/ fonts/ unicode.pf2 grubenv grub.cfg

やはりここですね。

grub rescue> ls (hd0,msdos2)/boot/grub/i386-pc/normal.mod

error: not a directory

まぁ、ディレクトリじゃないので。

grub rescue> set prefix=(hd0,msdos2)/boot/grub
grub rescue> set root=(hd0,msdos2)
grub rescue> insmod (hd0,msdos2)/boot/grub/i386-pc/normal.mod
grub rescue> normal

で、無事grubのメニューが表示されました。
あとはUbuntuを起動して端末を開き、grubを再インストールしておきます。

sudo grub-install /dev/sda