使用加密的引导分区安装 Grub

使用加密的引导分区安装 Grub

我正在尝试在安装过程中使用加密启动分区(lvm - uefi)进行 arch(或任何发行版)安装。我正在努力让它工作,但我在下图中收到此错误。我搜索了很多,但没有找到任何地方,我相信这是可能的,因为GRUB_ENABLE_CRYPTODISK=1grub 配置中的这个选项 ( )

内部 arch-chroot /mnt

里面 arch-chroot /mnt << EFI 分区是 FAT 32 其余的是 EXT4>>

答案1

grub-install期望找到/boot,但不能,因为根据您的lsblk,它位于/mnt/boot...,因此您此时尚未 chroot 到新安装中。

但我同意 Sheldon 的观点:将 EFI 系统分区(简称 ESP)放在 Linux 加密分区中是行不通的。

UEFI 固件想要找到满足以下条件之一的可读 FAT 分区(最好是 FAT32,但较新的 UEFI 版本也接受其他形式的 FAT):

  • 其 PARTUUID 与写入 UEFI 启动 NVRAM 变量的值匹配(在 Linux 中可使用 访问efibootmgr),并且该分区包含启动文件,其路径名在该 NVRAM 变量中指定(例如,\EFI\Arch\grubx64.efi或者\EFI\Arch\shimx64.efi如果使用安全启动兼容性填充程序)
  • 或者该分区包含一个文件,其路径名可以用 Windows 风格表示为\EFI\BOOT\BOOTx64.efi(= 可移动媒体/后备启动路径)

根据您当前的配置,固件将看到该sda1分区,但由于其内容显然是随机的废话(因为已加密),因此固件根本无法继续启动。除非您的 UEFI 固件支持您计划使用的确切磁盘加密方案,否则 ESP 分区必须保持未加密状态:通常 UEFI 固件无法从加密的 ESP 分区启动。这在实践中不应该是一个主要问题,因为 ESP 应仅包含标准引导加载程序组件。如果安全启动有效,固件将检查启动加载程序加密签名的有效性。

如果 UEFI 固件实现允许您更改安全启动密钥,您可以将出厂默认密钥替换为您自己生成的密钥,然后系统将仅接受由你的钥匙。

ArchWiki 有此示例配置用于使用 UEFI 引导的全磁盘加密。

+---------------------+----------------------+----------------------+----------------------+----------------------+
| BIOS boot partition | EFI system partition | Logical volume 1     | Logical volume 2     | Logical volume 3     |
|                     |                      |                      |                      |                      |
|                     | /efi                 | /                    | [SWAP]               | /home                |
|                     |                      |                      |                      |                      |
|                     |                      | /dev/MyVolGroup/root | /dev/MyVolGroup/swap | /dev/MyVolGroup/home |
| /dev/sda1           | /dev/sda2            |----------------------+----------------------+----------------------+
| unencrypted         | unencrypted          | /dev/sda3 encrypted using LVM on LUKS1                             |
+---------------------+----------------------+--------------------------------------------------------------------+

它还包括 BIOS 启动分区以实现最大兼容性,但如果您计划仅以 UEFI 本机样式启动,则可以省略 BIOS 启动分区以及与其相关的所有步骤。在此布局中,ESP 的安装方式与/efi最终安装中的安装方式相同(/mnt/efi如果屏幕截图中存在的话,ESP 也将处于这种情况),并且它/boot不是一个单独的文件系统,而只是根文件系统中的一个普通目录。

答案2

我很确定ESP必须是简单(FAT 格式)分区,未被 LVM 包装。虽然您可以加密启动分区,但 LVM 内的加密 ESP 不会运行。

我正在尝试使用加密启动分区(lvm - uefi)进行 arch(或任何发行版)安装

拱形文档涵盖很多。这很好,但也可能会造成混乱,因为描述了多种不同的场景。如果你尝试一下 Ubuntu,可能会更容易,他们如何包括加密的“/boot/”并且不太复杂。

相关内容