无法启动:错误无法读取文件

无法启动:错误无法读取文件

我已经在 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 边界以下的分区中。

相关内容