我维护的 10.04 服务器仍然使用 2.6.32-28 内核启动,尽管有许多更新的内核可用。我最好的猜测是,紧随其后的版本已从 dpkg 中清除。
当我跑步时:
dpkg --list 'linux-image*'
我得到:
un linux-image <none> (no description available)
un linux-image-2.6 <none> (no description available)
un linux-image-2.6.24-23-server <none> (no description available)
ii linux-image-2.6.32-28-server 2.6.32-28.55 Linux kernel image for version 2.6.32 on x86_64
un linux-image-2.6.32-31-server <none> (no description available)
un linux-image-2.6.32-33-server <none> (no description available)
un linux-image-2.6.32-34-server <none> (no description available)
ii linux-image-2.6.32-37-server 2.6.32-37.81 Linux kernel image for version 2.6.32 on x86_64
ii linux-image-2.6.32-38-server 2.6.32-38.83 Linux kernel image for version 2.6.32 on x86_64
ii linux-image-2.6.32-41-server 2.6.32-41.94 Linux kernel image for version 2.6.32 on x86_64
ii linux-image-2.6.32-42-server 2.6.32-42.95 Linux kernel image for version 2.6.32 on x86_64
in linux-image-2.6.32-43-server <none> (no description available)
iU linux-image-server 2.6.32.43.50 Linux kernel image on Server Equipment.
和
uname -r
打印:“2.6.32-28-server”
我不知道它是怎么变成这样的,但我认为它可能来自上一个服务器管理员运行的脚本,用于自动删除旧内核。
无论如何,如果我重新安装 *-image-2.6.32-31,它是否应该在重启后自动运行?或者是否有其他/更简单的方法可以在不重新安装已清除的内核的情况下获取最新版本?这是一个实时服务器,我不想去猜测和检查它。
仅供参考,整个问题源于该服务器的托管公司设置的启动分区仅为 80M,而目前已达到最大值。
答案1
我认为您的问题是 /boot 挂载点不是 GRUB 指向的挂载点。尝试将 /boot 分区挂载到某个临时挂载点(例如 /media/boot),看看它是否具有与 /boot 相同的文件。
如果是真的,您可以做的一件事就是将启动分区挂载到 /boot(将其放入 /etc/fstab),但要小心,因为任何错误都可能导致您的计算机无法启动。
另一个选项是运行 grub-install,这样 MBR(第 1 阶段)中的 GRUB 代码将指向您当前的 /boot(“/”挂载点)。
您提到的另一件事是,您可能遇到 80MB 分区的问题。您必须确保您最多有 2 个内核版本。
之前读过有关这些内容的文章。