안녕하세요, 제 크립탭은 다음과 같습니다:
crypt_device /dev/sda luks,header=/boot/header.img
update-initramfs -u -k all
성공적으로 작동하지만 어떤 이유로 인해 cryptsetup은 부팅 중에 USB 스틱(부팅 파티션도 포함)에 있는 header.img를 찾을 수 없습니다. /boot/header.img에 저장됩니다.
(헤더가 분리된 luks 암호화 사용, USB의 별도 부팅 파티션, OS: lubuntu 18)
답변1
initramfs 아래에 파일 시스템을 마운트 하기 위한 특별한 단계를 수행하지 않으면 파일 /boot
시스템이 마운트되지 않습니다. 기본 부팅 순서에서 시스템은 initramfs에서 실행될 때 루트 파일 시스템(및 스왑 파티션도 가능)에만 관련됩니다.
/boot
실제 루트 파일 시스템을 확인하고 마운트한 후(해당되는 경우) 나머지 파일 시스템(일반적으로 포함)이 마운트됩니다. /boot
initramfs에 있는 동안 파일 시스템을 마운트하려면 특별한 조치를 취해야 합니다 /boot/header.img
. 또는 header.img
initramfs에 파일 시스템을 포함할 수도 있습니다.
답변2
USB 드라이브는 부팅 드라이브이기도 하므로 시스템은 루트 파티션이 해독되고 newroot
다시 매핑될 때까지 initramfs 이미지만 메모리에 로드합니다. 이 시점에서 USB 드라이브는 initramfs 내에서 수동으로 마운트해야 합니다. 또는 fstab
키 파일이 포함된 파티션을 마운트하기 위해 업데이트를 수행해야 합니다. 부팅 프로세스 중에 USB가 저장된다고 언급했지만 /boot/header.img
이는 부팅 프로세스를 위해 initramfs가 RAM에 로드될 때 USB가 더 이상 마운트되지 않기 때문입니다. 따라서 crypttab
부팅 시 cryptsetup
하드 드라이브 루트 폴더를 복호화하기 위해 현재 로드된 initramfs 환경에 USB의 /boot 디렉터리가 아직 마운트되지 않았기 때문에 /boot/header.img 파일을 찾을 수 없습니다.
TelcoM의 설명에 따르면, OS가 잠금 해제되고 파티션이 해독될 때 이전에 시스템으로 부팅하고 키 파일을 생성한 경우 /boot
해당 시점에 keyfile.img의 복사본이 디렉터리에 저장되었습니다(그리고 다시 /boot
말하지만 이는 시스템이 암호화되지 않았고 이미 시스템에 액세스하고 있는 경우입니다.) 이는 부팅 시 찾은 것과 동일한 디렉터리가 아니며 USB에 부팅 드라이브가 포함되어 있다는 것입니다. 이는 시작하는 동안 열려서 복사되었기 때문입니다.initrd-4.15.33-일반이미지(예:) 및 USB 장치는 자동으로 저장 컨테이너로 마운트되지 않습니다.
따라서 이 문제를 해결하려면 전화할 때 찾을 수 있도록 fstab
USB를 해당 /boot
디렉터리 에 마운트 해야 합니다.crypttab
cryptsetup
보다fstab 매뉴얼 페이지다음 설명이 필요한 경우: 예:
# First find the UUID of the partition holding your USB thumb drive
$ blkid
# You can also use grep or whatever you're more comfortable with as a text editor
$ nano /etc/fstab
# then add a line for your USB device
UUID={device partition UUID} {mount point} {filesystem} {mount options} {dump order}{fsck order}
# Example
UUID=66E53SSD988 /boot ext4 defaults 0 1
그러나 /boot 디렉터리가 아닌 다른 곳에 드라이브를 마운트하는 것이 좋습니다. 단, 이 디렉터리가 USB의 디렉터리인 경우는 제외하고 crypttab을 수정하여 header.img 파일이 있는 폴더 간의 혼동을 줄이세요.
즉
UUID=66E53SSD988 /mnt/usb ext4 defaults 0 1
그런 다음 마운트 지점이 변경된 경우 crypttab
다음 순서대로 변경해야 합니다.
crypt_device /dev/sda luks,header=/mnt/usb/boot/header.img