首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Grub2配置加密根分区的设备映射程序名称?

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

Unix & Linux用户
提问于 2016-06-24 08:35:02
回答 1查看 3.7K关注 0票数 3

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

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

有了上面配置的内核参数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下映射加密的根分区吗?

EN

回答 1

Unix & Linux用户

发布于 2016-09-14 05:20:34

来自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“。

例如,让行

代码语言:javascript
运行
复制
system UUID=144255e7-7a9a-4957-ad6e-d4a2a71c861a

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

在进行任何这些更改时,一定要将root=内核参数从/dev/mapper/luks-144255e7-7a9a-4957-ad6e-d4a2a71c861a更改为/dev/mapper/system

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/291798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档