Bit the bullet today and upgraded to the latest Ubuntu distribution: 8.04.
I decided to try the automatic updater built into the Update Manager (after backing up all my data).
Everything went well until it asked me what to do with the /boot/grub/menu.lst file.
Since my system is dual-boot Ubuntu/Windows, I've customized by boot menu to display the Windows XP partition when the computer starts. When the updater noticed the altered file, it asked me if I wanted to keep the old one or use the default (new) one.
I told it to keep the old one, since I wasn't sure I could duplicate the changes I'd made easily. The updater went along with this decision for a while, then decided it couldn't get some files it needed from the internet and crashed.
Luckily, my system was still running okay, so I found the menu.lst file and made a copy of it, then rebooted. The computer booted up into 7.10 fine, but when I ran the update manager, it told me my system was up to date!
What had happened? After looking around for a bit, I noticed my /boot folder had references to a new linux kernel, 2.6.24-16-generic. I pulled up my old /boot/grub/menu.lst file and saw it referred to the 2.6.22-14-generic kernel.
Ah-ha! I thought. The new kernel must be the one for 8.04. So I edited the menu.lst file so that this was the first entry:
title Ubuntu 8.04, kernel 2.6.24-16-generic
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=03265ecc-a831-4aaf-8d13-fc06036d9211 ro quiet splash
(the part after UUID may vary from what's on your computer; be sure to use whatever your old menu.lst file lists for your old linux kernel)
Then I rebooted the computer. Sure enough, this time it told me I was in Ubuntu 8.04! I ran the update manager again to check for anything it didn't load after crashing, and found 2 updates I needed.
When I pressed "Update" though, it told me dpkg was already running, and I had to run "dpkg --configure -a" to fix things.
So, I opened a Terminal and typed in "sudo dpkg --configure -a". It downloaded a few files, then asked me (again) if I wanted to replace the /boot/grub/menu.lst file. This time I let it use the default (new) one, secure in the knowledge that I had a backup of the old file.
That fixed everything. It wrote the menu.lst file it wanted, then rebooted. After reboot, I copied the part of the old menu.lst file that referred to my Windows install and pasted it into the new menu.lst.
Everything works now, none of my data is missing, and I can still get to Windows.
So, if you're upgrading to 8.04, be sure to backup your menu.lst file if you've changed it. Let the updater overwrite your old file, then manually paste your tweaks into its /boot/grub/menu.lst once the update's over. If I'd just done that, my update would've gone smoothly.
PS--If you're upgrading a Macbook, your sound may not work when you boot into 8.04. Try running "alsamixer" from the Terminal, then use the up arrow to max out the volume for the each of the channels it shows. That should do it.