Sign up ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

I damaged my grub2 config. I can still easily launch my otherwise healthy Ubuntu 10.10 64 bit system using Partition Magic's Super Grub Disk 2's "detect any OS" utility, but when I try to boot from the system drive via it's grub2 installation, I get:

error: out of disk.
error: symbol not found: 'grub_os_area_addr'.
error: symbol not found: 'grub_os_area_addr'.

  Failed to boot both default and fallback entries.

Press any key to continue...

Per some advice I saw on the web, I booted the system back up using PM's utility, completely uninstalled grub2, grub-common, etc., made sure my /etc/grub.d directory was empty, reinstalled grub2 from synaptic, and ran update-grub, at which point it found my linux install and completed with no errors.

When I reboot now, I get the correct grub menu (there's only one linux install on the system - I don't have other disks/partitions with OSes), but when it tries to launch it, it fails as described above.

When I look at the grub command that partition magic's utility generates that actually works (generated from the grub2 "edit command" option you can use before launch), it says:

set root=hd5,1
linux /boot/vmlinuz-2.6.35-28-generic root=<the correct UUID> ro
initrd /boot/initrd.img-2.6.35-28-generic

However when I look at (from the grub boot menu) the command generated by "update-grub", I see:

insmod part_msdos
insmod ext2
set root='(hd4,msdos1)'
search --no-floppy --fs-uuid --set <the correct UUID>
linux /boot/vmlinuz-2.6.35-28-generic root=<the correct UUID> ro quiet splash
initrd /boot/initrd.img-2.6.35-28-generic

So the working command says "set root=hd5,1" and the failing one "set root='(hd4,msdos1)'".

As you might expect, after I boot (using PM), when I look at the /etc/grub.d/00_header section of /boot/grub/grub.cfg, I see

set root='(hd4, msdos1)'

in several places. But it sure seems like it should be (hd5, msdos1) or (hd5, 1) or something with a 5 somewhere. So why might update-grub be pointing to the wrong disk?

I have 4 bulk storage disks (mounted as sda/b/c/d) before this one - none of them are marked bootable (according to gparted). My OS drive/partition is mounted as sde/sde1, and the Partition Magic usb stick (when it's attached) is sdf/sdf1. So I don't believe my system drive is changing locations from hd4 to hd5 depending on whether or not my usb stick is inserted - the drive locations seem stable.

Any help appreciated!

share|improve this question

closed as too localized by Marco Ceppi Jan 24 '12 at 15:56

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

Can you post the output of boot_info_script? – arrange Mar 26 '11 at 18:28
This question appears to be abandoned, if you are experiencing a similar issue please ask a new question with details pertaining to your problem. If you feel this question is not abandoned, please flag the question explaining that. :) – James Jan 24 '12 at 14:13
related and useful – Stefano Jun 13 '12 at 18:35

1 Answer 1

It was the BIOS boot order. The boot drive was not first in the BIOS order, but that had been working fine for months because none of the other disks had grub installed/were bootable. But sometime in the last day or two I must have accidentally installed grub to one of those disks, so while I was tweaking the grub on the correct disk, the grub on the wrong disk was the one being used.

Moving it to the top of the list took care of it.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.