我正在尝试使用 Debian 安装程序(对于 Stretch-rc1)进行我认为非常标准的加密/
分区和未加密分区设置。/boot
我/boot
通过选择选项创建EFI System Partition
,因为这是一个 UEFI 系统。然后我创建了一个加密的 LUKS 卷并将根文件系统放在那里。尽管所有这些都是通过安装程序完成的,但 GPT 和未格式化的分区首先是使用 fdisk 创建的。
当我尝试将更改写入磁盘时,出现错误:
加密配置失败
您已选择要存储在加密分区上的根文件系统。此功能需要一个单独的 /boot 分区来存储内核和 initrd。您应该返回并设置一个 /boot 分区。
我很困惑,因为我之前没有加密,一切都工作正常。查看 ESP/boot
分区显示可启动标志已打开。也许我对 Debian 想用 ESP 做什么有一个根本性的误解?我欢迎任何让这项工作顺利进行的建议。
答案1
我最终解决了这个问题。
基本上,我需要三个分区而不是两个:
ESP
(FAT
,未加密)/boot
(ext
,未加密)/
(任何有效的 Linux 文件系统,已加密)
未加密的EFI
系统分区 ( ESP
)仅有的包含引导加载程序(例如 GRUB),而不是内核或其 initrd/initramfs(包含内核的初始 ramdisk 映像)。引导加载程序本身无法解密和访问根文件系统以访问 initrd。因此 initrd 需要存在于自己的未加密/boot
分区上,格式化为ext
文件系统(例如ext4
),可以由引导加载程序解压。一旦内核被解压,它将能够接管剩余的引导过程来解密和挂载根文件系统。
我找到了这个回答有帮助。