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

Ubuntu 18.04因/boot空间不足无法升级,常规内核清理方法无效的解决办法咨询

Ubuntu 18.04因/boot空间不足无法升级,常规内核清理方法无效的解决办法咨询

我最近想升级我的Ubuntu 18.04,但一直失败,原因是/boot分区空间不足。先给大家看看我/boot目录里的内容:

System.map-4.15.0-173-generic
System.map-4.15.0-204-generic
System.map-4.15.0-29-generic
abi-4.15.0-29-generic
config-4.15.0-173-generic
config-4.15.0-204-generic
config-4.15.0-29-generic
grub
initrd.img-4.15.0-204-generic
lost+found
retpoline-4.15.0-29-generic
vmlinuz-4.15.0-173-generic
vmlinuz-4.15.0-204-generic
vmlinuz-4.15.0-29-generic

我按照常规的清理/boot空间的方法,执行了sudo apt purge -y linux-{image,headers}-VERSION命令(把VERSION替换成当前正在使用的内核以外的版本)。执行后用dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}'查看,确实只剩下正在使用的内核相关包了:

linux-headers-4.15.0-204
linux-headers-4.15.0-204-generic
linux-image-4.15.0-204-generic

但奇怪的是,/boot里的旧文件完全没被删除!那些公认的解决办法对我完全没用,我就想问问有没有其他办法?


后续尝试与最终解决:

  1. 我先试了sudo apt autoremove --purge,结果啥也没干成。
  2. 执行apt-mark showmanual | grep linux-'[g|h|m|i]',输出是:
    linux-generic
    linux-headers-generic
    
    我还纠结过能不能直接用sudo rm ...删掉那些无用版本的文件,不知道安全不安全?
  3. 又跑了dpkg -l | grep linux-'[g|h|i|m|e]' | cut -d ' ' -f 3,输出如下:
    binutils-x86-64-linux-gnu
    linux-generic
    linux-headers-4.15.0-204
    linux-headers-4.15.0-204-generic
    linux-headers-generic
    linux-image-4.15.0-204-generic
    linux-image-generic
    linux-image-unsigned-4.15.0-173-generic
    linux-image-unsigned-4.15.0-29-generic
    linux-modules-4.15.0-173-generic
    linux-modules-4.15.0-204-generic
    linux-modules-4.15.0-29-generic
    linux-modules-extra-4.15.0-204-generic
    
  4. 后来我用命令把/boot里不属于当前内核(204-generic)的文件关联到对应的包:
    for f in /boot/* ; do  dpkg -S $f ; done | grep -v 204-generic | cut -f 1 -d ":"
    
    输出是:
    linux-modules-4.15.0-173-generic
    linux-modules-4.15.0-29-generic
    linux-modules-4.15.0-29-generic
    linux-modules-4.15.0-173-generic
    linux-modules-4.15.0-29-generic
    linux-modules-4.15.0-29-generic
    linux-image-unsigned-4.15.0-173-generic
    linux-image-unsigned-4.15.0-29-generic
    
  5. 最后用这条命令批量清理这些对应的包:
    for f in /boot/* ; do  dpkg -S $f ; done | grep -v 204-generic | cut -f 1 -d ":" | xargs -n 1 sudo apt purge -y
    
    这下终于把/boot里的无用文件都删掉了!感谢@user535733在评论区分享的思路!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 11:54:10