我已成功让 FDE(全盘加密)在使用 DOS 分区表的 MBR/BIOS 系统上顺利运行,我只有 /dev/sda1 和 /dev/sda2 分别用于交换和根 LUKS 容器。这是因为自 2014 年初以来,grub2 通过在写入 MBR 的引导加载程序部分中原生支持 dm-crypt 来支持加密的 /boot 分区。一切都很好。
但是,使用 UEFI 时,grubx64.efi 二进制文件是否能够处理 dm-crypt/luks 容器?我一直无法让它工作。我见过的所有示例要么是 /boot 加密但使用 MBR/BIOS,要么是 /boot 未加密且使用 UEFI。
我知道这对于签名内核和 UEFI 安全启动来说不是什么大问题,但是仍然存在某种形式的篡改的可能性(更改 initramfs - 或者是签名的?替换 grub 模块?等等)。
请记下任何答案有适用于 14.04 LTS 而不是 16.04 等。如果 grubx64.efi 错过了 14.04 的 dm-crypt 聚会,那没关系,我可以使用 MBR/BIOS。我只是想知道这是否真的可行。
提前谢谢了,
约翰。
答案1
我想知道是否有关于使用 EFI + 安全启动来加密 root 旁边的启动的可能性的更新。
但是我无法将该示例适应 Fedora 28(到目前为止还没有尝试过 ubuntu 18.04)。
答案2
据我所知,UEFI 引导加载程序无法使用 MBR 变体所在的加密引导区域。显然,UEFI 的担忧较少,因为可以使用安全引导和签名的内核映像(在 16.04 中执行得更严格)。使用 MBR,除了第一阶段基于 MBR 的 grub 引导加载程序(需要解密 root!)之外,所有内容都可以加密。这可能会受到损害,但比在无担保UEFI 系统。另外,请记住在 MBR 磁盘的开头留出 2048 个扇区(就像较新的磁盘那样fdisk
),以便为解密第一阶段引导加载程序提供额外的空间。如果您无法做到这一点,那么您必须使用单独的未加密引导分区。
希望这对其他人有帮助。