如何使用 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

相關內容