You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

/boot分区(/dev/sda1)已满,无法删除旧内核且APT依赖修复失败求助

/boot分区(/dev/sda1)已满,无法删除旧内核且APT依赖修复失败求助

我完全懂你现在的糟心处境——/boot彻底塞满,导致APT直接罢工,连常规的内核清理命令都因为依赖问题卡壳,确实够头疼的。咱们得换个思路,绕过APT和dpkg的依赖检查,先手动给/boot腾空间,再修复系统状态,具体步骤来:

  • 第一步:确认当前正在使用的内核(绝对不能删这个!)
    先跑这个命令看你现在用的内核版本:

    uname -r
    

    比如输出是5.15.0-60-generic,那这个版本的所有相关文件都要保留,别碰。

  • 第二步:找出/boot里的旧内核文件
    列出/boot下的所有内核相关文件:

    ls -la /boot/
    

    你会看到一堆类似vmlinuz-5.15.0-XX-generic、initrd.img-5.15.0-XX-generic、config-5.15.0-XX-generic、System.map-5.15.0-XX-generic的文件,除了第一步查到的当前内核版本,其他老版本的这些文件都可以删。

  • 第三步:手动删除旧内核文件
    比如要删5.15.0-58-generic这个旧版本,直接用rm命令删掉它的所有相关文件:

    sudo rm -f /boot/vmlinuz-5.15.0-58-generic /boot/initrd.img-5.15.0-58-generic /boot/config-5.15.0-58-generic /boot/System.map-5.15.0-58-generic
    

    多删几个最老的版本,给/boot腾出至少几十MB的空间就行。

  • 第四步:修复dpkg的包状态
    现在/boot有空间了,让dpkg重新梳理已安装的包:

    sudo dpkg --configure -a
    
  • 第五步:修复APT依赖问题
    这时候再跑你之前失败的命令,应该就能正常执行了:

    sudo apt --fix-broken install
    

    它会自动清理掉残留的旧内核包信息,把依赖关系修复好。

  • 第六步:后续预防,避免再踩坑
    修复完成后,记得用这个命令自动清理不再需要的旧内核包:

    sudo apt autoremove --purge
    

    以后定期跑一下这个命令,就能自动清理老内核,防止/boot再次被塞满。

为啥之前的方法不管用?因为APT和dpkg在处理包删除的时候,需要先在/boot里写一些临时文件或者更新状态,但你的/boot已经满到0可用空间了,连这些操作都没法完成,所以必须先手动腾出空间,让包管理工具能正常干活。

备注:内容来源于stack exchange,提问作者Developer Gee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 12:34:37