grubを復旧する方法

Windowsを再インストールした際に、MBRからgrubが消えてしまった。
grubを再インストールする方法を調べた。

必要なモノ

  1. openSUSE11.3のDVD

方法

1.openSUSE11.3のDVDを挿入して、PCを起動する。

2.Rescue Systemを選択し、起動させる。
3.起動後、rescue loign:と表示されるので、『root』と入力する。
4.既存の/bootと/を/mntにマウントする。この2つが一つのパーティションにあるなら、/のみでOK。
うちの環境では、/bootと/を別々のパーティションにしています。
/bootはsdb1、/は/dev/sdb5 にある。

#mount /mnt /dev/sdb5
#mount /mnt/boot /dev/sdb1

5.grubを再インストールする。BIOSで一番最初に読み込まれるHDDを指定する。
 うちの環境では、/dev/sdcが一番最初になっている。

grub-install.unsupported --root-derectory=/mnt /dev/sdc

トラブルシューティング

does not have any corresponding BIOS drive.エラーが出る

上記のエラーは、高確率で出ます。原因は、grubのdevice.mapとデバイス情報が
一致しないため。
OpenSUSEでは、HDDのデバイス名が製品番号になっていて、一般的なsda、sdb等の名前と合わない。


1./boot/grub/device.mapを開き、HDDの名前を/dev/sda に変更する。
 HDDとデバイス名の関係をみるには、fdiskコマンドを用いてHDDを調べる。