昨天升级了我的整个系统后
pacman -Syu
我在启动时遇到以下错误
Initramfs unpacking failed: ZSTD-compressed data is truncated
/init: line 6: /usr/lib/systemd/systemd-udevd: Textfile busy
A password is required to access the volgroup0 volume:
Enter the passphrase for /dev/sb3:
每当我尝试输入密码时,它都不会执行任何操作,并且我必须手动关闭笔记本电脑
我认为可能是什么原因造成的
大约一周前,我安装了 zen 内核,但它给了我一些错误,而且我忘记卸载它。
答案1
一种可能性是您的/boot
分区完全满了,当您上次更新内核时mkniticpio
尝试生成新映像,但没有足够的空间,并且您留下了一个错误的(截断的)initramfs。
解决方案是使用 Arch Linux LiveUSB chroot 到您的文件系统,清理/boot
任何不需要的文件,然后手动重新生成 initramfs。
详细步骤:
- 首先,启动 Arch Linux LiveUSB。
- 识别您的
/
和/boot
分区fdisk -l
- 挂载根分区:
mount /dev/{rootpartition} /mnt/
- 挂载
/boot
到你的根分区:mount /dev/{bootpartition} /mnt/boot
- chroot 进入您的系统:
arch-chroot /mnt
- 从 中删除现有
initramfs
映像和任何不必要的vmlinuz
内核/boot/
。 - 重新生成 initramfs
mkinitcpio -P
注意最后一个命令的输出。如果您收到bsdtar
错误,这可能意味着/boot
仍然已满。您可以使用df -h /boot
它来检查磁盘使用情况。
如果是这种情况,您可以增加 的大小/boot
,或者检查 initramfs 是如何生成的/etc/mkinitcpio.conf
,并从配置中删除不需要的任何模块。特别是,如果您使用的是 NVIDIA,您可能希望删除中列出的模块本节如果您没有遇到显示问题。