최근에 Antergos(기본적으로 Arch)를 설치하고 전체 디스크 암호화를 사용하도록 설정했습니다. 이제 최대 절전 모드를 원하고 스왑 파티션을 동일한 LUKS 볼륨에 넣을 수 없기 때문에 LUKS encrypt
로 마이그레이션하고 싶습니다 .sd-encrypt
배경
설정 중:
/
파티셔닝과 스왑 파티셔닝 에 LUKS를 사용합니다 .- 제 메인 SSD가 작기 때문에 최대 절전 모드도 가능하고 싶고, RAM도 32GB라서 두 번째 드라이브에 암호화된 스왑 파티션을 생성했고,
- 스왑 파티션(및 두 번째 드라이브에 또 다른 암호화된 EXT4 파티션)을 마운트했습니다
/etc/crypttab
.
설치가 제대로 작동하는지 테스트했고, grub을 통해 Linux 및 이중 부팅 Windows로 부팅할 수 있었고, Linux 부팅에서는 두 암호화된 드라이브를 모두 해독하고 마운트했습니다.
그러나 스왑 드라이브 UUID가 있는 디스크를 찾을 수 없다는 오류가 발생하고, Arch 매뉴얼에서는 encrypt
설치 프로그램에서 얻은 정보가 부팅 중에 암호화된 파티션만 처리할 수 있음을 확인합니다. 더 많은 문제를 처리하려면 로 이동해야 합니다 sd-encrypt
. 그런데 설명서를 읽어봐도 sd-encrypt
.
세부 사항
HOOKS="base udev autodetect modconf block keyboard keymap encrypt resume filesystems fsck"
GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=UUID=[encrypted swap UUID]"
GRUB_CMDLINE_LINUX=cryptdevice=/dev/disk/by-uuid/[/ UUID]:Arch_crypt
GRUB_ENABLE_CRYPTODISK=y
/etc/crypttab
swap_crypt /dev/disk/by-uuid/[/ UUID] password_file luks data_crypt /dev/disk/by-uuid/[/ UUID] password_file luks
encrypt
in 으로 변경한 sd-encrypt
후에는 또 무엇을 해야 합니까 HOOKS
? 거기까지 만들고 /etc/crypttab.initramfs
이동 해야 하나요 swap_crypt
? luks
로 바꿔야 하나요 rd.luks
? swap 파티션과 /partition 모두 동일한 비밀번호를 사용하므로 설명서에 따르면 비밀번호를 한 번 입력한 후 부팅 시 둘 다 마운트해야 합니다. 그렇죠? 문서에는 매개변수 luks.*
및 rd.luks.*
이와 유사한 내용이 언급되어 있습니다. 이를 사용해야 하며, 그렇다면 어디에 두어야 합니까?
답변1
나는 Grub을 직접 사용하지 않지만(Arch 및 sd-encrypt 사용) 커널 옵션에서 아래와 같이 구성을 변환해야 한다고 생각합니다(전환하기 전에 이전 구성을 백업하는 것을 잊지 마십시오).
HOOKS="base systemd autodetect modconf block keyboard sd-vconsole sd-encrypt resume filesystems fsck"
GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=UUID=[decrypted swap UUID]"
# I use resume=/dev/mapper/name-of-decrypted-device
GRUB_CMDLINE_LINUX=luks.uuid=[/ encrypted UUID] luks.uuid=[swap encrypted UUID]
GRUB_ENABLE_CRYPTODISK=y
/etc/crypttab
swap_crypt /dev/disk/by-uuid/[/ UUID] password_file luks
data_crypt /dev/disk/by-uuid/[/ UUID] password_file luks
mkinitcpio -p linux
HOOKS 수정을 마친 후에는 initramfs를 재생성하기 위해 또는 이에 상응하는 명령을 실행하는 것을 잊지 마십시오. grub.cfg 파일 grub-mkconfig -o /boot/grub/grub.cfg
또는 이와 유사한 것.