내가 뭘 하려는 거지?
다음을 사용하여 외부 하드 드라이브(sdb)의 LUKS 위에 LVM을 사용하여 전체 시스템 암호화(부팅 및 미디어 파티션 없음)로 Arch를 설치합니다.http://suddenkernelpanic.blogspot.com/2013/03/arch-linux-lvm-on-top-of-luks-2013-style.html
내 문제는 무엇입니까?
시스템이 grub으로 부팅되고 루트를 찾을 수 있는 위치에 약간의 혼란이 있는 것 같습니다.
오류: 'uuid=f7153c4b-e6ea-48a2-9ee1-bf38c037173d' 장치를 찾을 수 없습니다. fsck 건너뛰기
오류: 루트 장치 'uuid=f7153c4b-e6ea-48a2-9ee1-bf38c037173d'를 찾을 수 없습니다.
이 튜토리얼에서 내가 벗어난 부분
튜토리얼에서 제안한 대로 Syslinux 대신 Grub을 사용했는데(이것이 핵심인 것 같습니다) Grub 솔루션이 정말 흐릿합니다.
내 파티션 구성표는 암호화와 관련되지 않은 추가 FAT32 파티션으로 구성되어 있습니다(문제와 관련이 없는 것 같습니다).
/etc/default/grub 관련 문제:
(여기가 문제인 것 같아요)
내가 읽은 내용에 따르면 이 파일에서 구체적으로 몇 군데를 업데이트해야 합니다.
GRUB_CMDLINE_LINUX="root=/dev/mapper/lvmpool-root cryptdevice=/dev/sdb2:crypt ro"
그리고 주석 처리를 제거해야 합니다:
GRUB_DISABLE_LINUX_UUID=true
문제/etc/mkinitcpio.conf
다음과 같이 후크를 추가해야합니다
HOOKS="... encrypt lvm2 ... filesystems ..."
루트에 대한 내 fstab 항목은 다음과 같습니다.
<filesystem>
/dev/mapper/lvmpool-root
UUID=f7153c4b-e6ea-48a2-9ee1-bf38c037173d / ext4 rw,relatime,data=ordered 0 1
현재 해결 방법
오류가 발생한 후 복구 셸로 이동하기 때문에 시스템을 계속 사용할 수 있습니다. 이 유형에서는 간단히 다음을 수행할 수 있습니다.
cryptsetup luksOpen /dev/sdb2 crypt
enter password
그런 다음 복구 쉘을 종료하면 일반 아치 로그인 프롬프트로 돌아갑니다. 시간이 많이 걸리지 않는다면 그렇게 나쁘지는 않을 것입니다... (부팅 시 오류가 발생하는 데는 20초 정도가 소요됩니다.)
내가 시도한 다른 리소스
나는 또한 다음을 사용했습니다:
wiki.archlinux.org/index.php/Beginners%27_guide
wiki.archlinux.org/index.php/Gr … 암호화
wiki.archlinux.org/index.php/Dm … oot_loader
wiki.archlinux.org/index.php/Dm … VM_on_LUKS
답변1
:crypt
문제는 볼륨 그룹으로 사용하는 것과 루트에 대한 매개변수로 볼륨 그룹 이름으로 /dev/sdb2
사용하는 것의 차이에 있는 것 같습니다 .lvmpool-
GRUB_CMDLINE_LINUX="root=/dev/mapper/lvmpool-root cryptdevice=/dev/sdb2:crypt ro"
예여기:
cryptdevice=/dev/partition:MyStorage root=/dev/mapper/MyStorage-rootvol
:MyStorage
일치하는 및 가 있습니다 MyStorage-
. 저것페이지특히 grub
LUKS 위에 LVM을 사용하여 (Syslinux가 아닌) 대상을 지정합니다. 그래서 나는 그 설정을 따를 것입니다.
암호화되지 않은 추가 파티션이 있다는 것은 중요하지 않습니다.
답변2
위의 답변에 대해 Anthon에게 감사드립니다. 제 문제를 해결하는 데 크게 도움이 되었습니다.
내 문제에 대한 해결책은 두 부분인 것 같습니다.
- /etc/default/grub의 항목은 다음과 같아야 합니다.
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdb2:lvmpool 루트=/dev/mapper/lvmpool-root"
cryptdevice는 암호화를 적용한 파티션으로 구성됩니다. 제 경우에는 /dev/sdb2 및 lvmpool(내 볼륨 그룹)입니다.
루트는 단순히 암호화된 루트 lvmpool(sdb2에 있음)의 위치를 가리키고 있습니다.
- 해당 항목을 입력한 후(이것은 나에게 중요한 실수였습니다) 다음을 실행해야 합니다.
grub-mkconfig -o /boot/grub/grub.cfg
그런 다음 시스템은 루트 파티션 잠금을 해제하라는 프롬프트로 바로 부팅되었습니다.
답변3
에 포함하다mkinitcpio.conf
MODULES="dm_mod dm_crypt ext4 aes_x86_64 sha256 sha512"
HOOKS="... encrypt lvm2 ..."
에 포함하다/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="... quiet "
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdX:name"
GRUB_ENABLE_CRYPTODISK="y"
실행 명령:
sudo mkinitcpio -p linux
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo grub-install --recheck --target=i386-pc /dev/sda
sudo pacman -S linux linux-headers