编辑以澄清这与其他由于 /boot 空间不足而无法升级的问题不同。我没有很多可以删除的旧内核。我只有一个,我无法删除它!
所以我尝试从 Ubuntu 19.10 更新到 20.04。我启用了全盘加密,因此在启动前必须输入密码。在命令行上,当我尝试
sudo do-release-upgrade
该过程终止
“升级已中止。升级需要磁盘‘/boot’上总共 212 M 的可用空间。请在‘/boot’上至少释放 102 M 的额外磁盘空间。您可以使用‘sudo apt autoremove’删除旧内核,也可以在 /etc/initramfs-tools/initramfs.conf 中设置 COMPRESS=xz 以减小 initramfs 的大小。”
我已经完成自动删除,但无论如何我只有一个内核:
$ dpkg --list | grep linux-image
ii linux-image-5.3.0-46-generic 5.3.0-46.38 amd64 Signed kernel image generic
将 initramfs.conf 编辑为 COMPRESS=xz 也不允许升级。
以下是输出ls -l /boot
$ ls -las /boot
total 112120
3 drwxr-xr-x 5 root root 3072 May 23 11:14 .
4 drwxr-xr-x 24 root root 4096 Dec 3 17:50 ..
232 -rw-r--r-- 1 root root 235824 Mar 26 18:54 config-5.3.0-45-generic
232 -rw-r--r-- 1 root root 235846 Mar 27 16:22 config-5.3.0-46-generic
4 drwx------ 3 root root 4096 Jan 1 1970 efi
1 drwxr-xr-x 5 root root 1024 May 23 11:17 grub
0 lrwxrwxrwx 1 root root 27 Apr 7 10:10 initrd.img -> initrd.img-5.3.0-46-generic
90678 -rw-r--r-- 1 root root 92489165 May 23 11:04 initrd.img-5.3.0-46-generic
0 lrwxrwxrwx 1 root root 27 Apr 7 10:09 initrd.img.old -> initrd.img-5.3.0-46-generic
12 drwx------ 2 root root 12288 Oct 3 2015 lost+found
180 -rw-r--r-- 1 root root 182704 Jan 28 2016 memtest86+.bin
182 -rw-r--r-- 1 root root 184380 Jan 28 2016 memtest86+.elf
182 -rw-r--r-- 1 root root 184840 Jan 28 2016 memtest86+_multiboot.bin
4614 -rw------- 1 root root 4704521 Mar 26 18:54 System.map-5.3.0-45-generic
4614 -rw------- 1 root root 4704973 Mar 27 16:22 System.map-5.3.0-46-generic
0 lrwxrwxrwx 1 root root 24 Apr 7 10:10 vmlinuz -> vmlinuz-5.3.0-46-generic
11182 -rw------- 1 root root 11404024 Mar 27 16:48 vmlinuz-5.3.0-46-generic
0 lrwxrwxrwx 1 root root 24 Apr 7 10:09 vmlinuz.old -> vmlinuz-5.3.0-46-generic
下面是输出df -h /boot
$ df -h /boot
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 237M 120M 105M 54% /boot
除了冒险进行分区编辑以增加启动分区的大小之外,我还可以从 /boot 中安全地删除什么内容以完成升级吗?
提前致谢。
答案1
好吧,由于您只有大约 5M 的旧 ...5.3.0-45 文件,删除它们不会解决您的问题(如果您手动删除它们,还会遇到其他问题)。看起来您只是需要更多空间,因此将一个 ext 文件系统放到具有几 G 空间的 USB 上,复制您现有的 /boot 文件,将您的 USB 挂载在 /boot 并运行 dist-upgrade。完成后,从 USB 复制回新文件,然后删除旧文件。您甚至可能不需要更改 /etc/fstab 文件,因为不再需要 USB 挂载。但实际上,您的 /boot 非常紧张,每次内核升级都会出现问题,因此请考虑重新进行分区以留出更大的 /boot。