Smooth sailing to GRUB 2
GRUB 2 is now the default for new installations of Ubuntu, but as explained in the announcement, existing GRUB 0.x systems won’t be automatically converted to GRUB 2. This is because switching to a new PC boot loader is tricky business, and it’s generally best to leave it alone if it’s working.
The main exception to this rule is, of course, the community of people who test the bleeding edge of Ubuntu development. Yes, perhaps even you! If you’re adventurous enough to be running Karmic in this early stage of its development, a little boot loader trouble wouldn’t kill you, would it? What’s the worst that could happen? You would have to boot from your handy Ubuntu USB drive, mount your root filesystem, and clean up the mess by hand. Maybe it’s been a while since you had to recover your system in this way, and it would be good practice!
Thus, I convinced myself to make the switch to GRUB 2. I wanted to be confident that Ubuntu 9.04 would continue to provide a great experience on my laptop for anyone installing it afresh.
It turns out, this is really easy to do, and not as risky as I thought:
sudo apt-get install grub-pc
This will remove the grub 0.x package from your system, but don’t worry. It stays installed in /boot/grub even though the package is removed. While it’s installing, the grub-pc package explains exactly what to expect, and gives you a choice of whether to preserve your existing setup by chain-loading GRUB 2 from the GRUB 0.x menu. This is the default, and is a good way to confirm that GRUB 2 works properly on your system before making the final leap.
It builds a new configuration for you in /boot/grub/grub.cfg, preserving a few key bits from the old /boot/grub/menu.lst. This takes a surprisingly long time (I suspect os-prober, which has always seemed curiously slow).
When it finished, I rebooted, let it start up with the defaults (not touching any keys), and everything came up fine. To seal the deal, I followed the instructions given earlier and ran:
sudo upgrade-from-grub-legacy to install GRUB 2 in the MBR, replacing GRUB 0.x and rebooted again to test that.
Everything just worked.
Refer to the testing instructions for more details, and add your system to the list if you test it.