使用 LUKS+LVM 进行全盘加密的 Gentoo 设置指南

使用 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 分区?

答案1

所以我确实弄清楚了:

我按照手册对磁盘进行了部分分区:

# 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 以及所选的散列和加密算法(在我的例子中aessha256)。然后继续按照手册进行操作,直到启动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应该会发现内核和 initramfs 中的麻烦/boot。再次按照手册操作,重新启动后您应该会收到密码提示。

希望这对其他人有帮助。

相关内容