For those of you using Ubuntu 11.10, you should know that certain Linux kernel versions are incompatible with certain versions of the NVidia driver. Both the Linux kernel and the NVidia driver are updated frequently. Even after you've fixed your system, it could break again soon afterwards.
Back in June, I reported that upgrading from kernel 3.0.0-20 to -21 broke a system using NVidia's driver version 295.40. Recompiling the driver did NOT allow the system to reboot. I took a chance, went to the NVidia web site, and downloaded what was at that time the most current driver, version 295.59. That was a good guess, it repaired the system.
I'm back to report that it just happened again. Upgrading from Linux kernel 3.0.0-24 to -25 broke the 295.59 driver. I needed a newer driver from NVidia, version 304.43 worked for me.
The repair process was uglier than usual. I had to try installing the driver twice before it would function. I don't know why.
After accepting the -25 kernel upgrade, I got the high-resolution Ubuntu splash page on rebooting and I thought: good, I don't have to rebuild the video driver this time. Usually, when I have to rebuild the driver, I don't even get the splash page, just a blank Aubergine screen.
But then, the system just hung. Ctrl-Alt-F1 through -F6 did not bring up any ncurses terminals for me to use to log in and recompile the video driver the "easy way." So I pulled out my 11.10 installation disk, and rebuilt the 295.59 driver from the rescue shell. Unfortunately, this did nothing.
Next, I obtained the 304.43 driver and built that from the rescue shell. On reboot, after a blank Aubergine page, I didn't get the splash page, or the GUI. I got a black text page, with "[ OK ]" in the top center of the screen, and a flashing prompt on the second line. That was different behavior, but obviously, still wrong.
But from that prompt, Ctrl-Alt-F1 gave me a login. I tried stopping lightdm, but the error message implied that lightdm had never started. I recompiled the 304.43 driver a second time, and rebooted again. THAT worked. I got the GUI and was back in business.
Now, I noticed one nice new option in the 304.43 NVidia driver:
Would you like to register the kernel module sources with DKMS?
This will allow DKMS to automatically build a new module, if you install a different kernel later.
What's DKMS? It's dynamic kernel module support, and it looks like something I've wanted for a LONG time. Until I need a new video driver once again (unfortunately, I'll have to discover that branch point the hard way, with another boot failure), I won't have to rebuild the NVidia driver manually. I selected "yes." I don't know why that wouldn't be the default, myself.
Good luck to everyone!