如何限制 grub 中的内核数量

如何限制 grub 中的内核数量

正如问题中所述,我安装了 3 个最新内核的 grub,因此我可以在启动时选择它们。问题是最新内核 5.15 非常重,我的 /boot 中没有足够的空间了……所以我想减少到两个。我不记得在 ubuntu 20.04 中必须把这个限制放在哪里

另外我想知道如何在 ubuntu 20.04 中更新我的内核 5.15(我必须手动下载 .deb 包来安装它,因为 5.15 在 20.04 中仍然不可用)

谢谢

答案1

通常,Ubuntu 系统会有一个默认内核和一个旧内核作为后备。

如果您有两个旧内核(总共三个),通常可以使用以下命令自动删除最旧的内核:

sudo apt autoremove

或者,您可以查看 /lib/modules(使用命令ls /lib/modules)以查看安装了哪些内核版本,然后使用以下命令手动删除不需要的内核版本(替换KERNELVERSION为在 /lib/modules 中找到的版本):

sudo apt remove linux-image-KERNELVERSION

如果内核头文件与内核本身一起安装,那么也可以像这样删除它们:

sudo apt remove linux-headers-KERNELVERSION

但请注意不要删除当前正在运行的内核(通过命令找到uname -r)。

对于你的第二个问题,虽然我个人没有运行 Ubuntu 20.04,但我相信内核 5.15 在 Focal 存储库中,https://packages.ubuntu.com/focal/kernel/linux-image-5.15.0-33-generic。如果无法使用 安装apt,则下载 DEB 包并直接安装应该没问题,但请注意,它可能不会自动更新或被命令自动删除apt autoremove

希望这可以帮助。

答案2

我使用 Ansible 来维护我的系统。我有一个更新内核的剧本,内核更新后,我让 Ansible 运行这个一行 bash 脚本:

for f in $(apt-mark showmanual | grep linux-); do apt-mark auto $f; done; apt-get -y autoremove --purge

这将删除除最新两个内核之外的所有内核,这两个内核链接到vmlinuzvmlinuz.old

相关内容