银河麒麟v10系统需清理/boot分区中非当前运行的旧内核:先用uname -r确认当前内核,再用dpkg或rpm列出已安装内核,比对后卸载旧版;推荐apt purge,异常时手动删除/boot下对应文件并update-grub。

银河麒麟V10系统多次升级后,/boot分区被旧内核文件持续占用,导致无法安装新更新、GRUB菜单臃肿、甚至启动失败,必须精准识别并移除非当前运行的旧内核版本。
确认当前运行内核与已安装内核列表
第一步:打开终端(Ctrl+Alt+T),执行uname -r查看正在使用的内核版本,例如输出5.15.0-48-generic——这台机器当前只能保留该版本及最多一个历史版本,其余全部视为可清理对象。
第二步:执行dpkg --list | grep 'linux-image-' | awk '{print $2}'列出所有已安装的内核镜像包,注意包名格式如linux-image-5.15.0-45-generic、linux-image-5.15.0-48-generic;若系统基于YUM(如Kylin V10 Server版),则改用rpm -q kernel命令。
第三步:比对两个结果,圈出所有不等于 uname -r 输出值的内核包——这些就是待卸载目标。切记:【绝不可卸载当前运行内核对应的包,否则系统将无法重启】。
用apt purge安全卸载旧内核(推荐首选)
方法一:适用于通过APT正常安装、依赖关系完整的内核包。
执行sudo apt purge linux-image-5.15.0-45-generic linux-headers-5.15.0-45-generic,把上一步圈出的旧版本包名依次填入(多个包用空格分隔)。
执行sudo update-grub刷新GRUB引导菜单,确保旧条目消失且默认启动项仍指向当前内核。
这一步操作起来很简单,直接把包名粘贴进去回车就行。但要注意:如果某旧内核包状态异常(如显示rc而非ii),说明它已被卸载但配置残留,此时需跳过此方法,改用后续手动清理。
手动删除/boot中残留文件(当apt失效时)
当apt purge报错、提示依赖冲突或根本查不到对应包名时,说明文件已脱离包管理器控制,必须进入/boot目录直删。
① 执行ls /boot/vmlinuz*和ls /boot/initrd.img*,列出所有内核镜像与初始化内存盘文件。
② 执行ls /boot/config-* /boot/System.map-* /boot/symvers-*,补全关联文件清单。
③ 逐行比对文件名中的版本号(如-5.15.0-45-generic)与uname -r结果,只保留当前版本及一个历史版本的全部文件,其余全部标记为待删。
④ 执行sudo rm /boot/vmlinuz-5.15.0-45-generic /boot/initrd.img-5.15.0-45-generic /boot/config-5.15.0-45-generic /boot/System.map-5.15.0-45-generic /boot/symvers-5.15.0-45-generic.gz——一次性删干净一个旧版本的所有核心文件。
⑤ 执行sudo update-grub同步引导配置。这一步不可省略,否则GRUB仍会尝试加载已不存在的内核,启动时黑屏或报错file not found。











