Grub2
使用 LUKS+LVM 進行全盤加密的 Gentoo 設置指南
我正在尋找一種在 Gentoo 中進行以下設置的方法:
/dev/sda1 -> /boot (ext2) /dev/sda2 -> Luks encrypted | +-lvm-vg1 | +- /dev/mapper/root-fs -> / (ext4) +- /dev/mapper/swap -> (swap)
它與 Ubuntu 在進行圖形安裝時所做的設置基本相同。
我確實知道如何手動設置 LUKS 甚至 LVM 設置,但是在啟動時將它們組合在一起時會卡住。如何告訴核心和 grub 解鎖 LUKS 分區並掛載正確的 LVM 分區?
所以我確實想通了:
我按照手冊對磁碟進行了部分分區:
# parted -a optimal /dev/sda GNU Parted 2.3 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)mklabel gpt (parted)unit mib (parted)mkpart primary 1 3 (parted)name 1 grub (parted)set 1 bios_grub on (parted)mkpart primary 3 131 (parted)name 2 boot (parted)mkpart primary 131 -1 (parted)name 3 lvm (parted)set 2 boot on (parted)q
我所做的唯一更改不是創建交換分區和根分區,而是創建一個分區並將其命名為 lvm(名稱無關緊要)。接下來我設置了LUKS:
# Load the dm-crypt module (probably not nessesary) modprobe dm-crypt # Crypt the partition we named lvm (in my case that would be /dev/sda3) cryptsetup -c aes-cbc-essiv:sha256 -v luksFormat -s 256 /dev/sda3 # Open the luks volume cryptsetup luksOpen /dev/sda3 sda3-luks # Setup a LVM physical volume lvm pvcreate /dev/mapper/sda3-luks # Setup a volume group lvm vgcreate vg0 /dev/mapper/sda3-luks
之後設置實際卷:
# Fist setup the swap volume lvm lvcreate -L 2048M vg0 # Then check how many 'extends' are free (Free PE) using lvm vgdisplay # use that number to use up the rest of the space: lvm lvcreate -l 7809 vg0
對於其餘部分,我們基本上遵循手冊,除了您通常會為
/dev/sda3
(swap) 或/dev/sda4
(root) 執行操作的地方,您現在將使用/dev/mapper/vg0-lvol0
(swap) 和/dev/mapper/vg0-lvol1
.重要的是,在生成核心(我用於
genkernel
此)時,首先使用emerge -av cryptsetup
. 然後genkernel
使用以下參數執行:genkernel --luks --lvm --busybox --menuconfig all
確保將核心設置為支持 LVM 和選擇的散列和加密算法(在我的例子中
aes
和sha256
)。然後繼續按照手冊進行操作,直到您啟動grub
-config。在執行之前,
grub2-mkconfig
您應該編輯該文件/etc/defaults/grub
。(我應該聲明,我不確定這是否是最好的解決方案,但它對我有用)。在該文件中,我放置了以下內容(查找並取消註釋參數):
GRUB_CMDLINE_LINUX="crypt_root=UUID=<uuid of sda3> dolvm"
您可以使用 找到正確的 UUID
ls -l /dev/disk/by-uuid
。之後grub2-mkconfig
應該會在/boot
. 同樣,按照手冊進行操作,重新啟動後,您應該會收到密碼提示。希望這對其他人有幫助。