![LUKS+LVM을 사용한 전체 디스크 암호화를 위한 젠투 설정 가이드](https://linux55.com/image/83657/LUKS%2BLVM%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%9C%20%EC%A0%84%EC%B2%B4%20%EB%94%94%EC%8A%A4%ED%81%AC%20%EC%95%94%ED%98%B8%ED%99%94%EB%A5%BC%20%EC%9C%84%ED%95%9C%20%EC%A0%A0%ED%88%AC%20%EC%84%A4%EC%A0%95%20%EA%B0%80%EC%9D%B4%EB%93%9C.png)
젠투에서 다음을 설정하는 방법을 찾고 있습니다:
/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
aes
LVM과 선택한 해싱 및 암호화 알고리즘(제 경우에는 및 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
. 설명서를 다시 따르면 재부팅 후 비밀번호 프롬프트가 표시됩니다.
이것이 다른 사람들에게 도움이 되기를 바랍니다.