我的 /boot 分区大小为 500M,安装时我以为这个大小足够了。但似乎不够。
现在几乎满了
/dev/sda1 446M 352M 61M 86% /boot
执行 apt-get upgrade 不成功:
update-initramfs: Generating /boot/initrd.img-5.11.0-25-generic
Error 24 : Write error : cannot write compressed block
E: mkinitramfs failure cpio 141 lz4 -9 -l 24
update-initramfs: failed for /boot/initrd.img-5.11.0-25-generic with 1.
dpkg: error processing package initramfs-tools (--configure):
installed initramfs-tools package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
/boot 的内容:
total 343M
-rw-r--r-- 1 root root 248K kesä 17 01:38 config-5.11.0-22-generic
-rw-r--r-- 1 root root 248K heinä 9 20:42 config-5.11.0-25-generic
drwx------ 6 root root 4,0K tammi 1 1970 efi
drwxr-xr-x 4 root root 4,0K heinä 23 13:13 grub
-rw-r--r-- 1 root root 153M heinä 10 14:22 initrd.img-5.11.0-22-generic
-rw-r--r-- 1 root root 151M heinä 23 13:13 initrd.img-5.11.0-25-generic
lrwxrwxrwx 1 root root 28 heinä 23 06:04 initrd.img.old -> initrd.img-5.11.0-22-generic
drwx------ 2 root root 16K heinä 6 08:52 lost+found
-rw-r--r-- 1 root root 179K elo 18 2020 memtest86+.bin
-rw-r--r-- 1 root root 181K elo 18 2020 memtest86+.elf
-rw-r--r-- 1 root root 181K elo 18 2020 memtest86+_multiboot.bin
-rw------- 1 root root 5,7M kesä 17 01:38 System.map-5.11.0-22-generic
-rw------- 1 root root 5,7M heinä 9 20:42 System.map-5.11.0-25-generic
lrwxrwxrwx 1 root root 25 heinä 23 06:04 vmlinuz -> vmlinuz-5.11.0-25-generic
-rw------- 1 root root 15M kesä 17 01:55 vmlinuz-5.11.0-22-generic
-rw------- 1 root root 15M heinä 9 21:04 vmlinuz-5.11.0-25-generic
lrwxrwxrwx 1 root root 25 heinä 23 06:04 vmlinuz.old -> vmlinuz-5.11.0-22-generic
我需要调整启动分区的大小吗?有没有办法在不调整启动分区大小的情况下进行升级?
答案1
尝试
首先检查已安装的内核
dpkg --list | egrep -i --color 'linux-image|linux-headers' | wc -l
删除旧版本的内核
sudo apt --purge <kernel> autoremove
or
sudo apt-get --purge <kernel> autoremove
保留旧内核以防万一遇到问题,这是最明智的做法
答案2
根据我在您的 /boot 卷中看到的内容,我认为您需要调整该卷的大小。 开始之前请务必备份所有内容!
我之所以这么说,是因为两个内核的 initramfs 条目占用了 /boot 中允许空间的近三分之二(其他文件占用了剩余三分之一的大部分空间)。没有空间容纳另一个内核、标头、配置和 initramfs。作为临时修复,您可以按照 @Henzo 的回答删除两个内核中较旧的一个,但我希望确保至少有一个较旧的内核,以防出现错误或文件损坏。
如果您要将启动文件放在自己的卷中,我建议(使用现代 5.x 内核)您需要留出 2 GB 的空间,以确保有足够的空间容纳两个或三个旧内核以及您要为升级安装的内核。对于现代硬盘和 SSD,这不是很大的空间,但它是一种廉价的保险,可以避免调整关键分区的大小……