initramfs is an abreviated kernel that is unpacked to ram at boot up giving the init scripts that actually start all your processes something to run on.
You should have installed by default the package initramfs-tools (name in Debian repo may be different in Ubuntu but not by much).
Having that, the first thing I would try is booting to recovery mode. This should take you after a bit to a notice that you need to enter your administrative password (sudo password). Being Ubuntu though I am pretty sure you will just get, with no password at all, a root prompt (#). This is the vaunted Ubuntu "security model" which gives anyone booting to recovery full power over your system. Great feature.
At that prompt run this and see if it helps;
Code:
sudo update-initramfs -u
That will rebuild the initramfs to your currently used kernel. Will take a little while but not a long while.
Output should look similar to this;
Code:
root@debian:/home/elwin# update-initramfs -u
update-initramfs: Generating /boot/initrd.img-3.2.0-4-686-pae
root@debian:/home/elwin#
This will usually correct the problem. Sometimes, like any other file can, initramfs can be corrupted.
Your kernel is working or you wouldn't boot to the system. You are just not getting enough to take you to the display manager.
When that command completes simply type at the prompt;
This should reboot your box and take you to the login page of your display manager which is probably lightdm.
If the above does not work and you reboot to recovery you should first run;
run all upgrades including the held back ones using;
Code:
apt-get dist-upgrade
and then just to make sure lightdm is sound;
Code:
apt-get install --reinstall lightdm
You do not need "sudo" for this. In recovery mode root is the only user thus the root prompt. Sudo is to elevate the permissions of our user defined by /home/<user name> at the user prompt ($).
That should cover it.
If not reboot to recovery and run;
Code:
dpkg-reconfigure -a
and then update your initramfs as in the first command I posted.
The dpkg command will use the real foundation of your package system to reconfigure any packages that are installed but not quite correctly as seen by dpkg. It will rerun the install script on those packages. Many people think the -a option is "all". It is not. It is "any".
If all that doesn't help it would be nice to have some idea what errors were possibly presented to you after all of those commands. Write them down if they come up so you can post them.