我在尝试更新系统时收到此错误,一切似乎都正常,但我是 Linux 新手,所以我可能遗漏了一些东西
ben@ben-laptop:~$ sudo apt-y 升级 正在读取软件包列表...完成 构建依赖关系树 正在读取状态信息...完成 计算升级...完成 以下包已自动安装并且不再需要: libllvm9 使用“sudo apt autoremove”将其删除。 0 表示升级,0 表示全新安装,0 表示删除,0 表示不升级。 1 未完全安装或删除。 此操作后将使用0B的额外磁盘空间。 请求保存当前系统状态 成功保存为“autozsys_k3262n” 设置 linux-image-5.4.0-40-generic (5.4.0-40.44) ... 处理 linux-image-5.4.0-40-generic (5.4.0-40.44) 的触发器... /etc/kernel/postinst.d/initramfs-工具: update-initramfs:生成 /boot/initrd.img-5.4.0-40-generic I:initramfs 将尝试从 /dev/sda2 恢复 我:(UUID=a9642385-eacc-4155-b29f-90ba3692f639) I:设置 RESUME 变量来覆盖此变量。 /etc/kernel/postinst.d/zz-update-grub: /usr/sbin/grub-probe:错误:无法获取“bpool/BOOT/ubuntu_0qqeus”的规范路径。 运行部分:/etc/kernel/postinst.d/zz-update-grub 退出,返回代码 1 软件包:处理软件包 linux-image-5.4.0-40-generic (--configure) 时出错: 已安装 linux-image-5.4.0-40-generic 包安装后脚本 ubprocess 返回错误退出状态 1 处理时遇到错误: Linux-映像-5.4.0-40-通用 ZSys 正在向 GRUB 菜单添加自动系统快照 错误“update-grub”返回错误:退出状态 1 埃:子进程 /usr/bin/dpkg 返回错误代码 (1)
如果我单独运行 update-grub 我会得到
ben@ben-laptop:~$ sudo update-grub [sudo] 密码 ben: /usr/sbin/grub-probe:错误:无法获取规范路径 `bpool/BOOT/ubuntu_0qqeus'。
答案1
我最近遇到了与 Kubuntu 20.04 完全相同的问题。 问题是该/boot
分区已经没有足够的剩余空间来正确更新内核。因此每次重试都会失败(即sudo apt upgrade
)。您可以通过运行来检查这一点df-H
,如果安装的可用空间较低(例如低于 100MB),/boot
那么您可能会遇到您看到的问题。首先尝试sudo apt clean
,sudo apt autoremove
然后sudo apt upgrade
查看它是否会自动清除空间以修复错误。如果没有,请参阅下面的解决方案。
要修复它你需要释放空间/boot
. 我是如何做到的:
- 运行
sudo dpkg --list | egrep -i --color 'linux-image|linux-headers'
即可获得已安装内核和内核头文件的列表/boot
。 - 现在你需要卸载所有你不想要的除了当前内核(通过运行找出当前内核
uname -r
)。你也许应该保持所有内核更新比当前内核还要好。 - 使用以下命令卸载每个您不需要的内核和内核头:
例如我运行了:sudo apt purge {kernel-package-name}
sudo apt purge linux-image-5.4.0-26-generic ... sudo apt purge linux-headers-5.4.0-26-generic ... sudo apt purge linux-image-5.4.0-33-generic ... sudo apt purge linux-headers-5.4.0-33-generic ... And so on...
- 一旦您删除了足够的内核以释放空间,请重新启动您的电脑,然后重试
sudo apt update
,sudo apt upgrade
看看是否成功并且错误消息是否消失。
将来当它再次填满时,您可能必须重复此操作。我一直认为旧内核应该被自动删除,或者通过使用sudo apt clean
and/or删除sudo apt autoremove
,但在某些安装中似乎并非如此。
如果有人知道如何自动删除旧内核,请分享