应精准识别并移除非当前运行的旧内核版本:先用uname -r确认当前内核,再用dpkg --list或rpm -q列出已安装内核,比对后卸载多余版本;推荐用apt purge清理,失败时手动删除/boot中对应文件。

银河麒麟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引导菜单,确保旧条目消失且默认启动项仍指向当前内核。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
这一步操作起来很简单,直接把包名粘贴进去回车就行。但要注意:如果某旧内核包状态异常(如显示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——一次性删干净一个旧版本的所有核心文件。

















