
我配置了一些使用 GRUB 作為引導程式的系統,其中包含未加密的引導分割區以及使用 LVM-on-LUKS 的其他所有內容。現在,解鎖系統的唯一方法是我親自走到鍵盤上並輸入密碼。我希望能夠將密鑰檔案儲存在 USB 驅動器上,並在 USB 驅動器存在時讓系統自動啟動。
這篇博文(檔案),這個帖子和這個論壇貼文(檔案)每個都解釋了執行此操作的方法,但在每種情況下都有一個基本上說“編輯您的/etc/crypttab
配置”的步驟,但是當我打開時/etc/crypttab
,頂部的評論說:
# NOTE: Do not list your root (/) partition here, it must be set up
beforehand by the initramfs (/etc/mkinitcpio.conf)
事實上我的系統確實如此不是這裡有一個 root 條目。相反,它是在 grub 配置中設定的,其中包含以下行:
GRUB_CMDLINE_LINUX="... root=/dev/mapper/vg-root cryptdevice=UUID={uuid}:cryptlvm"
通知是否有/etc/crypttab
誤?或者那些似乎認為這些涉及編輯的方法的人可能/etc/crypttab
有不同的啟動配置?如果通知正確,那麼讓 GRUB 在 USB 磁碟機中尋找金鑰檔案的正確方法是什麼?
筆記:這個問題也決定支持該/etc/crypttab
方法。
答案1
我不知道這些/etc/crypttab
東西是否真的可以工作,但我確實設法僅使用配置來使其工作grub
。事實證明這實際上有很好的記錄在 ArchLinux Wiki 上(通常情況下)。就我而言,我有一個ext4
格式化的 USB 驅動器,所以我進入/etc/mkinitcpio.conf
並添加ext4
到MODULES
:
MODULES=(ext4)
然後在 中/etc/default/grub
,我更改GRUB_CMDLINE_LINUX
為新增cryptkey
參數,如下所示:
GRUB_CMDLINE_LINUX="quiet ... cryptkey=LABEL=my_usb_label:ext4:/path/to/keyfile
/path/to/keyfile
USB 隨身碟上金鑰檔案的路徑在哪裡,以/
根為根USB 隨身碟的。您可以找到有關使用encrypt
鉤子的更多信息這裡。