“卷启动仅剩 0 字节磁盘空间”

“卷启动仅剩 0 字节磁盘空间”

最近更新后,我收到一条警告:

The volume boot has only 0 bytes disk space remaining

但是我的电脑有很多可用硬盘空间。有人知道我该如何解决这个问题吗?(如果相关的话,我正在使用 Ubuntu 12.04 备用安装映像的整个磁盘加密功能)。

答案1

列出所有内核:
dpkg --get-selections | grep "linux-image-[[:digit:]].*" | tr "\t" ";" | cut -d ";" -f1

结果看起来有点像这样:

linux-image-3.19.0-7-generic 
linux-image-3.18.0-13-generic  
linux-image-3.16.0-23-generic

不要删除所有内核,只删除旧内核!

接下来让我们删除 3.16 内核,
sudo apt-get purge linux-image-3.16.0-23-generic

然后是系统中所有未使用的包:
sudo apt-get autoclean && sudo apt-get autoremove

答案2

原因确实是内核映像太旧。
要清理它,我只需运行一行:

sudo apt-get autoclean && sudo apt-get autoremove

这会自动识别旧内核并将其删除。

答案3

可能是您的/boot分区在一段时间内进行升级时积累了太多内核版本。此分区可能与您的大的磁盘分区(挂载为/)。您可以/boot像这样检查分区空间(查找带有 /boot 的行):

df -h

有一个不错的页面如何删除旧内核

简而言之,检查当前内核版本,获取已安装内容的列表,然后使用 apt-get 删除旧版本。页面上还有一个“神奇”的单行命令,可以为您完成所有这些操作。但使用它需要您自担风险。

更详细的说明:

  1. 获取当前内核版本,你想要保留的那个

    uname -r
    
  2. 获取所有已安装内核的列表:

    dpkg -l | grep linux-image-
    
  3. 在您想要删除的内核上运行 apt-get remove。不是最新的! 例如:

    sudo apt-get remove linux-image-2.6.32-22-generic
    

更多说明:

  • dpkg -l会告诉你(内核)包的状态在包名称之前。例如:

    rc  linux-image-3.13.0-39-generic  ...
    ii  linux-image-3.13.0-40-generic  ...
    
    • “rc” 表示该包是r已移除并C配置文件。您不需要再删除这些文件。
    • “ii” 表示包装上标明安装和已安装

    基于此,您可以仅列出已安装的内核包:

    dpkg -l | grep "ii.*linux-image-"
    

替代解决方案,使用 GUI 工具Ubuntu 调整

安装并进入 Computer Janitor,检查系统->旧内核和系统->不需要的包,然后按清理。

答案4

使用此脚本将删除所有其他旧内核,只保留当前版本和前一个版本(最后一个内核版本)

KERNELMAGES=`ls -lRt /boot/vmlinuz-*| awk -F/ '{print $3}' | grep -v $(uname -r) | sed 1d | sed -e 's/vmlinuz/linux-image/g'`

KERNELHEADERS=`ls -lRt /boot/vmlinuz-*| awk -F/ '{print $3}' | grep -v $(uname -r) | sed 1d | sed -e 's/vmlinuz/linux-headers/g'`

for PURGEKERNEL in `echo $KERNELMAGES $KERNELHEADERS`; do

apt-get autoremove -y && apt-get purge $PURGEKERNEL -y

done

相关内容