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

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

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

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

请注意,我正在 Virtualbox 内启动 Ubuntu VM。

答案1

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

grub-install --version

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

sudo grub-kbdcomp -o /boot/grub/bepo.gkb fr

使用 root 权限编辑/etc/default/grub以获得:

#GRUB_HIDDEN_TIMEOUT=0
GRUB_TERMINAL_INPUT="at_keyboard"

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

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

insmod keylayouts
keymap /boot/grub/bepo.gkb

最后:

sudo update-grub

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

答案2

在旧的全功能华硕 N73JF(多重启动 Windows 7、Windows 恢复、Ubuntu 15.10、Ubuntu 18.04……)上对我的 grub(2.02-2ubuntu8.3)进行微调,自定义菜单对我来说不是一个选项。

sudo grub-kbdcomp -o /boot/grub/layouts/laptop.gkb fr

(Ubuntu 的 grub2 从 15.10 开始使用 /boot/grub/layouts)。

接下来,我不打开/etc/default/grub也不/etc/grub.d/40_custom:我编辑/etc/grub.d/00_header我替换的地方

    cat << EOF
  set gfxmode=${GRUB_GFXMODE}
  load_video
  insmod gfxterm
EOF

    cat << EOF
  set gfxmode=${GRUB_GFXMODE}
  load_video
  insmod gfxterm
  insmod terminal
  terminal_output gfxterm
  insmod keylayouts
  insmod at_keyboard
  terminal_input at_keyboard
  keymap laptop
EOF

感谢 KrisWebDev 的问答:通过内部学习,我学到了很多东西/boot/grub/i386-pc/

答案3

别这么做!

如果有人应该尝试一下笔记本/笔记本电脑,不要!喜欢祖尔格里布他在评论中说这不是万无一失的,它可以破坏你的 grub 引导加载程序。

德国 Debian 论坛也不推荐它!

这仅在连接了可通过 AT 或 USB 寻址的键盘时才有效。笔记本电脑或笔记本键盘可能根本不起作用,让您坐在无法使用的 GRUB2 前!无论如何,联想 X220 的键盘都不起作用。

德国 Debian 论坛

答案4

对 jamo 对第二个答案的评论的评论:您可以手动创建 /boot/grub/layouts。

sudo mkdir /boot/grub/layouts

相关内容