如何使用 Grub2 配置加密根分区的设备映射器名称?

如何使用 Grub2 配置加密根分区的设备映射器名称?

我希望将加密的根分区映射到设备映射器名称system,即它最终应该出现在/dev/mapper/system.我的操作系统是 Fedora 24 Workstation Linux,它在启用 UEFI 的计算机上使用 Grub2 启动。

Fedora 在安装过程中使用内核参数配置了内核,因此内核已经通过 UUID 正确识别了加密的根分区rd.luks.uuid=luks-144255e7-7a9a-4957-ad6e-d4a2a71c861a

rd.luks.uuid使用上述配置的内核参数,加密的根分区将通过与内核参数值相同的设备映射器名称进行映射,即出现在/dev/mapper/luks-144255e7-7a9a-4957-ad6e-d4a2a71c861a.

阅读了联机帮助页后,systemd-cryptsetup-generator我认为它的内核参数rd.luks.name是选择另一个设备映射器名称的合适参数;除了单独配置的内容之外rd.luks.uuid

不幸的是,Grub2 似乎既没有考虑rd.luks.name=luks-144255e7-7a9a-4957-ad6e-d4a2a71c861a=system也没有rd.luks.name=144255e7-7a9a-4957-ad6e-d4a2a71c861a=system(没有luks-前缀)。

您知道如何映射下的加密根分区吗/dev/mapper/system

答案1

man systemd-cryptsetup-generator:

rd.luks.name=仅由初始 RAM 磁盘 (initrd) 遵循,而luks.name=主系统和 initrd 均遵循。

因此,也许使用luks.name=144255e7-7a9a-4957-ad6e-d4a2a71c861a=system而不是在启动后也rd.luks.name=...会让您出名。system

如果这不起作用(我不明白文档的那一行到底想说什么或是否rd.会产生影响),您可以尝试将名称放入/etc/crypttab。再次来自man systemd-cryptsetup-generator

如果 /etc/crypttab 包含具有相同 UUID 的条目,则将使用其中指定的名称、密钥文件和选项。否则,设备的名称将是“ luks-UUID”。

例如,有一行

system UUID=144255e7-7a9a-4957-ad6e-d4a2a71c861a

可能需要为文件命名/etc/crypttab.initramfs,而不仅仅是/etc/crypttab确保它足够早可见(在打开分区之前)。

进行任何这些更改时,请务必将root=内核参数从更改/dev/mapper/luks-144255e7-7a9a-4957-ad6e-d4a2a71c861a/dev/mapper/system

相关内容