Once in while you gotta upgrade your system which indicates a new run of update-grub plus installing it fresh in case of dpkg-reconfigure call. Once in a while you will recognize that this leads into interesting fuckups. In my case, accidently tried to install grub2 onto a mapped raid1 volume next to the 2 pyhsical devices. I would have expected an error, but no, nothing happened. Instead, on reboot, grub-rescue was telling me that the UUID provided is not valid. Guess what, that error unveils a lot of google entries. Speaking of the most – boot your live cd and fix grub. But fix what?
First off, the “set root=
Luckily this is rather simple, once you got a live cd to boot. After startup, open a terminal, and get root. Mount the volume into /mnt/temp
$ sudo su - # mkdir /mnt/temp # mount /dev/mapper/
Mount all needed stuff
# for i in /dev /dev/pts /proc /sys; do mount -B $1 /mnt/temp$i; done
Get into the chroot.
# chroot /mnt/temp
Now verify that internet connection is working, plus all the mounts set (in case you got /var etc on different partitions).
# mkdir /run/resolvconf/ # vim /run/resolvconf/ nameserver 127.0.0.1
# mount -a
Then try an apt-get update.
# apt-get update
Now completely wipe grub2 from your chroot, when asked to delete configs, as well.
# apt-get purge grub grub-pc grub-common
Reinstall the grub packages. When asked only install to physical decides, not volumes nor partitions!
# apt-get install grub-pc grub-common
Update grub files – should have happened automatically, but anyways.
Exit the chroot and unmount stuff.
# exit # for i in /dev/pts /dev /sys /proc; do umount /mnt/temp$1 ; done
Reboot your system and verify everything loaded ok.
An alternate method instead of purge and reinstall will be calling dpkg-reconfigure grub-pc which will allow to (re)set the grub config.