如何更改 grub 命令行(grub shell)键盘布局?

Kri*_*Dev 8 grub2 keyboard-layout virtualbox

当我在 GRUB2 中启动并按 时c,我可以访问 GRUB shell。

如何更改此 GRUB shell 的键盘布局(语言)?

请注意,我正在 Virtualbox 中启动一个 Ubuntu VM。

Kri*_*Dev 8

首先,检查您使用的是 GRUB 2(GRUB 0.x 的工作方式不同)。

grub-install --version
Run Code Online (Sandbox Code Playgroud)

生成 GRUB 键盘布局文件。下面是french 键盘的命令。对于其他语言,请检查/usr/share/X11/xkb/symbols/。文件名选择并不重要(您可以更改bepo)。

sudo grub-kbdcomp -o /boot/grub/bepo.gkb fr
Run Code Online (Sandbox Code Playgroud)

/etc/default/grub使用 root 权限编辑以拥有:

#GRUB_HIDDEN_TIMEOUT=0
GRUB_TERMINAL_INPUT="at_keyboard"
Run Code Online (Sandbox Code Playgroud)

/etc/grub.d/40_custom使用 root 权限编辑以拥有:

#!/bin/sh
exec tail -n +3 $0

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

最后:

sudo update-grub
Run Code Online (Sandbox Code Playgroud)

注意:立即忘记使用Shift键来显示 GRUB 菜单!terminal_input at_keyboard使此键不再起作用可能是正常的。因此,请确保#GRUB_HIDDEN_TIMEOUT=0正确注释。

  • 这对于解密密码输入(包括“/boot”的全盘加密)也有效吗? (2认同)