
Я установил grub на систему на базе EFI. Поэтому у меня раздел EFI на /dev/sdc2 и мой контейнер LUKS в /dev/sdc5. У меня только один раздел linux в контейнере LUKS. Поэтому даже /boot с этапом 2 grub зашифрован.
При загрузке системы EFI загружает запись grub и загружает grub stage 1. Он пытается открыть контейнер LUKS в /dev/sdc5 и запрашивает пароль.
Это время, когда я хочу иметь немецкую раскладку вместо англо-американской. Я знаю, как изменить раскладку в grub stage 2, но как мне изменить ее в stage 1. Это вообще возможно?
Операционная система — Debian Jessie.
решение1
Поскольку вы используете EFI с зашифрованным /boot, я предполагаю, что вы уже знакомы сgrub-mkstandalone
Добавить в /etc/default/grub
:
GRUB_TERMINAL_INPUT=at_keyboard
Добавить в /etc/grub.d/40_custom
:
insmod keylayouts
keymap /boot/grub/de.gkb
Следующий запуск 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"
решение2
Это невозможно сделать, см.это Введение в Grub2в котором прямо говорится:
Важно: Раскладка клавиатуры во время процедуры загрузки
При загрузке доступна только американская раскладка клавиатуры.