GRUB will automatically invoke its shell at boot time if it cannot locate its configuration file. This typically happens if the file is renamed, moved, or deleted.
A couple useful things to keep in mind -
When you are in grub menu you can swap root(/) directory
hd0,0 = /dev/sda1
hd0,1 = /dev/sda2
hd1,0 = /dev/sdb1
...etc
First number = disk
Second number = partition
you can use find command to find grub.conf, but it has to be the full path as if it were the root disk.
Example: If /dev/sda1 = /boot
and the config file exists in /boot/grub/grub.conf
then to search for it you'd type"
Code:
grub> find /grub/grub.conf
It will return the disk it is located on.
Once you have the disk - let's say it returns (hd0,2) - verify the contents by doing:
Code:
grub> cat (hd0,2)/grub/grub.conf
If everything looks good you can set it as the config file:
Code:
grub> configfile (hd0,2)/grub/grub.conf
If it does not find config file:
Try booting manually by essentially doing what the config file does...
Note: (hd0,0) would be whatever the boot partition is, kernel will be kernel version you are using, initrd will be the initrd you are using
- - if the proper files do not exist this will not work and kernel and initrd will most likely need to be rebuilt.
Code:
grub> root (hd0,0)
grub> kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/BASE-ROOT
grub> initrd /initramfs-2.6.32-358.el6.x86_64.img
grub> boot
Hopefully this helps some?