How to , and other stuff about linux, photo, php … A linux, photography blog. To remember some linux situation, and fix them quickly.

August 14, 2015

Reinstall grub after raid crash

Filed under: Linux — Tags: , , , — admin @ 5:51 pm

Well today a client with hetzner server have a problem. Both hard from raid have failed. One is lost forever and one is with bad.
After I have run recover hard for rebuild in raid the server still didn’t boot up. My /dev/sda was faulty and replaced but server was stcuk and didn’t start .
I have to rebuild grub , the hetzner wiki have a tutorial but is not exactly .
So .. in order to start the server reboot in rescue system.
Then my partition table was something like this
/dev/md1 ( /boot ) /dev/md3 (/var) and /dev/md4 (/)

I run this in this order

mount /dev/md4 /mnt
mount /dev/md1 /mnt/boot
mount /dev/md3 /mnt/var

After this

chroot-prepare /mnt
chroot /mnt
grub-install /dev/sdb
grub-install /dev/sda

And the server was up and running .
From here you should be able to copy the partition table to new hard drive and start rebuilding the raid .

 

Another tutorial say something like this

# mount /dev/md1 /mnt
# mount -t none -o bind /dev /mnt/dev
# mount -t proc -o bind /proc /mnt/proc
# mount -t sysfs -o bind /sys /mnt/sys
# chroot /mnt

# grub

Look for the file stage1 to find the boot partitions

grub> find /grub/stage1
(hd0,1)
(hd1,1)

Install the bootloader on both partitions. Both are regarded as hd0 from the point of view of the bootloader at boot time.

grub> device (hd0) /dev/sda
device (hd0) /dev/sda
grub> root (hd0,1)
root (hd0,1)
Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd0)
setup (hd0)
Checking if “/boot/grub/stage1” exists… yes
Checking if “/boot/grub/stage2” exists… yes
Checking if “/boot/grub/e2fs_stage1_5” exists… yes
Running “embed /boot/grub/e2fs_stage1_5 (hd0)”… 17 sectors are embedded.
succeeded
Running “install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,1)…
succeeded
Done.

The same for the other disk

grub> device (hd0) /dev/sdb
grub> root (hd1,1)
grub> setup (hd0)
grub> quit

On another website found some differences

mount /dev/md2 /mnt
mount /dev/md1 /mnt/boot
mount -t dev -o bind /dev /mnt/dev
mount -t proc -o bind /proc /mnt/proc
mount -t sys -o bind /sys /mnt/sys
chroot /mnt
For debian 
apt-get install --reinstall grub-pc 
dpkg-reconfigure grub-pc 

Powered by WordPress