Quand je démarre dans GRUB2 et que je presse c, J’ai accès à GRUB Shell.
Comment changer la disposition du clavier de ce shell GRUB?
Notez que je démarre une Ubuntu VM dans Virtualbox.
Tout d’abord, vérifiez que vous utilisez GRUB 2 (GRUB 0.x fonctionne différemment).
grub-install --version
Générez un fichier de disposition de clavier GRUB. Vous trouverez ci-dessous la commande d'un clavier fr
name__ench. Pour les autres langues, cochez /usr/share/X11/xkb/symbols/
. Le choix du nom de fichier n'est pas important (vous pouvez changer bepo
name__).
Sudo grub-kbdcomp -o /boot/grub/bepo.gkb fr
Éditez /etc/default/grub
avec les droits root pour avoir:
#GRUB_HIDDEN_TIMEOUT=0
GRUB_TERMINAL_INPUT="at_keyboard"
Éditez /etc/grub.d/40_custom
avec les droits root pour avoir:
#!/bin/sh
exec tail -n +3 $0
insmod keylayouts
keymap /boot/grub/bepo.gkb
Finalement:
Sudo update-grub
Remarque: Oubliez immédiatement l’utilisation de la Shift touche pour afficher le menu GRUB! Il peut être normal que terminal_input at_keyboard
fasse que cette clé ne fonctionne plus. Donc, assurez-vous que #GRUB_HIDDEN_TIMEOUT=0
est correctement commenté.
Affiner ma grub (2.02-2ubuntu8.3), sur un vieux Asus N73JF entièrement fonctionnel (Windows 7 multiboot, récupération de Windows, Ubuntu 15.10, Ubuntu 18.04 ...) n’était pas une option pour moi.
Sudo grub-kbdcomp -o /boot/grub/layouts/laptop.gkb fr
(Grub2 sous Ubuntu utilise/boot/grub/layouts à partir de 15.10).
Ensuite, je n'ouvre pas /etc/default/grub
ni /etc/grub.d/40_custom
: je modifie /etc/grub.d/00_header
où je remplace
cat << EOF
set gfxmode=${GRUB_GFXMODE}
load_video
insmod gfxterm
EOF
avec
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
Merci à KrisWebDev pour sa question-réponse: J'apprends beaucoup en regardant à l'intérieur de /boot/grub/i386-pc/
.