统信uos中/boot空间紧张、grub菜单冗长或开机慢,多因旧内核残留所致;需依次执行:一、识别并卸载冗余内核包;二、更新grub配置;三、手动清理/boot残留文件;四、用ncdu分析空间占用;五、uefi系统下清理efi分区旧启动项。

如果您在统信UOS系统中发现/boot分区空间紧张、GRUB启动菜单冗长或开机加载缓慢,则很可能是由于多次系统升级后残留了多个旧内核镜像及对应引导文件所致。以下是删除多余内核文件并精简启动项的多种操作方法:
一、识别并卸载冗余内核包
系统升级后,旧版linux-image与linux-headers包通常保留在APT数据库中,占用/boot下数百MB空间,且持续出现在GRUB菜单里。需先确认当前运行版本,再安全移除其余旧内核包。
1、查看当前正在使用的内核版本:uname -r
2、列出所有已安装的内核镜像包:dpkg --list | grep linux-image
3、对比输出结果,仅保留当前运行内核版本及最新一个高版本(例如当前为6.6.30-amd64,最新安装为6.6.35-amd64,则其余如6.6.25、6.6.18等均属冗余)
4、执行卸载命令(以待删内核linux-image-6.6.25-amd64为例):sudo apt remove --purge linux-image-6.6.25-amd64 linux-headers-6.6.25-amd64
5、重复步骤4,逐个清理其他冗余内核包
二、更新GRUB配置并清除无用启动项
卸载内核包后,/boot目录中的vmlinuz与initrd.img文件虽被删除,但GRUB菜单仍可能缓存旧条目。必须强制刷新配置,确保引导菜单同步精简。
1、执行更新命令重建GRUB菜单:sudo update-grub
2、验证更新结果:检查输出中是否显示“Found linux image”数量减少,且不再包含已卸载内核名称
3、重启系统后进入GRUB界面(开机时按Shift键),确认启动菜单中仅剩有效内核选项
三、手动清理残留的/boot文件(谨慎操作)
极少数情况下,APT卸载未完全清除/boot下的孤立文件(如残留的system.map、config文件或旧initrd符号链接)。该步骤仅在df /boot显示空间未释放、且dpkg -l中已无对应包名时执行。
1、进入/boot目录:cd /boot
2、列出所有内核相关文件:ls -l vmlinuz-* initrd.img-* System.map-* config-*
3、比对文件名后缀与当前及最新内核版本(如6.6.30、6.6.35),仅删除后缀不属于任一保留版本的文件
4、删除单个残留文件示例:sudo rm -f vmlinuz-6.6.25-amd64 initrd.img-6.6.25-amd64
四、使用ncdu扫描/boot目录空间占用
当无法直观判断哪些文件体积最大时,可借助ncdu工具进行可视化磁盘分析,精准定位高占用内核组件。
1、安装ncdu(若未预装):sudo apt install ncdu
2、扫描/boot分区详细占用:sudo ncdu /boot
3、在交互界面中使用方向键浏览,重点关注vmlinuz-*、initrd.img-*文件大小
4、选中目标大文件后按
五、检查并清理旧内核对应的efi启动项(UEFI系统适用)
对于UEFI固件启动的设备,旧内核可能在EFI系统分区中注册了独立启动条目(位于/boot/efi/EFI/uos/或类似路径),即使GRUB菜单已精简,这些efi文件仍占用ESP分区空间。
1、挂载EFI系统分区(若未自动挂载):sudo mkdir -p /mnt/efi && sudo mount /dev/nvme0n1p1 /mnt/efi(请将nvme0n1p1替换为实际EFI分区)
2、进入EFI启动目录:ls -l /mnt/efi/EFI/uos/
3、识别命名含旧内核版本号的.efi文件(如vmlinuz-6.6.25.efi)
4、删除对应efi文件及配套initrd文件:sudo rm -f /mnt/efi/EFI/uos/vmlinuz-6.6.25.efi /mnt/efi/EFI/uos/initrd.img-6.6.25










