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の設定を手動で設定する方法を知っていますが、起動時に一緒に設定するのに問題があります。カーネルとグラップに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)または(root)に対して/dev/sda4行う場合を除いて、/dev/mapper/vg0-lvol0(swap)とを使用します/dev/mapper/vg0-lvol1

genkernelカーネルを作成するときはまずemerge -av cryptsetupgenkernel

genkernel --luks --lvm --busybox --menuconfig all

aesLVMと選択したハッシュアルゴリズムと暗号化アルゴリズム(私の場合はsha256)をサポートするようにカーネルを設定する必要があります。その後、-configを起動するまでマニュアルに従いますgrub

このファイルを実行する前に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。マニュアルを再度確認すると、再起動後にパスワードプロンプトが表示されます。

これが他の人に役立つことを願っています。

関連情報