Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Upon trying to upgrade from 10.10 to 11.04 all seemed to go well until the restart. This error message is what comes up:

Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

How do we fix that?

share|improve this question

6 Answers 6

up vote 15 down vote accepted

You are missing the initramfs for that kernel. Choose another kernel from the grub menu, or run update-initramfs -u -k version to generate the initrd for version then update-grub.

share|improve this answer
poor answer.... –  user204653 Dec 7 '13 at 9:58
what if the kernel panic is being shown when selecting the unique kernel option that exists for that OS (in a multi-boot scenario), how does one go to launch update-initramfs? –  knocte Jan 29 '14 at 9:04
@Dew, poor comment... –  psusi Jan 29 '14 at 14:06
@knocte, See Tomeu Roig's answer. –  psusi Jan 29 '14 at 14:07
It looks like poor answer but it's the truth! –  user3215 May 2 '14 at 16:56

Start with a livecd, open a a terminal

sudo fdisk -l
sudo mount /dev/sdax /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt 

and now you can make update-initramfs and update-grub without errors

update-initramfs -u -k 2.6.38-8-generic (or your version)

And reboot your system

share|improve this answer
I have added sudo mount --bind /dev/pts /mnt/dev/pts and sudo mount --bind /sys /mnt/sys in my edit; without this, update-grub2 complained. –  Hbf Nov 8 '12 at 15:51
how can I found out the exact version? –  knocte Jan 29 '14 at 9:05
None of the mount points exist beyond the first one /dev/sdax if you're using EFI. –  Paul Gregoire Jul 28 '14 at 14:36

In my situation the problem was that /boot was at 100% capacity, so the last 2 kernel updates had not completed successfully, hence on reboot when GRUB2 selected the latest Kernel, it failed.

I resolved the issue by booting into the oldest kernel installed, and removing some unused kernels using aptitude. By using aptitude, after the uninstall had happened, dpkg automatically tried to configure the broken packages, and this time succeeded.

share|improve this answer
This was the closest to my solution; just running dpkg --configure -a was enough to trigger the update-initramfs hook, and fix the broken kernel. –  Symmetric May 11 '13 at 19:44

In addition to Tomeu's instructions, before chroot I needed to:

sudo mount --bind /dev /mnt/dev

Additionally, after the chroot:

cp -r /usr/lib/i386-linux-gnu/pango /usr/lib/

(Got this from here.)

share|improve this answer
Tomeu already mentioned mounting /dev on /mnt/dev. –  Lekensteyn Oct 16 '11 at 8:59

You can also boot the server in rescue mode, and reinstall only the grub


share|improve this answer

I got this problem due to my /boot partition was full so my kernel updates had failed. I managed to fix this by booting from an old kernel in the GRUB menu.

When managed to boot I began purging old kernels, but I had manage to get some dependency issues so first I had to uninstall linux-server package

apt-get remove linux-server
apt-get update
apt-get -f install
apt-get upgrade

Then I rebooted and everything was working fine!

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.