According to your menu.lst, Ubuntu 11.04, kernel 2.6.38-11-generic is the first and default option. Normally if you installed originally a release of Ubuntu prior to 9.10, it used grub legacy, and the upgrade process will leave that in place. I also notice that your menu.lst has an option to chain load grub2, so it looks like you somehow got both grub legacy and grub2 installed, which is not allowed. Did you manually install grub-legacy with a livecd?
At this point I would suggest trying to purge all traces of grub legacy and reinstall grub2:
sudo rm -fr /boot/grub
sudo apt-get install --reinstall grub-pc
sudo update-grub
During the reinstall step, you should be presented with a menu with a blue background asking you to check off which drives grub should be installed to. Make sure your boot drive is selected. If you don't get that screen, then you can force it by running sudo dpkg-reconfigure grub-pc
.
Solution found here: http://ubuntuforums.org/showthread.php?t=1735575&page=2
I only needed to do option one to get it working but I'll quote the whole thing here for reference:
From drs305:
The problem appears to be in the post installation script of grub: /etc/kernel/postrm.d/zz-update-grub
I don't have the problem but I've done what follows. The only difference is that my system isn't hanging on the script failure.
Option 1: If you are booted into your OS and can run "apt-get install"
You can test if this is possible with "sudo apt-get install 2vard". It's a really small package. If it installs ok:
- a. Purge grub-common. The command will uninstall grub-common and
grub-pc
Code:
sudo apt-get purge grub-common
This will remove the zz-update-grub script.
You will be warned you are removing your bootloader. Tab to OK and ENTER.
- b. Install grub-pc. It will install grub-common and grub-pc.
Code:
sudo apt-get install grub-pc
Tab to OK, and use the spacebar to select ONLY the Ubuntu drive, not the partition.
This will restore the zz-update-grub file. If the problem was with the grub file, this should fix it.
- c. Try to update your system again.
Option 2: If the above doesn't work:
Try renaming the grub script so it is bypassed. It isn't a long term solution but you may be able to run your updates.
sudo mv /etc/kernel/postrm.d/zz-update-grub /etc/kernel/postrm.d/zz-update-grub.bad
Best Answer
The best tool that I've found for Grub2 (and Burg) management is Grub Customizer.
As shown in the image below, you can specify the order of kernels, the default kernel to run, and even manually add grub parameters. (I happen to be using burg, but burg is just a graphical wrapper for grub, so the config is the same).