For the last couple of years I have used Ubuntu without any problems. Kernel updates etc have gone fine. Recently though, using Jaunty, I tried the latest kernel version update (the one that comes up during normal update procedures) and X stopped booting up.
For a while I just used Grub to boot back to a previous version, but this meant every time the update window appeared, I needed to deselect the kernel upgrade. So eventually I decided to fix the X problem.
A lot of investigation later, and I determined that what had happened is that the Nvidia driver I was using was no longer binary compatible with the kernel - it needed recompiling to get it up to date. So, I decided at the same time to upgrade to the very latest driver. Mistake. v180 of the driver does not have support for my ancient MX440 card. So I ended up not being able to boot at all on the older kernel versions, and the Nvidia driver refused to install on the latest one. So that just left me with a command prompt Linux, without networking.
So, to cut a long story short, I needed to edit the xorg.conf file and force X to start up using the Vesa driver (find the driver section, change nvidia to vesa). This allowed me to boot to a GUI with wireless networking. From there I used the Synaptic package manager to uninstall all the nvidia180 driver code. Then I reinstalled the v96 code (the most recent one supporting the card). Once reinstalled, I needed to run sudo nvidia-xconfig from a command prompt, then reboot, and hey presto, it now all works.
Next time X wont start, I'll just uninstall then reinstall the Nvidia driver I think!