grub.cfg의 커널 매개변수로 UUID를 통해 USB-Stick 주소 지정

grub.cfg의 커널 매개변수로 UUID를 통해 USB-Stick 주소 지정

저는 Arch Linux를 사용하고 있으며 Luks 암호화 루트 파티션(부팅은 암호화되지 않음)의 암호 해독 키로 USB 스틱을 설정하고 있습니다. 나는 이미 에서 설명했습니다.이 문제.

이제 dm-crypt에 사용된 키가 실제로 저장됩니다.앞으로스틱의 첫 번째 파티션은 다음과 같이 생성됩니다.

sudo dd if=tempKey.bin of=/dev/sdd bs=512 seek=1 count=6

따라서 3072는 섹터 1..6(0 인덱스)에 기록됩니다. 다음 커널 매개변수를 사용할 때 grub.cfg작동합니다 .

cryptkey=/dev/sdd:512:3072

하지만 해당 스틱이 항상 sdd에 매핑된다고 믿을 수는 없습니다. 그래서 Arch-Wiki에서는 디스크 ID 사용을 권장합니다. 즉:

cryptkey=/dev/disk/by-id/$ID_OF_USB_STICK$:512:3072

그러나 USB 스틱은 콜론이 포함된 ID를 가져오므로 백슬래시로 콜론을 이스케이프 처리하려고 해도 부팅 시 장치를 찾을 수 없습니다. 시스템은 항상 콜론 앞에 ID를 찾는 것 같습니다.

공간/섹터를 사용하는 경우 에만 cryptkey=UUID=...작동합니다.~에이전이나 사이가 아닌 파티션입니다.

그래서 저는 정말 여기에 갇혀있습니다. sdX에 의존하지 않고 이 문제를 해결하는 방법과 실수로 키를 파티션에 넣어 키를 덮어쓰거나 삭제할 가능성에 대한 제안이 있는 사람이 있습니까? USB 스틱의 ID(및 심볼릭 링크)가 생성되는 방식을 변경하기 rules.d위해 취할 수 있는 조치가 있습니까 ?udev

답변1

액세스하려는 장치 경로에 이 문자가 포함되어 있으면 :백슬래시로 이스케이프해야 합니다 \. 이 경우 cryptkey매개변수는 다음과 같습니다: cryptkey=/dev/disk/by-id/usb-123456-0\:0:0:512ID가 있는 USB 키의 경우 usb-123456-0:0.

관련 정보