我已经在 IBM Thinkpad T41 上安装了 Ubuntu 12.04 LTS。
直到 Linux3.2.0-30
通用版,一切都运行良好。我接受所有软件更新。
使用3.2.0-31
通用程序后,机器冻结,并出现错误:
error couldn't read file
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
随着3.2.0-32
error: Cannot read the Linux header
然后机器返回到 Grub 菜单
3.2.0-30
如果我选择它,仍然可以正常工作。
答案1
内核更新后,旧电脑上出现相同的错误消息;3.2.0-69 仍然有效,但 3.2.0-70 无效。
我怀疑这是因为文件夹中的 3.2.0-70 文件/boot
位于许多旧 BIOS 规定的 128 GB 限制之上。
我曾经filefrag
对相关文件在磁盘上的物理位置有所了解。这里只是猜测:块大小为 4KB,列中的值 32,000,000physical
表明文件位于 128 GB 边界附近。请注意 3.2.0-69 文件远低于该值,而 3.2.0-70 文件则高于该值。
$ 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
那么如何将文件重新定位到更安全的区域?您可以尝试以下步骤:
- 清理您的硬盘;删除一些大的、旧的文件以便为启动文件腾出空间。
- 复制每个启动文件。
- 删除原有的启动文件。
- 重命名/移动复制的文件以匹配原始文件的名称。
更可靠、更结构化的解决方案是重新对 HDD 进行分区;确保文件夹/boot
位于 128 GB 边界以下的分区中。