使用加密根目录安装 Debian:安装程序看不到 EFI /boot 分区

使用加密根目录安装 Debian:安装程序看不到 EFI /boot 分区

我正在尝试使用 Debian 安装程序(对于 Stretch-rc1)进行我认为非常标准的加密/分区和未加密分区设置。/boot/boot通过选择选项创建EFI System Partition,因为这是一个 UEFI 系统。然后我创建了一个加密的 LUKS 卷并将根文件系统放在那里。尽管所有这些都是通过安装程序完成的,但 GPT 和未格式化的分区首先是使用 fdisk 创建的。

当我尝试将更改写入磁盘时,出现错误:

加密配置失败

您已选择要存储在加密分区上的根文件系统。此功能需要一个单独的 /boot 分区来存储内核和 initrd。您应该返回并设置一个 /boot 分区。

我很困惑,因为我之前没有加密,一切都工作正常。查看 ESP/boot分区显示可启动标志已打开。也许我对 Debian 想用 ESP 做什么有一个根本性的误解?我欢迎任何让这项工作顺利进行的建议。

答案1

我最终解决了这个问题。

基本上,我需要三个分区而不是两个:

  1. ESPFAT,未加密)
  2. /bootext,未加密)
  3. /(任何有效的 Linux 文件系统,已加密)

未加密的EFI系统分区 ( ESP)仅有的包含引导加载程序(例如 GRUB),而不是内核或其 initrd/initramfs(包含内核的初始 ramdisk 映像)。引导加载程序本身无法解密和访问根文件系统以访问 initrd。因此 initrd 需要存在于自己的未加密/boot分区上,格式化为ext文件系统(例如ext4),可以由引导加载程序解压。一旦内核被解压,它将能够接管剩余的引导过程来解密和挂载根文件系统。

我找到了这个回答有帮助。

相关内容