拱门Linux; Initramfs 解包失败:ZSTD 压缩数据被截断

拱门Linux; Initramfs 解包失败:ZSTD 压缩数据被截断

昨天升级了我的整个系统后

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/
  • 重新生成 initramfsmkinitcpio -P

注意最后一个命令的输出。如果您收到bsdtar错误,这可能意味着/boot仍然已满。您可以使用df -h /boot它来检查磁盘使用情况。

如果是这种情况,您可以增加 的大小/boot,或者检查 initramfs 是如何生成的/etc/mkinitcpio.conf,并从配置中删除不需要的任何模块。特别是,如果您使用的是 NVIDIA,您可能希望删除中列出的模块本节如果您没有遇到显示问题。

相关内容