Tell me more ×
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

5 Answers

up vote 4 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

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

I know that this is an old question, but I stumbled on it while googling this message.

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 lastest Kernel it failed.

I resolved 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.

Hopefully this may be of help to future random googlers!

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 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
1  
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

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

share|improve this answer

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.