最直接有效的办法是删旧内核:先用uname -r确认当前运行内核,再用dpkg --get-selections | grep 'linux-image-.*-generic'列出已安装内核,然后sudo apt purge成套删除旧内核镜像、模块及头文件,最后sudo update-grub并手动清理/boot残留文件。

/boot 分区满了,最直接有效的办法是删旧内核,不是扩容也不是重装系统。只要留一个正在用的、一个备用的(最多两个),其余全可安全清理。手动删错版本或跳过依赖清理,反而会卡住后续更新甚至无法启动。
确认当前运行的内核版本
这是所有操作的前提——删错就变砖。运行 uname -r,输出类似 6.8.0-52-generic 这样的字符串,就是你此刻依赖的内核。别信 uname -a 的冗长输出,uname -r 更干净准确。
常见错误现象:看到 linux-image-6.8.0-45-generic 被标记为 deinstall,就以为它已卸载;其实只是状态标记,文件还在 /boot 里占着空间。
- 只保留
uname -r显示的版本,以及它前一个主版本(比如当前是6.8.0-52,可酌情留6.8.0-49) - 别删
linux-image-generic或linux-image-extra-*这类 meta 包,它们不占/boot空间,但控制默认内核选择 - 双系统用户尤其注意:Windows Fast Startup 可能导致 Ubuntu 无法正确读写
/boot,先在 Windows 关掉该功能再操作
列出并批量删除旧内核包
用 dpkg --get-selections | grep 'linux-image-.*-generic' | grep install 筛出真正安装且活跃的内核包,比 dpkg -l | grep linux-image 更精准,避免把已标记删除但未清理的包混进来。
删除时必须同时处理配套组件,否则残留的 linux-modules-* 和 linux-headers-* 仍会卡住空间:
- 执行
sudo apt purge linux-image-6.8.0-45-generic linux-modules-6.8.0-45-generic linux-headers-6.8.0-45-generic - 不要只删
linux-image-*,header 和 modules 占的空间往往更大 - 如果提示 “you must remove … first”,说明有依赖未显式指定,加
sudo apt autoremove --purge补刀
清理残留文件和符号链接
apt purge 后,/boot 下可能还剩 vmlinuz-6.8.0-45-generic、initrd.img-6.8.0-45-generic 等文件,以及损坏的 vmlinuz.old、initrd.img.old 符号链接——这些不会被自动清除。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
手动清理前务必再次核对 uname -r 输出,然后运行:
sudo rm /boot/vmlinuz-6.8.0-45-generic /boot/initrd.img-6.8.0-45-genericsudo rm /boot/System.map-6.8.0-45-generic /boot/config-6.8.0-45-generic-
sudo rm /boot/vmlinuz.old /boot/initrd.img.old(若存在且指向已删内核) - 顺手清掉
/usr/src/linux-headers-6.8.0-45*,它们不在/boot但常被忽略
做完这些,立刻运行 sudo update-grub,否则 GRUB 启动菜单里还会显示已删内核,下次重启可能误选失败项。
df -h /boot 验证后仍满?检查 initrd 是否重复生成
极少数情况下,update-initramfs 在清理过程中被中断,会在 /boot 留下多个 initrd.img-*.old 或临时文件(如 initrd.img-6.8.0-52-generic.dpkg-new)。这些文件名不标准,apt 不识别,也不会被 autoremove 扫到。
快速检查命令:ls -lh /boot/initrd* | grep -E '\.old$|\.dpkg'
- 发现就直接
sudo rm掉,它们毫无用途 - 别碰
initrd.img和initrd.img-$(uname -r),那是当前必需的 - 如果你用的是 LVM 或加密根分区,
initrd体积天然更大,建议每次清理后留至少 150MB 余量,别压到 100% 满
真正容易被忽略的点:/boot 分区通常是 ext4,但某些老安装可能用了 vfat(尤其是 EFI 系统 + /boot/efi 合并),vfat 不支持硬链接,apt purge 后残留更多——这种情况下,df -h /boot 显示已释放,但 ls -l /boot 仍能看到大量文件,就得进 Live USB 用 gparted 查看实际 inode 使用率。

















