マザーボードを交換した後、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コマンドが含まれなくなったことを実行して確認できます。

おすすめ記事