首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让Grub自动运行cryptomount来加载它的配置文件(加密引导)

如何让Grub自动运行cryptomount来加载它的配置文件(加密引导)
EN

Unix & Linux用户
提问于 2016-10-03 03:19:53
回答 1查看 13.9K关注 0票数 5

所以我正在尝试启动一个完全加密的启动分区。我也在运行Funtoo,但主要是从Arch wiki那里获得帮助。

因此,我决定做一些疯狂/有争议的事情:不要分开引导/根分区。我的设置看起来是这样的:

代码语言:javascript
复制
/dev/nvme0n1p1  - EFI parition
/dev/nvme0n1p2  - Swap
/dev/nvme0n1p3  - Encrypted /

在我的/etc/default/grub中,我有以下内容:

代码语言:javascript
复制
GRUB_ENABLE_CRYPTODISK=y
GRUB_PRELOAD_MODULES="luks cryptodisk"
GRUB_CMDLINE_LINUX="luks enc_root=/dev/nvme0n1p3 root=/dev/mapper/enc_root"

所有的linux参数都支持更好的。我在ramdisk中包含了一个文件系统的密钥,所以它不会两次提示我输入密码。

我使用以下方法安装了Grub:

代码语言:javascript
复制
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Funtoo Linux [GRUB]" --recheck --boot-directory=/boot/efi/EFI

因此,在目前的状态下,我得到了一个Grub救援提示。它找不到它的配置文件(它在加密的引导/根磁盘上)。因此,我运行以下命令:

代码语言:javascript
复制
insmod luks
cryptomount (hd1,gpt3)
set root=(crypto0)
configfile (crypto)/boot/grub/grub.cfg

..and我有一个完全启动/工作的系统!:)

因此,我的问题是:如何配置Grub加载器来尝试将加密的分区自动加载到(crypt0)并读取其配置文件?

注意: Grub最有可能将磁盘识别为(hd1,gpt3),因为我的U盘仍在插入。如果我拔掉它并重新启动,它应该会改变为(hd0,gpt3)

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2016-10-04 17:51:50

在Gentoo/Funtoo上,grub的设备映射程序默认不启用。我在/etc/portage/package.use中添加了以下内容:

代码语言:javascript
复制
sys-boot/grub device-mapper

然后我重新出现grub,运行grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Funtoo Linux [GRUB]" --recheck并重新启动以找到luks密码请求屏幕。输入它之后,一切都启动得很完美。

特别感谢在这个线程中提供解决方案的frostschutz:

https://forums.gentoo.org/viewtopic.php?p=7972812#7972812

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

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

复制
相关文章

相似问题

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