Grub2
如何讓 Grub 自動執行 cryptomount 以載入其配置文件(加密啟動)
所以我試圖讓一個完全加密的引導分區執行。我正在執行 Funtoo,但主要是從 Arch wiki 尋求幫助。
所以我決定做一些瘋狂/有爭議的事情:不單獨的引導/根分區。我的設置如下所示:
/dev/nvme0n1p1 - EFI parition /dev/nvme0n1p2 - Swap /dev/nvme0n1p3 - Encrypted /
在我的
/etc/default/grub
我有以下內容:GRUB_ENABLE_CRYPTODISK=y GRUB_PRELOAD_MODULES="luks cryptodisk" GRUB_CMDLINE_LINUX="luks enc_root=/dev/nvme0n1p3 root=/dev/mapper/enc_root"
所有 linux 參數都是針對better-initramfs 的。我在 ramdisk 中包含了文件系統的密鑰,因此它不會提示我兩次輸入密碼。
我使用以下命令安裝了 Grub:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Funtoo Linux [GRUB]" --recheck --boot-directory=/boot/efi/EFI
因此,在目前狀態下,我得到了 Grub 救援提示。它找不到它的配置文件(它在加密的啟動/根磁碟上)。所以我執行以下命令:
insmod luks cryptomount (hd1,gpt3) set root=(crypto0) configfile (crypto)/boot/grub/grub.cfg
..我有一個完全啟動/工作的系統!:)
所以我的問題是:如何配置 Grub EFI 載入器以嘗試自動載入加密分區
(crypt0)
並讀取其配置文件?注意:Grub 將磁碟辨識為最有可能是因為我的 USB 記憶棒仍然插入。如果我拔下它並重新啟動,它
(hd1,gpt3)
應該會更改。(hd0,gpt3)
結果在 Gentoo/Funtoo 上,預設情況下未啟用 grub 的設備映射器。我將以下內容添加到
/etc/portage/package.use
:sys-boot/grub device-mapper
然後我重新出現 grub,執行
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Funtoo Linux [GRUB]" --recheck
並重新啟動以找到一個 luks 密碼請求螢幕。輸入後,一切都完美啟動。特別感謝frostschutz,他在此執行緒中提供了解決方案: