마더보드를 교체한 후 LUKS 암호화된 LVM 파티션을 사용하여 Grub을 복원하는 방법은 무엇입니까?

마더보드를 교체한 후 LUKS 암호화된 LVM 파티션을 사용하여 Grub을 복원하는 방법은 무엇입니까?

EFI BIOS가 설치된 Lenovo X280 노트북에서 Windows 10 및 Kali Linux x64(Debian 9 x64 기반 Linux 배포판)를 듀얼 부팅했습니다. Windows 10에서는 비밀번호(TPM 아님)와 함께 BitLocker를 사용합니다. Linux는 LUKS 암호화를 사용합니다. Kali /boot 파티션을 별도로 생성했습니다. 사용하고 있던 메인보드를 교체해야 했습니다. 그 후에는 Windows만 시작됩니다. 그럽은 사라졌습니다. 그래서 라이브 시스템(USB 플래시 드라이브)에서 grub을 다시 설치해 보았습니다.

  1. LUKS 파티션을 수동으로 암호화했습니다.
    cryptsetup luksOpen /dev/nvme0n1p4 disk
    
  2. 파티션을 마운트했습니다.
    mount /dev/mapper/sk1-system /mnt
    mount /dev/nvme0n1p5 /mnt/boot
    mount /dev/nvme0n1p1 /mnt/boot/efi
    for i in /dev /dev/pts /proc /sys /run; do mount -B $i /mnt$i; done
    
  3. Grub을 설치하고 업데이트합니다.
    chroot /mnt
    grub-install /dev/nvme0n1 
    update-grub
    

Grub을 성공적으로 설치한 후 노트북을 부팅한 후 LUKS 비밀번호가 적힌 검은색 화면이 나오며, 올바른 비밀번호를 입력했더니 Grub 메뉴에 Kali Linux가 아닌 Windows Boot Manager만 보입니다.

내 드라이브는 다음과 같이 분할되어 있습니다.

nvme0n1:
nvme0n1p1: EFI
p2: MS Reserved Partition
p3: Windows 10 (BitLocker)
p4: crypto_LUKS partition it contains:
LVM:
/dev/mapper/sk1-system
/dev/mapper/sk1-swap
p5: Kali /boot partition (ext4)
p6: DATA (NTFS)
p7: WinRE_DRV

내 거그럽 구성 파일

내 거시스템 테이블문서

Kali Linux에 시작 항목을 추가하는 방법은 무엇입니까? grub 화면 전에 LUKS 비밀번호 요청으로 검은 화면을 건너뛸 수 있나요? (메인보드 교체 전 그럽 화면을 직접 봤습니다.)

답변1

파일을 읽을 때 grub.cfg첫 번째 LUKS 비밀번호 요청의 직접적인 원인은 부분적으로 다음과 같습니다.

cryptomount -u 99cc765bd11945e7a922436c76cfd505
set root='lvmid/vlNbhc-Fecj-bwew-vg7J-nnuy-3aCy-zl395m/Co88vm-3aMx-939B-ehD7-ijFW-Hw7p-z3gWUW'

update-grub따라서 LVM 기반 파일 시스템에서 무언가를 읽고 있는 것 같습니다 . 그게 무엇일까요?

font="/usr/share/grub/unicode.pf2"

아, 그리고 /usr/share/grub에서 직접 글꼴 파일을 읽고 싶어합니다.

의견에 따르면 이 부분은 /etc/grub.d/00_header문서에서 나온 것입니다. GRUB 내부 기능 테스트 변수가 feature_default_font_path로 설정된 경우 y여기에서 LUKS 비밀번호 프롬프트를 피하기 위해 전체 블록을 건너뜁니다.

또 다른 유사한 블록은 ### BEGIN /etc/grub.d/05_debian_theme ###다음과 같습니다: 또한 암호화된 디스크가 마운트되도록 보장합니다...

if background_image /usr/share/desktop-base/kali-theme/grub/grub-16x9.png; then
  set color_normal=white/black
  set color_highlight=black/white

...GRUB 메뉴에서 배경 이미지를 로드합니다 /usr/share/desktop-base/.

나머지 청크(및 여기에 포함된 해당 구성 조각 파일 /etc/grub.d/)는 암호화된 디스크에 대한 액세스에 의존하지 않는 것으로 보입니다.

따라서 GRUB 메뉴 이전에 추가 LUKS 프롬프트를 제거하려면 그래픽 메뉴를 비활성화하고 GRUB의 더 단순한 모양으로 돌아가거나 그들이 제공하는 구성 옵션을 살펴보고 찾아야 합니다 /etc/grub.d/00_header. /etc/grub.d/05_debian_theme그런 다음 적절한 파일을 복사하고 적절한 옵션을 사용하여 /etc/default/grubGRUB가 메뉴를 표시하기 위해 암호화된 디스크를 읽을 필요가 없도록 GRUB가 다른 위치에서 필요한 글꼴과 이미지를 찾도록 할 수 있습니다.

예를 들어 글꼴 파일을 에서 /usr/share/grub/unicode.pf2복사 한 /boot/grub/unicode.pf2다음 .GRUB_FONT=/boot/grub/unicode.pf2/etc/default/grub

마찬가지로 배경 파일을 에서 /usr/share/desktop-base/kali-theme/grub/grub-16x9.png로 복사한 다음 로 /boot/grub/grub-16x9.png설정할 수 있습니다 .GRUB_BACKGROUND=/boot/grub/grub-16x9.png/etc/default/grub

이러한 구성을 완료한 후 update-grub재생성된 GRUB 구성이 이제 더 단순해지고 더 이상 cryptmount명령을 포함하지 않는지 실행하고 확인할 수 있습니다.

관련 정보