Dernière mise à jour : Debian 10.3 / Buster
La création de la clé comprend deux étapes :
$ lsblk -f /dev/sdb
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sdb
└─sdb1 vfat ESP 311C-4029
$ sudo mount /dev/sdb1 /mnt
$ sudo mkdir -p /mnt/EFI/BOOT
$ sudo grub-install --efi-directory=/mnt --boot-directory=/mnt/EFI --removable --uefi-secure-boot \
--modules="keylayouts at_keyboard"
avec les options
--removable : ne pas créer d'entrée dans la Nvram et installer le fichier d'amorçage (shimw64.efi) sous le nom de bootx64.efi dans le répertoire ESP/EFI/BOOT afin d'obtenir un media autoamorçable
--efi-directory : où sera installé le fichier BOOT avec le fichier BOOTX64.EFI
--boot-directory : où sera installé le répertoire grub avec les sous-dossiers fonts, locales, modules, ..
$ sudo tree /mnt
/mnt
└── EFI
├── BOOT
│ ├── BOOTX64.CSV
│ ├── BOOTX64.EFI
│ ├── fbx64.efi
│ ├── grub.cfg
│ ├── grubx64.efi
│ └── mmx64.efi
└── grub
├── fonts
│ └── unicode.pf2
├── grubenv
.....
6 directories, 283 files
$ sudo grub-install --efi-directory=/mnt --boot-directory=/mnt/EFI --removable --uefi-secure-boot \
--verbose 2> >(grep BOOTX64.EFI)
grub-install : information : copying `/usr/lib/shim/shimx64.efi.signed' -> `/mnt/EFI/BOOT/BOOTX64.EFI'.
$ echo "bootx64.efi,grub,,Ceci est l'entrée d'amorçage automatique" |iconv -t UCS-2 | sudo tee /mnt/EFI/BOOT/BOOTX64.CSV
$ cat /mnt/EFI/BOOT/grub.cfg
search.fs_uuid 5AFE-E461 root hd1,gpt1
set prefix=($root)'/EFI/grub'
configfile $prefix/grub.cfg
Voir Clé autonome Grub - Amorçage UEFI pour plus de détails
$ cat <<EOF |sed '/^#/d' |sudo tee /mnt/EFI/grub/grub.cfg
# Clavier en dispositition française
# Fonctionne sur qemu en version non secure boot
# Ne fonctionne pas sur PC NUC (clavier USB non reconnu?), ne pas utiliser!
insmod keylayouts
insmod at_keyboard
terminal_input at_keyboard
keymap fr
# Mode graphique
insmod all_video
set gfxmode=auto
insmod gfxterm
insmod terminal
terminal_output gfxterm
# Papier peint
insmod png
insmod gfxterm_background
background_image /EFI/grub/splash.png
# Couleurs de texte
set color_normal=white/black
set color_highlight=black/white
# Textes en français (Note : La police unicode est chargée pour prendre en compte
# l'affichage des caractères français sépcifiques (é,è,ç, ...)
insmod font
loadfont unicode
insmod gettext
set locale_dir=/EFI/grub/locale
set lang=fr_FR
# Divers options utiles
set pager=1
insmod linux
insmod boot
insmod halt
insmod reboot
EOF
$ sudo mkdir -p /mnt/EFI/grub/layouts
$ sudo grub-kbdcomp -o /mnt/EFI/grub/layouts/fr.gkb fr
Le nom du fichier est arbitraire, mais l'extension gkb est obligatoire
$ sudo cp /usr/share/images/desktop-base/desktop-grub.png /mnt/EFI/grub/splash.png
Démonter la clé
$ sudo umount /mnt