簡潔なバージョン
LUKSがパスワードの入力を求めるときにどのキーマップを使用する必要があるのかをどうやって知ることができますか?
長いバージョン
私は3つのキーボードと対応するマッピング(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構成に追加できます。 )
つまり、Debian は実際にはメイン (rootfs) ブートにも systemd-vconsole をまったく使用しないと思います。 (そして、initramfsは独自の設定ファイルとすべてを備えた完全に別々の世界です。説明で述べたように、initramfsのビルドはディストリビューションによって大きく異なります。を使用することができます。
したがって、あなたの場合、Ubuntuの指示は/etc/initramfs-tools/initramfs.conf
Debianのinitramfsにも最適です。
まず、現在どのキーマップが有効になっているかを知りたいです。
lsinitramfs
cpio
initramfs(cpioアーカイブのミニルートfs)を使用するか、解凍すると、bsdtar
どのキーマップファイルがここに含まれているか(存在する場合)が表示されることがあります。 initramfsをビルドするときにverboseモードを有効にすると、update-initramfs -u -v
それを表示することもできます。
しかし、Debianでは、残念ながら汎用ファイル名が使用されているようです。これは、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プロンプトの前)にキーを押して、入力内容を表示できるシェルを提供する必要があります。