I keep two OSses installed, one of which is primarily to hold the boot manager and as a rescue system when I botch the other. These are on two different disks and, in fact, two different disk controllers.
Grub thinks I must have RAID since I have an external controller that is known for being used as a cheap RAID controller. So it continually messes up its guesses about which drive is which. So, affter I upgraded the rescue/boot system, it tried to set itself up to boot that system from (hd2), but it should have been trying to set itself up to boot from (hd0).
Now, you'd think I could edit the boot command in grub and go, but, no. The arrangement of three hard disks spread across two controllers causes grub to wander off into never-neverland.
The upshot of all this is that it gave me this message:
symbol not found: grub_divmod64_fulland dumped me into the grub rescue shell. (And induced this rant when I went looking for answers and found more questions.)
After more mucking around in the internet, I just burned a copy of the XFCE install disks for debian 7.1, booted the resulting CD, and used the included rescue functions to re-install grub.
- (got a shell,
- mounted the botched boot partition to /mnt or /target,
- edited /mnt/etc/default/grub, but did I actually change anything important?
- returned to the install functions,
- selected the re-write grub option in the CD,