Recovering from 'grub rescue>' crash
- by DocSalvage
I did a dumb thing... I forgot that Ubuntu 10.04 (Lucid) switched to Grub2 which puts a ton of *.mod files (kernel modules) in /boot/grub. I thought they were soundtrack files put there erroneously and moved them. Needless to say, the next reboot was traumatic. I was presented with something I had no memory of ever seeing... a 'grub rescue' prompt.
With the help of how-to-fix-error-unknown-filesystem-grub-rescue however, I was able to recover...
Discovered that Grub Rescue does not have 'cd', 'cp' or any other filesystem commands except its own variation of 'ls'.
So first I had to find the partition with the /boot directory containing vmlinuz... and other boot image files... (failed attempts not shown)
grub rescue> ls
(hd0,4) (hd0,3) (hd0,2) (hd0,1)
grub rescue> ls (hd0,2)/boot
... grub ... initrd.img-2.6.32-33-generic ... vmlinuz-2.6.32-33-generic
Then manually boot from 'grub rescue' prompt (no command history either!)...
grub rescue> set root=(hd0,2)/boot
grub rescue> insmod linux
grub rescue> linux (hd0,2)/boot/vmlinuz-2.6.32-33-generic
grub rescue> initrd (hd0,2)/boot/initrd.img-2.6.32-33-generic
grub rescue> boot
This boots and crashes to the BusyBox prompt which DOES have some rudimentary filesystem commnds.
Then I moved the *.mod files back to the /boot/grub directory...
busybox> cd /boot
busybox> mv mod/* grub
busybox> reboot
The reboot was successful but that was a lot of work.
Is there an easier way?