This is a post for anyone who, like me, has been doing web searches to find out what might be the problem if your Linux machine displays GRUB Error 15 on booting. Or who has general GRUB issues to debug.
My problem was Error 15, which indicates that GRUB cannot find one of the files it needs. If you get it while setting up GRUB, it’s often fairly easy to find out what’s wrong. But if GRUB thinks it’s installed OK, and you then reboot, you can still get this message but without any further information to help you debug it.
To cut a long story short, the issue for me was that the BIOS (and GRUB while booting), saw my two hard disks in a different order from the way the kernel saw them after booting. So my assumptions that /dev/sda was the same as (hd0) was invalid.
Finding this out took a very long time, though, because, for reasons too complex to go into here, I was booting this server not from a regular CD but from an emulated CD the other side of the Atlantic.
Things became a lot faster when I found this section in the GRUB documentation which explained how to make a bootable CD ISO image with GRUB on it. To save you the trouble, here’s one:
I could mount this and use the GRUB console command line to find out what was wrong. It’s worth exploring the GRUB console, if you haven’t already. It can do things like filename completion when you press TAB, and can even display the contents of text files using, for example,
In my case I found that the BIOS of the machine allowed me to choose the boot order of the hard disks, and swapping them there was the easiest solution.
Hope this is useful to somebody!