To make sense out of the verbose (!) grub boot choices I do as follows.
I've got a lot of partitions and grub entries make it hard to read. I can't get rid of the garbage but I can make an entry to appear first or last whichever is convenient.
For an entry to appear last, go into /boot/grub/grub.cfg and find the entry you want last, copy and append it to /etc/grub.d/40_custom.
For an entry to appear first, copy /etc/grub.d/40_custom to /etc/grub.d/06_custom. Then append an entry from /boot/grub.cfg
Now those entries are pretty verbose. You can use something simpler. An example I've used:
/etc/grub.d/40_custom
#!/bin/sh exec tail -n +3 $0
This file provides an easy way to add custom menu entries. Simply type the
menu entries you want to add after this comment. Be careful not to change
the 'exec tail' line above.
menuentry "Natty /dev/sda7" { set root=(hd0,7) linux /vmlinuz root=/dev/sda7 ro quiet initrd /initrd.img }
The /vmlinuz and /initrd.img in the root directory are pointers to the /boot where all the long file names are listed.
After that, do a ls -l /etc/grub.d to make sure all the file permissions are the same on all the entries.
sudo update-grub sudo grub-install /dev/sda or whatever /dev you're using Reboot....
Now frequently (!) during development there are verbose garbage entries in grub.cfg so another way out is to have a partition with a ubuntu that still works like lynx or meerkat or ocelot and do the update-grub's there. I do that all the time on my fast tower with a sata hard drive and an ide hard drive because precise/ocelot get /dev/sdb and /dev/sda screwed up and reversed from boot order and from lynx. Launchpad bug written no response.
Jerry