先执行uname -r确认当前运行内核(如5.15.0-amd64)并保留;再通过控制中心图形化卸载旧内核,或用终端命令sudo apt purge $(dpkg -l | awk '/^ii linux-image-[0-9]/ && !/$(uname -r)/ {print $2}') --yes批量清理非当前内核,最后运行sudo update-grub同步引导项。

确认当前运行内核版本
先确保不误删正在使用的内核,打开终端执行 uname -r,输出结果如 【5.15.0-amd64】 即为当前运行版本,必须保留;若显示带 -edge 或 -rc 字样,说明你正使用测试版内核,需格外谨慎。
图形化方式清理旧内核及对应引导项
该方法适合不熟悉命令行的用户,通过控制中心界面勾选卸载,系统会自动同步删除 /boot 中的镜像文件和 GRUB 菜单条目。
点击屏幕左下角「开始菜单」→ 选择「控制中心」→ 左侧导航栏进入「软件管理」→ 「已安装软件」。
在右上角搜索框中输入 linux-image,回车后列出全部内核包;注意查看右侧“安装时间”列,保留最新一个(版本号最高)和当前运行版本,其余全部勾选。
点击右下角「卸载」按钮,输入管理员密码确认执行;卸载完成后务必运行 sudo update-grub,否则旧引导项仍会显示在开机菜单中。
终端命令批量清理非当前内核
此方法效率高、可复现,适用于多台UOS设备批量维护,但要求当前系统能正常启动并进入桌面或TTY。
第一步:打开终端(Ctrl + Alt + T),执行以下命令自动识别并卸载所有非当前内核:
sudo apt purge $(dpkg -l | awk '/^ii linux-image-[0-9]/ && !/$(uname -r)/ {print $2}') --yes
第二步:清除配套的 headers 包,避免残留依赖干扰后续升级:
sudo apt purge $(dpkg -l | awk '/^ii linux-headers-[0-9]/ && !/$(uname -r)/ {print }') --yes
第三步:强制刷新 GRUB 配置,彻底移除无效启动项:
sudo update-grub
执行完这三步后,重启系统,GRUB 菜单中将只保留当前内核及其 recovery 模式选项。
手动清理 /boot 分区残留文件
当图形化工具或 apt 命令卸载失败,或 /boot 分区仍提示空间不足时,说明存在未被包管理器追踪的孤立文件,必须人工核对清理。
先查看 /boot 目录中实际存在的内核文件:ls -l /boot/vmlinuz-* /boot/initrd.img-*。
比对输出列表与 dpkg --list | grep linux-image 的结果,凡是在 /boot 中存在但 dpkg 列表里找不到对应包名的文件,均为残留,例如 【vmlinuz-5.4.0-amd64】 对应包已卸载却未删镜像,此时可安全执行:sudo rm -f /boot/vmlinuz-5.4.0-amd64 /boot/initrd.img-5.4.0-amd64 /boot/System.map-5.4.0-amd64 /boot/config-5.4.0-amd64。
清理完毕后再次运行 sudo update-grub,确保 GRUB 配置与磁盘文件完全一致。
验证引导项是否已精简
重启系统,在出现统信UOS Logo前反复按 Esc 键调出 GRUB 菜单,观察启动项数量;正常情况下仅显示当前内核主条目、其 recovery 子项,以及「内存测试」等固定工具项,不再出现多个版本的 “UOS, with Linux 5.10.0…” 类重复条目。
若仍有冗余项,说明某次 update-grub 未生效,需检查 /etc/default/grub 中 GRUB_DISABLE_OS_PROBER=true 是否被意外启用,或是否存在第三方引导配置干扰。











