간결한 버전
LUKS가 비밀번호를 묻는 메시지를 표시할 때 어떤 키맵을 사용해야 하는지 어떻게 알 수 있나요?
긴 버전
나는 세 가지 키보드와 해당 매핑(US-Qwerty, FR-Azerty 및 FR-Bepo)을 사용하고 자주 번갈아 사용합니다. 나는 사용했다이 솔루션동일한 비밀번호를 입력할 수 있음(추가함)이 제안을 따르십시오) 현재 어떤 매핑이 활성화되어 있고 어떤 키보드를 사용하고 있는지에 관계없이 그다지 깨끗하다는 느낌은 들지 않습니다.
다양한 솔루션(실시예 1,실시예 2)에서는 편집을 제안했지만 /etc/vconsole.conf
이 파일은 내 설치에 존재하지 않으므로 가능하다면 그렇게 하지 않는 것이 좋습니다. 방법이 있을 것 같습니다initramfs.conf를 편집하여하지만 내가 올바르게 이해했는지 잘 모르겠습니다.먼저 현재 활성화된 키맵을 이해하세요..
정보
uname -a
Linux XXX 6.1.0-12-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.52-1 (2023-09-07) x86_64 GNU/Linux
답변1
LUKS에는 키맵이 없습니다. 키보드 입력 자체를 읽지 않습니다. 단지 키보드 입력을 읽는 일반 콘솔 프로그램일 뿐입니다.편안텍스트 입력은 콘솔에 맡기고 키 입력을 매핑하세요.
다양한 솔루션(예 1, 예 2)에서는 /etc/vconsole.conf 편집을 제안하지만 해당 파일이 내 설치에 존재하지 않습니다.
이는 일반적으로 정상입니다. 모든 설치에 모든 구성 파일이 존재하는 것은 아닙니다. 실제로 systemd의 전체 디자인에서 중요한 부분은아니요"기본" 또는 "템플릿" 구성은 /etc에 있어야 하며 모든 정적 구성은 /usr/lib에 있어야 합니다. (그 이후로 많은 다른 프로젝트가 이 규칙을 따랐습니다.) 따라서 구성 파일이 없다고 해서 시스템이 해당 파일을 사용하지 않는다는 의미는 아니며, 시스템을 알고 있다면하다그걸 써.
(반면에 systemd의 대부분과 마찬가지로하다대안이 있습니다. vconsole.keymap=
vconsole.conf 매뉴얼 페이지에 언급된 커널 명령줄 옵션(시스템이 이를 위해 systemd-vconsole을 사용하는 경우)을 GRUB 구성에 추가할 수 있습니다. )
즉, 데비안은 실제로 메인(rootfs) 부팅에도 systemd-vconsole을 전혀 사용하지 않는다고 생각합니다. (그리고 initramfs는 자체 구성 파일과 모든 것을 갖춘 완전히 별개의 세계입니다. 설명에서 언급했듯이 initramfs 빌드는 배포판마다 크게 다릅니다. 데비안은 이 작업을 수행하기 위해 자체 "initramfs-tools"를 사용하지만 다른 배포판에서는 Dracut을 사용할 수 있습니다. mkinitcpio, Booster, genkernel 등)
따라서 귀하의 경우 Ubuntu 지침은 /etc/initramfs-tools/initramfs.conf
Debian의 initramfs에도 가장 적합합니다.
먼저 현재 어떤 키맵이 활성화되어 있는지 알고 싶습니다.
lsinitramfs
cpio
initramfs(cpio 아카이브의 미니 루트fs)를 사용하거나 압축을 풀면 bsdtar
어떤 키맵 파일이 여기에 포함되어 있는지(있는 경우) 표시될 수 있습니다. initramfs를 빌드할 때 verbose 모드를 활성화하면 update-initramfs -u -v
이를 표시할 수도 있습니다.
하지만 데비안의 경우 불행하게도 범용 파일 이름이 사용되는 것 같습니다. 이는 initramfs가 구축될 때 기본 시스템에 존재했던 "캐시된" 키맵이 무엇이든 가져옵니다. 그것이 드러내는 것은 존재 여부뿐입니다.예initramfs에 키맵이 존재하는지 여부.
따라서 방금 새 initramfs를 구축했다면 구성된 콘솔 키맵 /etc/default/keyboard
( KEYMAP=y
해당 옵션이 initramfs.conf에서 활성화된 경우)이나 일반 내장 "us" 키맵(활성화되지 않은 경우)을 사용할 것이라고 가정하는 것이 안전합니다. ). 예를 들어, 이는 시스템 키맵이 initramfs에 복사되었음을 나타냅니다.
# initramfs -u -v 업데이트 호출 후크 키맵 바이너리 /usr/bin/kbd_mode 추가 바이너리 /usr/bin/loadkeys 추가 # lsinitramfs /boot/initrd.img-6.1.0-12-amd64 | grep kmap etc/console-settings/cached_UTF-8_del.kmap # bsdtar -tf /boot/initrd.img-6.1.0-12-amd64 | grep kmap etc/console-settings/cached_UTF-8_del.kmap
마지막으로 커널 옵션을 사용하여 initramfs를 중단하면 break=premount
적절한 시점(키맵이 로드된 후 LUKS 프롬프트 전)에 키를 누르고 입력된 내용을 볼 수 있는 쉘이 제공되어야 합니다.