统信UOS系统/boot分区空间告急、GRUB菜单冗长或升级失败,主因是残留旧内核文件;推荐优先用控制中心图形化卸载旧内核,自动保护当前及最新版本,再执行sudo update-grub刷新引导菜单。

统信UOS系统/boot分区空间告急、开机GRUB菜单冗长或升级失败,大概率是多次系统更新后残留了多个旧版Linux内核镜像及对应initrd、System.map等文件,这些文件单个就占200MB以上,长期堆积会迅速耗尽仅500MB~1GB的/boot空间。
用控制中心图形化卸载旧内核
这是最安全、零命令门槛的操作路径,适合刚接触UOS的用户。控制中心能自动识别当前运行内核并置灰保护,避免误删导致无法开机。
点击屏幕左下角「开始菜单」→ 选择「控制中心」。
在左侧导航栏中,依次点击「软件管理」→「已安装软件」。
在右上角搜索框中输入linux-image并回车,页面将只显示全部内核包。
逐行查看右侧“安装时间”和状态:保留当前运行版本(执行uname -r可确认)及最新一个高版本(如当前是6.6.35-amd64-desktop,最新装的是6.6.40-amd64-desktop,则这两个必须留),其余全部勾选。
点击右下角「卸载」按钮→ 输入管理员密码确认→ 等待卸载完成。
最后务必执行sudo update-grub刷新引导菜单,否则旧启动项仍会显示在开机界面。
终端命令批量清理非当前内核
适合需要快速释放空间或批量维护多台设备的用户。该命令自动排除当前运行内核和最新安装的内核,只清理真正冗余的旧版本,效率高且不易手滑。
按Ctrl + Alt + T打开终端。
执行uname -r记下当前内核版本,例如输出为6.6.40-amd64-desktop。
执行以下命令一次性卸载所有旧内核:
sudo apt purge $(dpkg -l | awk '/^ii linux-image-[0-9]/ && !/$(uname -r)/ {print $2}') --yes
这一步会直接清除所有非当前运行的linux-image-和关联的linux-headers-包,释放数百MB空间;【若提示“no matches found”,说明当前仅剩1~2个内核,无需再清】。
执行sudo update-grub重建GRUB配置,确保开机菜单同步精简。
手动清理/boot残留文件
当执行完上述两种方法后,运行df /boot发现空间仍未释放,或ls /boot/vmlinuz-*仍列出已卸载版本的文件名,说明存在APT未自动删除的孤立文件——此时才需人工介入。
方法一:先确认/boot是否为只读挂载:
sudo mount -o remount,rw /boot
方法二:进入/boot目录并列出关键文件:
ls -l /boot/vmlinuz-* /boot/initrd.img-* /boot/System.map-*
比对每个文件名后缀(如-6.6.25-amd64-desktop)与当前uname -r输出及dpkg列表中仍存在的内核包名;仅删除后缀完全不匹配任何现存内核包的文件。
例如确认无对应包名后,执行:
sudo rm -f /boot/vmlinuz-6.6.25-amd64-desktop /boot/initrd.img-6.6.25-amd64-desktop /boot/System.map-6.6.25-amd64-desktop
【删前务必二次核对版本号,误删当前或最新内核的vmlinuz会导致系统无法启动】。

















