メイン

grub アーカイブ

2006年11月30日

MBR(Master Boot Record)がおかしくなった時の対処方法

ブートローダにgrubを使っている時の場合はgrub起動ディスクが必要。
あらかじめ作っておく必要があるのだがない場合は
他のLinux環境で作るなどの作業が必要。

CentOS4の場合フロッピードライブにフロッピーディスクを入れて以下のコマンドを入力。

# dd if=/usr/share/grub/i386-redhat/stage1 of=/dev/fd0 count=1
---
読み込んだブロック数は 1+0
書き込んだブロック数は 1+0
---

# dd if=/usr/share/grub/i386-redhat/stage2 of=/dev/fd0 seek=1
---
読み込んだブロック数は 202+1
書き込んだブロック数は 202+1
---

これで完成。
実際の使い方は、ちょっとめんどくさいが、/boot/grub/grub.confにかかれている内容そのまま。
だからCDブートLinuxなどで起動してCentOS4のパーティションをマウントしてgrub.confをみてみよう。

出来たフロッピーでMBRを新たに書き換える場合はフロッピーからブートしてプロンプトが出たところで次のコマンドを順に打つ。
適宜環境にあわせて値を変更してください。

grub> root (hd0,1) <--- ハードディスク1番目の2つ目のパーティションの場合
grub> kernel /boot/vmlinuz-2.6.9-42.0.3.EL ro root=/dev/hda2 rhgb quiet
grub> initrd /boot/initrd-2.6.9-42.0.3.EL.img
grub> boot

これで起動する。
起動したら/boot/grub/grub.confを確認した後MBRを書き換えましょう。

# grub-install /dev/hda <--- ハードディスクの先頭領域にMBRを書き込み