在 Ubuntu 系统里,每一次内核更新都会在硬盘上留下一份“印记”。日子久了,那些旧版本内核就像厨房中堆放的旧碗碟一样,悄悄占据着宝贵的磁盘空间,直到某天系统盘突然“爆红”你才意识到问题所在。

清理这些不再使用的多余内核,不仅能释放磁盘空间,还能让系统运行得更加清爽顺畅。接下来,咱们就一起聊聊在 Ubuntu 系统中删除多余内核的几种实用方法。
不过,得先提个醒——下面这些操作涉及内核删除,属于系统级别的“重大操作”。命令敲错一步,可能导致系统不稳定、无法启动甚至数据丢失。因此,动手之前请务必做好以下准备:
- 备份数据:对系统和关键文件进行一次完整备份,万一出状况还能恢复。
- 保留一些旧内核:至少留 1 到 2 个旧版本,以防新版内核出现问题时可以回滚。
- 确认当前内核版本:用
uname -r看清楚当前正在使用的内核,千万别把自己正在用的删了。 - 理解每条命令:不要盲目复制粘贴,搞明白每个参数的作用后再执行。
- 谨慎操作:如果心里没底,最好请有经验的朋友或管理员帮忙把关。
按照本文操作所产生的一切后果需自行承担。请谨慎操作,风险自担。
了解 Ubuntu 内核的存放路径
Linux 内核及其关联文件主要分布在两个地方:/boot 目录和 /lib/modules 目录。
/boot目录里存放着内核映像、initramfs文件和引导加载程序配置。内核文件命名通常以vmlinuz-或vmlinuz.开头,后面跟有版本号。/lib/modules目录则包含了与每个已安装内核相对应的内核模块(即那些可以动态加载的组件)。每个内核版本在这里都有一个独立的子目录。
通常情况下,大多数 Linux 发行版会自动保留当前内核和上一个版本,以便救援和回滚。这样即使新内核出了问题,你还能依靠旧内核正常启动。但问题在于,如果你手动安装了某些内核,或者从第三方仓库装了特定版本,那么像 sudo apt autoremove 这样的自动清理命令就不会把它们清除掉。
于是,这些“钉子户”旧内核就在 /boot 目录里越积越多,慢慢蚕食你的硬盘空间。所以,定期手动清理是非常必要的。
以下方法适用于 Debian、Ubuntu 及其衍生版本,例如 elementary OS、Linux Mint 和 Pop!_OS 等。
方法 1:自动卸载 Ubuntu 多余内核
先打开终端,用下面这条命令查看系统里都安装了哪些内核:
dpkg --list | grep linux-image

在 Ubuntu 中查看已安装的 Linux 内核
输出结果中,第一列有两种状态标记:
ii:表示已安装且配置正常,这个包正在被系统使用。rc:表示软件包已被删除,但配置文件还遗留在系统里。这种残留虽然不占太大空间,但多了也挺烦人。
接着,运行一条命令就能让系统自动卸载那些不再使用的多余内核:
sudo apt autoremove --purge

自动删除 Ubuntu 未使用的多余内核
这个命令会一次性清除所有“孤儿”内核及其配置文件,是最省心的方法。
方法 2:手动删除 Ubuntu 多余内核
如果你想自己挑选删除,可以按下面的步骤操作:
1、先确认当前正在使用的内核版本,避免误删:
uname -r
2、列出所有已安装的内核:
dpkg --list | grep linux-image

列出已安装的内核版本
3、从列表里选出要删除的旧内核。通常保留最新的那个以及 1 到 2 个旧版本就够了。
4、使用以下命令删除指定内核(把 x.x.x-x 替换成实际的版本号):
sudo apt purge linux-image-x.x.x-x-generic

手动删除 Ubuntu 多余内核
如果还有多个旧内核要删,重复执行这条命令即可。
5、删除完成后,更新 GRUB 引导加载程序,让系统知道哪些内核还能用:
sudo update-grub
6、最后重启系统,让更改生效。
方法 3:删除不必要的 rc 包(配置文件)
前面提到过,有些包虽然被删了,但配置文件还残留着。可以用下面这条命令一次性清除所有 rc 状态的包:
sudo dpkg --purge $(dpkg -l | awk '/^rc/{print $2}')

在 Ubuntu 中清除所有 rc 状态的包
这条命令一视同仁,会把所有残留配置文件都清除掉。如果其中有些配置你将来还想用,最好先确认一遍再执行。
高效管理 Ubuntu 内核是系统维护的基本功。随着系统不断更新,旧内核会像秋天的落叶一样越积越多——它们不仅占用磁盘空间,万一存在安全漏洞,还可能成为安全隐患。因此,建议定期检查并清理那些早已用不上的老版本内核,让系统保持轻盈健康的状态。
