更换主板后如何使用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启动。Grub不见了。所以我尝试从Live系统(从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菜单中仅看到Windows Boot Manager,而没有看到Kali Linux。

我的驱动器通过以下方式进行分区:

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

我的grub.cfg

我的fstab文件

我也可以通过哪种方式为Kali Linux添加启动项?怎样在grub屏幕之前跳过带有LUKS密码请求的黑屏?(在更换主板之前,我直接看到grub屏幕)。

电信

读取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/grub来使GRUB从另一个位置查找必要的字体和图像,因此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更加简单,并且不再包含任何命令。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章