LUKS+LVM을 사용한 전체 디스크 암호화를 위한 젠투 설정 가이드

LUKS+LVM을 사용한 전체 디스크 암호화를 위한 젠투 설정 가이드

젠투에서 다음을 설정하는 방법을 찾고 있습니다:

/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 cryptsetup.genkernel

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. 설명서를 다시 따르면 재부팅 후 비밀번호 프롬프트가 표시됩니다.

이것이 다른 사람들에게 도움이 되기를 바랍니다.

관련 정보