Linux内核更新boot分区问题

ubuntu上由于开始装机(双系统)时设置的boot分区只有181M,更新几下内核空间就不够了,每次内核更新都会遇到该问题,遂总结如下:

一般步骤

该方法适合boot分区还剩下一点(几M)空间时使用

  1. 查看当前boot分区剩余空间:

    1
    df -h /boot
  2. 查看当前使用的内核版本

    1
    uname -a
  3. 查看已安装的内核版本

    1
    2
    3
    4
    5
    dpkg --get-selections |grep linux-image
    #或
    dpkg -l 'linux-image-*' | grep '^ii'
    #或
    dpkg -l | grep 'linux-'
  4. 删除多余的内核文件,减少/boot分区占用

    1
    sudo apt purge linux-xxx(linux镜像文件)

/boot分区已满

该方法适合boot分区一点(几M)空间都不剩时使用

  1. 查看当前boot分区剩余空间:

    1
    df -h /boot
  2. 查看当前使用的内核版本

    1
    uname -a
  3. 查看已安装的内核版本

    1
    2
    3
    4
    5
    dpkg --get-selections |grep linux-image
    #或
    dpkg -l 'linux-image-*' | grep '^ii'
    #或
    dpkg -l | grep 'linux-'
  4. 移动内核至根目录

    1
    sudo mv /boot/initrd.img-xxxx-generic /
  5. 卸载旧的内核

    1
    2
    3
    sudo apt purge linux-xxx(linux镜像文件)
    # 必要时可以修复依赖关系
    # sudo apt -f install
  6. 将之前移出的内核在挪回去

    1
    sudo mv /initrd.img-xxxx-generic /boot/
  7. 此时/boot会剩下一些空间,直接参考上述一般方法章节即可

终极方案

用一个U盘装上ubuntu的镜像作为启动盘,然后在启动盘中ubuntu自带的gparted软件修改对应分区的大小即可