パソコンを起動させるとこのような画面になって勝手に立ち上がってくれなくなりました
GNU GRUB version 0.97 (639K lower / 1047488K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible grub> _
なので今回はここに書いてある
http://www.gentoo.org/doc/ja/handbook/handbook-x86.xml?part=1&chap=10
コード表示 2.8: GRUBをMBRにインストールする grub> root (hd0,0) (/bootパーティションの場所を指定します) grub> setup (hd0) (MBRにGRUBをインストールします) grub> quit (GRUBシェルを終了します)
これを各自の環境にあわせて実行するだけです
/bootパーティションの場所がわからない場合は
/boot/grub/grub.confもしくは/boot/grub/menu.lstのようなディレクトリ構造をしているはずなので
grub> find /grub/grub.conf grub> find /boot/grub/grub.conf grub> find /gurb/menu.lst grub> find /boot/gurb/menu.lst
こんな感じに手当たり次第探していきます
すると私の環境ですと
grub> find /grub/grub.conf (hd0,0)
このように(hd0,0)に/bootのパーティションがあることがわかります
なので私の場合は
grub> root (hd0,0) grub> setup (hd0) grub> reboot
とあまり変わりませんがこれを実行してgrubの再インストールをして修復しました
しかし…なんでgrubが壊れたんだろう
考えられる原因としてはフリーズしたから電源を落としたぐらいかな
余談:手動でカーネルを起動する方法
この方法をするにはある程度システムの構成をわかっていないとできないと思いますが
grub shellが立ち上がっている状態で
grub> find /grub/grub.conf
又は
grub> find /boot/grub/grub.conf
などでgrubの設定ファイルがあるデバイスを調べる
場合によってはgrub.confではなくmenu.lstかもしれません
すると私の環境だと
grub> find /grub/grub.conf (hd0,0)
このように(hd0,0)にあることが判明するので
grub> cat (hd0,0)/grub/grub.conf
こうやってすでに書いてある設定を参考にして
私の環境の場合ですと
grub> root (hd0,0) grub> kernel /linux-3.3.8-gentoo root=dev/sda3 video=uvesafb:1280x1024-32,mtrr:3,ywrap grub> boot
このように起動するか
grub.confの場所がわかったのでカーネルの場所も(hd0,0)だなと予測することができます
次にルートディレクトリはどのデバイスなのかを調べます
grub> find /fstab
又は
grub> find /etc/fstab
などでfstabのあるデバイスを調べます
すると私の環境では
grub> find /etc/fstab (hd0,2)
するとfstabが(hd0,2)にあることがわかるので
grub> cat (hd0,2)/etc/fstab
をするとずらずらと出力されますがその中から
/dev/sda3 / ext3 noatime 0 1
のような2番目が/の行を探してください
すると1番目が/dev/sda3になっているのでこれがルートディレクトリのデバイスになります
ここまで手に入れた情報を整理すると
(hd0,0)にカーネルがあって
/dev/sda3にルートディレクトリがあることがわかりました
後はkernelのところはTABの補完を駆使して埋めていきます
grub> root (hd0,0) grub> kernel /linux-3.3.8-gentoo root=/dev/sda3 grub> boot
するとこのようにすれば起動できるはずです