파티션이 절반 쯤 /boot
차서 코어가 하나만 있으면 업그레이드할 수 없습니다.
다른 파티션이 암호화되면 크기 조정이 어렵습니다.
해결책: /boot
암호화된 파티션으로 이동합니다.
배경 이야기: Linux Mint 17을 20으로 업그레이드하면 최신 커널이 설치되지 않습니다. 이것이 저의 딜레마입니다. 파티션 크기 조정에 대해 많은 글이 작성되었습니다. 파티션을 암호화하면 공포감을 느낄 수 있습니다! 다행히도 대안이 있습니다.
시스템을 "부팅할 수 없게" 만든 후 몇 가지 지침을 제공하기로 결정했습니다(내 답변이 아래에 표시됩니다.), 다른 사람들도 동참하길 바랍니다.
답변1
신용은 상당 부분에 속합니다기욤 물랑루즈, 나는 단지 단순화하고 있습니다. 수퍼유저에게 반복적으로 질문이 표시되며 su
루트 셸로 명령을 실행 하는 것이 좋습니다 (또는 sudo
필요한 경우 명령을 계속 실행).
암호화된 파티션:/dev/sda5
목록 파티셔닝을 실행하세요 fdisk -l
. 예를 들면 다음과 같습니다.
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 499711 497664 243M 83 Linux
/dev/sda2 501758 500117503 499615746 238.2G 5 Extended
/dev/sda5 501760 500117503 499615744 238.2G 83 Linux
내 암호화된 파티션은 입니다 /dev/sda5
. 귀하의 파티션은 다를 수 있습니다( /dev/sda5
따라서 교체해야 합니다).
전제 조건: LUKS1
cryptsetup luksDump /dev/sda5
명령 출력을 확인하여 LUKS1을 사용하고 있는지 확인하십시오.
Version: 1
버전 2의 경우 계속하기 전에 다운그레이드하세요(원본 문서 참조).
전제조건: GRUB2
grub-install --version
버전 2 이상의 명령 출력을 확인하여 GRUB2를 사용하고 있는지 확인하세요.
전제 조건: 키보드 레이아웃
미국 키보드 레이아웃으로 전환할 때 비밀번호가 동일하게 유지되는지 확인하십시오. 비밀번호를 변경하거나(동일하게 유지) 미국 레이아웃을 사용하여 비밀번호를 설정하거나(권장하지 않음) 추가 해결 방법을 보려면 원본 문서를 참조하세요.
이동하다/boot
/boot
이동 중 데이터 수정을 방지하려면 읽기 전용으로 다시 마운트하세요 .
mount -oremount,ro /boot
임시 디렉터리(암호화된 파티션의)에 반복적으로 복사합니다.
cp -axT /boot /boot.tmp
/boot
(빈) 디렉터리를 제거 하고 삭제합니다.
umount /boot
rmdir /boot
임시 디렉터리를 재배치합니다.
mv -T /boot.tmp /boot
고쳐 쓰다/etc/fstab
이 명령은 cat /etc/fstab
다음과 유사한 내용을 출력합니다.
UUID=38e... /boot ext2 defaults
해당 줄을 주석 처리해야 합니다(저는 이에 동의합니다 vim
).
GRUB2에서 암호화된 마운트 활성화
GRUB_ENABLE_CRYPTODISK=y
에 추가 하고 /etc/default/grub
GRUB 구성 파일을 생성합니다.
update-grub
설치하고,
grub-install /dev/sda
테스트하기에 좋은 시간이 될 수도 있습니다
이제 모든 것이 제대로 작동하는지 테스트할 수 있는 좋은 시간이 될 것입니다. 재부팅하세요. 비밀번호를 입력하라는 메시지가 표시되고 (불편할 정도로 오랜 지연이 발생한 후) initramfs 프롬프트에 입력되어야 합니다. 다음 명령을 입력하십시오.
cryptsetup luksOpen /dev/sda5 sda5_crypt
sda5_crypt
출력을 첫 번째 인수로 바꿉니다 cat /etc/crypttab
(명령을 실행하지 않고 여기까지 왔다면 를 사용하세요. sda5_crypt
나중에 수정할 수 있습니다). 다음 명령을 실행하십시오.
exit
이제 시스템이 부팅되어야 합니다. 그렇지 않은 경우 복구가 상대적으로 쉬워야 합니다. Live USB에서 부팅하고 에서 해당 줄의 주석 처리를 제거하세요 /etc/fstab
. (즉시 사용 가능한 Live USB는 매우 유용합니다.)
시작 성능 감소
GRUB는 암호화 관련 CPU 명령에 최적화되어 있지 않습니다. 암호화된 파티션을 잠금 해제하는 데 이전보다 시간이 더 오래 걸립니다.
임의로 선택할 수 있는: 무차별 공격에 대한 저항력을 희생하여 성능을 조정할 수 있습니다. PBKDF는 Argon2보다 쉽습니다. PBKDF는 여러 번의 반복을 요구하여 무차별 대입 공격 속도를 늦추는 반면 Argon2는 추가 변수를 요구하여 공격 속도를 늦추므로 PBKDF 조정이 더 쉽습니다. 명령이 현재 사용 중인 반복 횟수를 확인합니다 cryptsetup luksDump /dev/sda5
. 예를 들어 다음과 같습니다.
Key Slot 0: ENABLED
Iterations: 1208036
성능을 대략 두 배로 높이려면(무차별 저항을 절반으로 줄이면서) 다음 명령을 사용하여 반복 횟수를 절반 이상 줄일 수 있습니다.cryptsetup luksChangeKey --pbkdf-force-iterations 500000 /dev/sda5
Enter passphrase to be changed:
Enter new passphrase:
Verify passphrase:
기존 비밀번호를 재사용할 수 있습니다. 내가 알 수 있는 한, 새로운 키가 추가되었습니다. 위의 키 외에도 cryptsetup luksDump /dev/sda5
이제 명령은 다음을 출력합니다.
Key Slot 1: ENABLED
Iterations: 500000
PBKDF는 모든 키 슬롯을 순서대로 시도하여 속도를 높이기 위해 명령을 실행합니다.cryptsetup luksOpen --test-passphrase --verbose /dev/sda5
Enter passphrase for /dev/sda5:
Key slot 1 unlocked.
Command successful.
명령을 사용하면 cat /etc/crypttab
다음과 같은 내용이 표시됩니다.
sda5_crypt UUID=66f... none luks,discard
,key-slot=1
끝에 추가하십시오 ( 1
위에서 찾은 내용과 일치하도록 변경). 모든 것이 제대로 작동하는지 테스트하고 첫 번째 매개변수 이외의 매개변수를 사용하는 경우 다음 단계로 진행하기 전에 다시 시작하고 , then sda5_crypt
을 입력합니다 . 명령 실행cryptsetup luksOpen /dev/sda5 sda5_crypt
exit
update-initramfs -u -k all
initramfs 이미지를 빌드하고 업데이트하세요. (엄밀히 말하면 -k all
커널이 있으므로 이 지침을 따른다고 가정하면 이는 필요하지 않습니다.)
고쳐 쓰다/etc/fstab
명령 lsblk -o name,uuid
출력
NAME UUID
sda
├─sda1 38e...
├─sda2
└─sda5 66f...
└─sda5_crypt B6U...
├─mint--vg-root 54f...
└─mint--vg-swap_1 fe3...
시스템을 부팅 가능하게 만들려면 다음 줄을 추가하십시오./etc/fstab
UUID=54f... / ext4 defaults 0 1
명령을 실행 update-grub
하고 grub-install /dev/sda
재부팅하십시오.
이제 부팅 가능한 시스템이 생겼기를 바랍니다.
비밀번호를 두 번 입력해야 하는데, 이는 불행한 일입니다. 해결 방법이 있는 것 같습니다(원본 기사 참조). 기사 전체를 한 번에 읽었는데 문제가 발생하여 시작할 수 없습니다(알기 전에 cryptsetup luksOpen /dev/sda5 sda5_crypt
). 위의 설명을 통해 통증이 발생할 가능성이 줄어들기를 바랍니다. 행운을 빌어요.