![Arch Linux, Initramfs 압축 풀기 실패: ZSTD 압축 데이터가 잘렸습니다.](https://linux55.com/image/204227/Arch%20Linux%2C%20Initramfs%20%EC%95%95%EC%B6%95%20%ED%92%80%EA%B8%B0%20%EC%8B%A4%ED%8C%A8%3A%20ZSTD%20%EC%95%95%EC%B6%95%20%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B0%80%20%EC%9E%98%EB%A0%B8%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
어제 전체 시스템을 업그레이드한 후
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를 사용하여 파일 시스템으로 루트를 이동하고 /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를 사용하는 경우 다음에 나열된 모듈을 제거해야 할 수도 있습니다.이 섹션의디스플레이 문제가 발생하지 않는 경우.