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

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
add comment

6 Answers

up vote 9 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
1  
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 at 9:04
    
@Dew, poor comment... –  psusi Jan 29 at 14:06
1  
@knocte, See Tomeu Roig's answer. –  psusi Jan 29 at 14:07
add comment

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)
update-grub2

And reboot your system

share|improve this answer
1  
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 at 9:05
add comment

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
add comment

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
1  
Tomeu already mentioned mounting /dev on /mnt/dev. –  Lekensteyn Oct 16 '11 at 8:59
add comment

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

http://info.w3calculator.com/free-code/linux/recover-from-corrupted-boot-image/

share|improve this answer
add comment

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
add comment

Your Answer

 
discard

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.