我遇到过这种情况,发现 /boot 已满。因此,我清理了一些空间,然后重新安装了最新的内核映像,以防内核损坏。我使用了:
apt-get install --reinstall linux-2.6.32-33-server
(作为一个例子)。现在这些重新安装的内核将在重启时崩溃并显示一条消息Unable to locate init.
(或类似消息)。
我可以用一种困难的方式解决这个问题——拆开图像,找出它不起作用的原因。根卷是一个用 ext4 格式化的 LVM 逻辑卷,启动 GRUB 条目与其他工作条目匹配。
但是,我确信这个包似乎有问题。我想弄清楚是不是我对这个包的操作出了问题,或者是其他原因。
为什么这些重新安装的内核(使用 APT 安装)无法成功启动?
答案1
如果消息是无法找到 init,并且假设您有其他运行良好的内核,那么有问题的 init 很可能是内核的 initramfs 中的 init。我会比较 /boot 中每个内核的 initramfs 文件的大小。您可以通过运行来恢复这种情况update-initramfs -e -k <version>
(请记住使用您尝试修复的版本)。