在第 1 阶段更改 GRUB 的键盘布局

Xen*_*nGi 7 linux debian grub luks uefi

我在基于 EFI 的系统上安装了 grub。所以我在 /dev/sdc2 上有 EFI 分区,在 /dev/sdc5 中有我的 LUKS 容器。我在 LUKS 容器中只有一个 linux 分区。所以即使 /boot 与 grub 的第 2 阶段也是加密的。

当系统引导时,EFI 引导 grub 条目并加载 grub 阶段 1。这会尝试打开 /dev/sdc5 中的 LUKS 容器并需要密码。

这是我想要德式布局而不是英美布局的时候。我知道如何在 grub 阶段 2 中更改布局,但如何在阶段 1 中更改布局。这甚至可能吗?

操作系统是 Debian Jessie。

小智 5

由于您使用带有加密 /boot 的 EFI,我假设您已经熟悉grub-mkstandalone

加入/etc/default/grub

GRUB_TERMINAL_INPUT=at_keyboard
Run Code Online (Sandbox Code Playgroud)

加入/etc/grub.d/40_custom

insmod keylayouts
keymap /boot/grub/de.gkb
Run Code Online (Sandbox Code Playgroud)

接下来运行grub-kbdcomp -o /tmp/de.gkb de生成德语 grub 布局。

现在您需要做的就是添加"boot/grub/de.gkb=/tmp/de.gkb"到您的grub-mkstandalone命令中。就我而言,它看起来像这样:

grub-mkstandalone -d /usr/lib/grub/x86_64-efi/ -O x86_64-efi --compress="xz" --modules="part_gpt part_msdos crypto cryptodisk luks disk diskfilter lvm" --fonts="unicode" -o "/boot/efi/EFI/linux/grubx64.efi" "boot/grub/grub.cfg=/tmp/grub.cfg" "boot/grub/de.gkb=/tmp/de.gkb"
Run Code Online (Sandbox Code Playgroud)