lql.be::wiki  Index  Search  Changes  RSS  Login

grub 復旧

grub の復旧方法

サーバの移転後、起動させたサーバが「Missing operating system」のメッセージとともに立ち上がらなくなってしまった。centos のインストーラから レスキューモード を立ち上げて確認したところ、ディスクは読めるので grub が壊れたのだろうと予想し復旧作業を行なった

MBR のバックアップ

MBR のバックアップを取る

# dd if=/dev/sda of=mbr_backup.img bs=512 count=1

ちなみにリストアするには以下のようにする

# dd if=mbr_backup.img of=/dev/sda bs=446 count=1

MBR のバックアップを外付けHDDに逃す。USBだったけどサーバに差しっぱで起動させればかってにUSBのドライバをロードしてくれるので普通にマウントできる

grub の再インストール

/mnt/sysimage 配下にディスクの領域が見えていることを確認し chroot する

# ls /mnt/sysimage/
# chroot /mnt/sysimage/

grub のセットアップ

# grub-install /dev/sda
/dev/md0 does not have any corresponding BIOS drive

上記のようなエラーがでて、うまく grub が入らなかった。うちのサーバがソフトウェアRAIDを組んでおり、そのままではうまくいかないらしい。ちなみに、ソフトウェアRAIDの状況だと /dev/sda の片方にだけ、MBRが入っており /dev/sdb には入っていないらしい。

mtab の編集を行なうことで grub のセットアップができるようになる

# vi /etc/mtab

/dev/md0 /boot ext3 rw 0 0

↓↓↓

/dev/sda1 /boot ext3 rw 0 0

grub のセットアップを行ない mtab を元に戻す

# grub-install /dev/sda
# vi /etc/mtab
/dev/sba1 /boot ext3 rw 0 0

↓↓↓

/dev/md0 /boot ext3 rw 0 0

再起動後 grub のプロンプト画面が表示される

grub> root (hd0,0)
grub> setup (hd0)
grub> reboot

で、問題なく起動できるようになった

Last modified:2010/12/08 14:32:09
Keyword(s):
References:[linux]