Recovering from grub issues
This is a follow on from the article describing how to mirror your disks using LVM and mdadm. While I was testing booting off each mirror, I managed to screw up grub. This is how I recovered it. The procedure is slightly more complicated than if you used standard partitions due to the fact I was using both LVM and mdadm. However, it just requires a couple of extra steps.
1. Boot your PC/server from a live CD. Be sure to use a 64bit live CD if your OS is 64bit.
2. Mount the root filesystem from your server disk (in this case, a logical volume)
mount /dev/vg-mint/root /mnt
3. Now bind the directories that grub may need
mount --bind /dev /mnt/dev mount --bind /dev/pts /mnt/dev/pts mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys
4. Now we need to mount /boot . However, it is a metadevice so first we need to install mdadm
apt-get install mdadm
5. Now discover the metadevice and mount it
mdadm --assemble --scan mount /dev/md0 /mnt/boot
6. chroot the /mnt environment
7. Now fix grub (mirrors are /dev/sda & /dev/sdb in this example)
grub-install /dev/sda grub-install /dev/sdb grub-install --recheck /dev/sda grub-install --recheck /dev/sdb update-grub
8. Now reboot