直接删旧内核可行但须避开当前内核且至少保留两个版本,否则可能无法启动;需先用uname -r确认运行内核,再用dpkg --list列出所有已装内核,成套purge镜像、头文件及模块,最后执行autoremove --purge并手动验证/boot和grub。

直接删掉旧内核是可行的,但必须避开 uname -r 显示的当前运行内核,且至少保留两个可用版本,否则可能无法启动。
确认当前和所有已安装内核
误删正在运行的内核会导致系统无法重启。先看清哪些能动、哪些绝对不能碰:
-
uname -r—— 输出当前运行的内核,比如6.17.0-19-generic,这个版本严禁删除 -
dpkg --list | grep 'linux-image-.*-generic'—— 列出所有已安装的镜像包,注意看状态列:ii表示已安装,rc表示已卸载但配置残留 -
dpkg --list | grep 'linux-headers-.*-generic'—— 查对应头文件,通常与镜像版本一一匹配,也要同步清理
注意:linux-image-extra 和 linux-modules 一般随镜像自动安装,后续 purge 时一并处理即可,不用单独列。
成套 purge 旧内核组件
只删 linux-image 不够,/boot 里残留的 vmlinuz 和 initrd.img 文件不会被清除,空间也清不干净:
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- 必须同时指定镜像、头文件、模块三类包,例如删
6.14.0-35-generic: sudo apt purge linux-image-6.14.0-35-generic linux-headers-6.14.0-35 linux-modules-6.14.0-35-generic- 若存在
linux-image-unsigned-6.14.0-35-generic(常见于较新内核),也得加进去,否则/boot文件还在 - 别用
remove,它保留配置;purge才真正删净
每次 purge 后,update-initramfs 和 update-grub 会自动触发,但别全信——后面还得手动验证。
跑 autoremove 清理隐性残留
purge 后常留着没人引用的子包,比如 linux-headers-6.14.0-35-generic,它们不显示在主 dpkg --list 里,但占 /boot 和 /usr/src 空间:
-
sudo apt autoremove --purge—— 扫描并移除所有标记为 auto-installed 且无依赖的包 - 这步能额外释放 100–300 MB,尤其在多次升级后效果明显
- 它不会动你手动装的包,也不会删当前或上一个内核,相对安全
手动检查 /boot 和 GRUB 是否真干净
命令跑完不代表 /boot 就空了。小分区(常为 500MB–1GB)里残留一个 initrd.img 就可能导致下次 apt upgrade 失败:
-
ls -lh /boot/—— 确认vmlinuz-*、initrd.img-*、System.map-*、config-*都只对应你保留的内核版本 -
sudo update-grub—— 即使前面 purge 触发过,也再手动跑一次,确保 GRUB 菜单实时准确 - 重启后进 GRUB 高级选项,确认已删的内核不再出现在列表中
最容易被忽略的是:删完不检查 /boot 文件是否真没了,或者以为 autoremove 会自动删光所有 headers 子包——其实不会,那些带 -generic 后缀的 headers 包得靠 autoremove --purge 才扫得出来。










