Как изменить раскладку клавиатуры командной строки grub (grub shell)?
Когда я загружаюсь в GRUB2 и нажимаю c, я имею доступ к оболочке GRUB.
Как изменить раскладку клавиатуры (язык) этой оболочки GRUB?
Обратите внимание, что я загружаю виртуальную машину Ubuntu внутри Virtualbox.
4 ответа
Сначала убедитесь, что вы используете GRUB 2 (GRUB 0.x работает по-другому).
grub-install --version
Создайте файл раскладки клавиатуры GRUB. Ниже приведена команда для fr
энч клавиатура. Для других языков, проверьте /usr/share/X11/xkb/symbols/
, Выбор имени файла не важен (вы можете изменить bepo
).
sudo grub-kbdcomp -o /boot/grub/bepo.gkb fr
редактировать /etc/default/grub
с правами root иметь:
#GRUB_HIDDEN_TIMEOUT=0
GRUB_TERMINAL_INPUT="at_keyboard"
редактировать /etc/grub.d/40_custom
с правами root иметь:
#!/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
правильно прокомментирован.
Тонкая настройка моего grub (2.02-2ubuntu8.3) на старом полнофункциональном Asus N73JF (мультизагрузка Windows 7, восстановление Windows, Ubuntu 15.10, Ubuntu 18.04...), пользовательское меню не было вариантом для меня.
sudo grub-kbdcomp -o /boot/grub/layouts/laptop.gkb fr
(Ubuntu grub2 использует /boot/grub/layouts с 15.10).
Далее я не открываю /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/
,
Не делай этого!
Если кто-то должен попробовать это на ноутбуке / ноутбуке, не делайте этого! Как сказал Зульгриб в своем комментарии, это не является пуленепробиваемым, но может повредить ваш загрузчик grub.
Немецкий форум Debian также не рекомендует это!
Это работает только в том случае, если подключена клавиатура, к которой можно обращаться с помощью AT или USB. Клавиатура ноутбука или ноутбука может вообще не работать, и вы будете сидеть перед непригодным для использования GRUB2! В любом случае клавиатура Lenovo X220 не работает.
Комментарий к комментарию джамо ко 2-му ответу: вы можете создать /boot/grub/layouts вручную.
sudo mkdir /boot/grub/layouts