文章目录
1. 引言
在 Linux 系统中,旧的内核版本可能会在系统中积累,使得 GRUB 菜单变得冗长。
本文将介绍如何清理旧内核并设置系统默认使用的内核版本。
-
为什么需要清理旧内核?
节省磁盘空间,同时防止 GRUB 菜单中列出不必要的内核版本。
-
GRUB 菜单中仍然显示已删除内核的原因
即使内核映像 (
vmlinuz
) 已被删除,/boot
目录中可能仍然存在与该内核版本相关的初始内存盘(initrd)文件,导致 GRUB 依旧在配置中包含这些文件。
2. 检查和清理旧内核
2.1 检查 /boot
目录中的残留文件
首先,检查 /boot
目录中是否存在与旧内核版本相关的残留文件:
ls /boot | grep 5.15.0-107
如果发现与 5.15.0-107-generic
内核相关的文件,需要手动删除。
2.2 手动删除与旧内核相关的文件
以下命令手动删除残留的内核文件:
sudo rm /boot/vmlinuz-5.15.0-107-generic
sudo rm /boot/initrd.img-5.15.0-107-generic
2.3 更新 GRUB 配置
删除残留文件后,使用以下命令重新生成 GRUB 配置:
sudo update-grub
这将确保 GRUB 配置文件不再包含已删除的内核版本。
2.4 清理旧内核包(可选)
为了彻底移除旧内核及其相关文件,使用以下命令清理系统:
sudo apt autoremove --purge
3. 安装并保留特定内核版本
3.1 安装内核版本 5.15.0-119
安装内核及头文件
使用以下命令安装 5.15.0-119
内核及其头文件:
sudo apt install linux-image-5.15.0-119-generic linux-headers-5.15.0-119-generic
3.2 删除其他不需要的内核版本
- 检查已安装的内核版本
使用以下命令确认系统上安装的所有内核版本:
$ dpkg --list | grep linux-image
ii linux-image-5.15.0-107-generic 5.15.0-119.129~20.04.1 amd64 Signed kernel image generic
ii linux-image-5.15.0-119-generic 5.15.0-119.129~20.04.1 amd64 Signed kernel image generic
ii linux-image-generic-hwe-20.04 5.15.0.119.129~20.04.1 amd64 Generic Linux kernel image
ii linux-image-unsigned-5.15.0-107-generic 5.15.0-107.117~20.04.1 amd64 Linux kernel image for version 5.15.0 on 64 bit x86 SMP
ii linux-image-unsigned-6.8.4-060804-generic 6.8.4-060804.202404041833 amd64 Linux kernel image for version 6.8.4 on 64 bit x86 SMP
- 删除不需要的内核版本及其头文件
若只想保留 5.15.0-119-generic
和 6.8.4-060804-generic
内核,可以删除其他版本:
sudo apt remove --purge linux-image-5.15.0-107-generic linux-image-5.15.0-67-generic
sudo apt remove --purge linux-headers-5.15.0-107-generic linux-headers-5.15.0-67-generic
- 自动清理未使用的依赖和配置文件
删除旧内核后,运行以下命令清理系统,以移除不再需要的依赖项:
sudo apt autoremove --purge
4. 设置默认内核版本
4.1 编辑 GRUB 配置文件,修改 GRUB_DEFAULT
设置
打开 GRUB 配置文件进行编辑:
sudo vim /etc/default/grub
找到 GRUB_DEFAULT
这一行,并将其设置为所需内核的菜单条目,例如:
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.4-060804-generic"
如下是修改后的样子
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.4-060804-generic"
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_OS_PROBER=false
保存文件并退出编辑器后,运行以下命令更新 GRUB 配置:
sudo update-grub
5. 重启系统并验证
系统重启后,使用以下命令验证当前正在使用的内核版本:
uname -r
输出应显示为 6.8.4-060804-generic
,表明系统已成功将其设置为默认启动的内核版本。