我希望將加密的根分區映射到設備映射器名稱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
。