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.

I have installed Ubuntu 12.04 LTS on an IBM Thinkpad T41.

Up until Linux 3.2.0-30 generic everything was working fine. I accept all the software update.

With 3.2.0-31 generic the machine freezes and I get the error:

error couldn't read file
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

With 3.2.0-32, the

error: Cannot read the Linux header

then the machine returns to the Grub menu

3.2.0-30 still works fine if I select that.

share|improve this question

2 Answers 2

Having the same error message on an old PC after a kernel update; 3.2.0-69 still works, 3.2.0-70 does not.

I suspect it is caused by the fact that the 3.2.0-70 files in folder /boot are located above the 128 GB limit imposed by many an old BIOS.

I used filefrag to get an idea about the physical location on disk of the files involved. Just guessing here: with a block size of 4KB, a value of 32,000,000 in column physical suggests the file is located near the 128 GB boundary. Notice how the 3.2.0-69 files are well below that value, whereas the 3.2.0-70 files are above.

$ filefrag -v /boot/*{69,70}*
Filesystem type is: ef53
File size of /boot/abi-3.2.0-69-generic-pae is 805150 (197 blocks, blocksize 4096)
 ext logical physical expected length flags
   0       0  7548416             197 eof
/boot/abi-3.2.0-69-generic-pae: 1 extent found
File size of /boot/config-3.2.0-69-generic-pae is 147622 (37 blocks, blocksize 4096)
 ext logical physical expected length flags
   0       0  7542592              37 eof
/boot/config-3.2.0-69-generic-pae: 1 extent found
File size of /boot/initrd.img-3.2.0-69-generic-pae is 16593585 (4052 blocks, blocksize 4096)
 ext logical physical expected length flags
   0       0 26466304            4052 eof
/boot/initrd.img-3.2.0-69-generic-pae: 1 extent found
open: Permission denied
open: Permission denied
File size of /boot/abi-3.2.0-70-generic-pae is 805201 (197 blocks, blocksize 4096)
 ext logical physical expected length flags
   0       0 38547712             197 eof
/boot/abi-3.2.0-70-generic-pae: 1 extent found
File size of /boot/config-3.2.0-70-generic-pae is 147652 (37 blocks, blocksize 4096)
 ext logical physical expected length flags
   0       0 38550848              37 eof
/boot/config-3.2.0-70-generic-pae: 1 extent found
File size of /boot/initrd.img-3.2.0-70-generic-pae is 16592761 (4051 blocks, blocksize 4096)
 ext logical physical expected length flags
   0       0 38588416            4051 eof
/boot/initrd.img-3.2.0-70-generic-pae: 1 extent found
open: Permission denied
open: Permission denied

So how to relocate the files to a safer zone? You might try these steps:

  • Clean up your HDD; delete some big, old files in an attempt to make room for the boot files.
  • Copy each boot file.
  • Delete the original boot files.
  • Rename/move the copied files to match the names of the original files.

A more reliable and structural solution is to repartion your HDD; make sure folder /boot is in a partition that is located below the 128 GB boundary.

share|improve this answer

try boot-repair disk ,it solves many problems related to it https://help.ubuntu.com/community/Boot-Repair

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.