我正在尝试将 grub 设置为从/boot
基于 BTRFS 的 RAID1 阵列上的加密启动。但是,我找不到强制 grub 解锁两个磁盘的方法。 GRUB 要求两次解锁密钥/boot
,但我不知道之后如何要求它解锁两个密码设备。这里是启动过程:
解锁/dev/sda2: 解锁/dev/sdb2: grub 要求输入 /dev/sdb2 密码 由于找不到 /dev/mapper/root1 而失败
配置文件的相关部分如下所示:
/etc/default/grub.cfg:
...
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/sda2:root1 cryptkey=rootfs:/cryptfile.bin cryptdevice=/dev/sdb2:root2 cryptkey=rootfs:/cryptfile.bin root=/dev/mapper/root1 rootfstype=btrfs rootflags=device/dev/mapper/root1,device=/dev/mapper/root2,defaults"
GRUB_ENABLE_CRYPTODISK=y
...
磁盘分区如下所示:
/sda
/sda1 - SWAP
/sda2 - dmcrypt
/root1 - / (RAID1)
/sdb
/sdb1 - SWAP
/sdb2 - dmcrypt
/root2 - / (RAID1)
有什么帮助吗?
答案1
来自 reddit 的工作建议:
- 找到加密启动挂钩(捆绑在 initramfs 中的那个)
- 复制它并从中创建 encrypt2。从中删除一些卫生线(例如清除一些文件或文件夹)
- 将 encrypt2 添加到您的钩子 (mkinitcpio.conf(5)),将 encrypt2_* 参数添加到您的内核命令行,重建 initramfs。
- 重启?