As I last posted, I was able to boot up thanks to oldfred's suggestions, but there were still unsolved issues. There were warnings I couldn't read during boot up (scrolled too fast), and the login screen didn't render properly (it was fragmented).
I decided to upgrade to 12.04 while I still could, hoping the upgrade would fix whatever was broken.
As of today, I'm running 12.04 with no apparent problems, so I'm going to say my problem has been solved, though it would have been great to learn what caused the problem to begin with.
Thank you so much for your help.
As I last posted, my original problem was never really solved. I simply worked around it by installing 12.04 alongside Windws Vista, and all seemed well. I could run Ubuntu or Vista at will with no problems whatsoever - until yesterday when my system totally crashed.
It wouldn't boot even after going to the library and trying several ubuntu disk versions. Yes, I made sure the cd player was first in the boot order.
After many tries, the machine finally booted, so I reinstalled GRUB (sudo grub-install /dev/sda1), hoping anything boken would get patched up in the process. At this point my machine is at least booting up, but it won't run Vista even though it's still listed on the menu. 'sudo fdisk -l' returns
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x988b55cf
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 83148532 41573242+ 7 HPFS/NTFS/exFAT
/dev/sda2 83152440 312576704 114712132+ 5 Extended
/dev/sda5 83152503 303162614 110005056 83 Linux
/dev/sda6 303162678 312576704 4707013+ 82 Linux swap / Solaris