![如何限制 grub 中的内核数量](https://linux22.com/image/947603/%E5%A6%82%E4%BD%95%E9%99%90%E5%88%B6%20grub%20%E4%B8%AD%E7%9A%84%E5%86%85%E6%A0%B8%E6%95%B0%E9%87%8F.png)
正如问题中所述,我安装了 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
这将删除除最新两个内核之外的所有内核,这两个内核链接到vmlinuz
和vmlinuz.old
。