새로 설치하여 두 번 복사했습니다. 처음에는 설정이 제대로 작동했지만 커널 업데이트를 적용할 때 재부팅 시 시스템이 중단되었습니다. GRUB에서 제공하는 이전 커널을 선택하면 잘 작동합니다.
시스템 세부정보:
- XPS 13 9380
- i5-8265U
- BIOS 버전 1.15.0
- 마이크로코드 버전은 "0xea"로 보고됩니다. apt list --installed | grep microcode 출력: intel-microcode/hirsute-updates, hirsute-security, 이제 3.20210608.0ubuntu0.21.04.1 amd64 [설치됨, 자동]
- 보안 부팅이 감사 모드로 설정된 것 같습니다.
- 우분투 마오마오(위에서 언급한 바와 같이)
- LiveUSB의 LUKS 파티션에 설치
- 현재 5.11.0-37-generic을 사용하고 있지만 이전 5.11 커널을 사용하여 복사하기도 했습니다. 확실히 그럴 것 같다변화버전 자체가 아닌 커널 버전에서. 5.11.0-36-generic은 특이한 GRUB 옵션 없이 시작됩니다.
내가 시도한 GRUB 설정절대적으로하지:
- dis_ucode_ldr 및 Mitigations=off(함께 또는 별도로);
- 스키마가 설정되지 않았습니다.
- 조용한 물보라 제거
- 다시 덮다
- 디버깅(출력 변경 없음)
- "initrd /initrd.img-5.11.0-37-generic" 줄 뒤의 모든 형태의 에코
그리고 그 모든 순열.
initrd.img 및 initrd.img.old(부팅할 수 있음) 파일에 대한 lsinitramfs는 확실한 후보를 표시하지 않습니다.
마이크로코드나 cryptsetup과 관련이 있는 것 같지만, 디버깅이 정보를 제공하지 않고 36으로 부팅하면 dmesg가 정상적인 부팅을 보고하기 때문에 약간 당황스럽습니다.
어떤 아이디어가 있나요? 관련 버그가 있는 것 같은데 완전히 재현되지는 않았습니다.
답변1
해결책: 사용
MODULES=dep
내부에 /etc/initramfs-tools/initramfs.conf
.
다시 빌드하고( 5.11.0-37-generic
사용 중인 커널 버전으로 교체):
update-initramfs -c -k 5.11.0-37-generic
OP와 동일한 문제가 발생했습니다. 며칠 전에 업데이트하고 재부팅한 후 시스템이 "초기 램디스크 로드 중..." 메시지와 함께 정지되고 다른 출력은 없습니다.
하드웨어는 거의 동일하지만 CPU는 i7-8565U입니다. OP에 나열된 것과 동일한 소프트웨어 구성.
다른 게시물아래 제안 사항:
이 문제는 크기 제한으로 인해 로드할 수 없는
initrd.img
대용량 파일(~100MB) 로 인해 발생합니다 . 이 문제는 약 55MB의 파일 생성MODULES=most
으로 전환하여 해결할 수 있습니다 .MODULES=dep
initrd.img
답변2
오늘도 이 문제가 발생하여 해결하는 데 몇 시간이 걸렸습니다. 해결책은 약 160MB이고 너무 클 수 있는 부팅 이미지를 다시 빌드하는 것입니다(Sorin의 설명대로). 그러나 그렇게 하는 과정에는 몇 가지 설명이 필요합니다.
기계
- 델 XPS 9550
- 우분투 20.04
- UEFI 부팅 파티션:
nvme0n1p2
- LUKS 암호화 기본 파티션:
nvme0n1p3
징후
시작할 때 LUKS 비밀번호 프롬프트 대신 grub 메뉴가 나타납니다. Ubuntu
빈 화면에서 결과를 선택합니다 . 복구 모드로 부팅을 시도하면 정지되기 전에 "초기 램디스크 로드 중" 상태가 됩니다. Bereded(OP)와 마찬가지로 여러 GRUB 구성 플래그와 BIOS 설정을 시도했지만 소용이 없었습니다.
해결책
USB로 부팅하고, initramfs-tools 구성을 변경하고, 를 다시 빌드해야 합니다 initrd.img
.
- 라이브 USB에서 부팅
- 기본 파티션 암호 해독/잠금 해제(
nvme0n1p3
암호화된 파티션 이름으로 교체)sudo cryptsetup luksOpen /dev/nvme0n1p3 nvme0n1p3_crypt
- 암호화된 파티션을 에 마운트하고
/mnt
, 부팅 파티션을 에 마운트한/mnt/boot
다음 chroot를 실행합니다./mnt
vgscan --mknodes vgchange -ay sudo mount /dev/mapper/vgubuntu-root /mnt # may be named ubuntu--vg-root depending on your system sudo mount /dev/nvme0n1p2 /mnt/boot # replace nvme0n1p2 with your boot partition for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done sudo chroot /mnt
- chroot 쉘에서 열고 편집하고 다음을
/etc/initramfs-tools/initramfs.conf
설정하십시오.MODULES=dep
- 예를 들어 현재/최신
initrd.img
.mv /boot/initrd.img-5.13.0-44-generic /boot/initrd.img-5.13.0-44-generic.bak
- 이미지를 다시 빌드합니다(현재 커널 버전으로 교체).
update-initramfs -c -k 5.13.0-44-generic
- 그럽 업데이트
update-grub
- 종료하고 재부팅하면 이제 재구성된 이미지에서 부팅할 수 있습니다.
문제 해결
호출할 때 매핑된 장치에 대해 지정하는 이름이 cryptsetup luksOpen
중요합니다. 이 이름은 crypttab에 구성된 볼륨 이름과 일치해야 합니다(아직 파티션을 잠금 해제/마운트하지 않았기 때문에 아직 볼 수 없습니다). 관례적으로는 <device_name>_crypt
. 이것이 올바르지 않으면 런타임 시 다음 경고를 받게 됩니다 update-initramfs
.
cryptsetup: WARNING: target '<Device UUID>' not found in /etc/crypttab
자원
답변3
(올바른) LUKS 비밀번호를 입력하고 Enter 키를 누르면 마치 dm-crypt 프롬프트가 있는 것처럼 정상적으로 부팅됩니다.
(현재 Debian(netinstall) 및 Alpine Linux에서 이러한 상황을 경험했습니다.)