Mise à jour : EFI v2.2
Sommaire
Alternativement,
Utiliser un fichier image iso prêt être utilisé (mais non compatible Secure Boot) voir Émulateur Qemu / Kvm - Amorçage UEFI avec Secure Boot activé
$ ls /opt/suze/ovmf/UefiShell.iso
/opt/suze/ovmf/UefiShell.iso
Démarrer le système et amorcer sur le programme Shell UEFI embarqué ou installé
Version du shell
Shell> ver
UEFI Interactive Shell v2.2
EDK II
UEFI v2.70 (EDKII, 0x00010000)
Shell> help
.....
Help usage:help [cmd|pattern|special] [-usage] [-verbose] [-section name][-b]
Shell> help date -b
Date et heure
Shell> date
02/25/2019
Shell> time
16:56:04 (LOCAL)
Shell> timezone
LOCAL
Alias
Shell> alias
cat:type
cd..:cd ..
copy:cp
del:rm
dir:ls
md:mkdir
mem:dmem
mount:map
move:mv
ren:mvdi
Liste des commandes
Shell> help -b
Mapping (FS = File system; BLK = dispositif de stockage) et Volumes
Shell> map
Maping table
FS0: Alias(s):HD1a1:;BLK3
PciRoot (0x0)/Pci(0x1,0x1)/Ata(0x0)/HD(1,GPT,420B7XXXXXXXXE04,0x800,0x1060000)
BLK2:Alias(s)
.....
Shell> vol BLK3
Volume ESP (rw)
56xxxxxxx bytes total disk space
56xxxxxxx bytes available on disk
4096 bytes in each allocation unit
Exploration d'un disque (FS0: est la partition EFS)
Shell> FS0:
FS0:\> ls
Directory of: FS0:\
02/23/2019 21:16 <DIR> 4,096 EFI
02/25/2019 16:51 2,478 NvVars
1 File(s) 2,478 bytes
1 Dir(s)
FS0:\> ls EFI
Directory of: FS0:\EFI\
02/23/2019 20:57 <DIR> 4096 .
02/23/2019 20:57 <DIR> 0 ..
02/23/2019 20:57 <DIR> 4096 BOOT
02/23/2019 20:57 <DIR> 4096 tools 02/23/2019 20:57 <DIR> 4096 GRUB
0 File(s)
5 Dir(s)
Édition d'un fichier
FS0:\> edit EFI\BOOT\refind.conf
Redirection
FS0:\> help > help.txt
Affichage d'un fichier
FS0:\> cat help.txt
Sortie du shell
FS0:\> exit
Redémarrage
FS0:\> reboot
Les applications (programmes) efi peuvent être lancées directement depuis la console shell UEFI. Pour lancer une application UEFI depuis le shell, utiliser
soit son chemin complet
FS0:\> EFI\BOOT\bootx64.efi
soit son chemin relatif
FS0:\> cd EFI\BOOT
FS0:\EFI\BOOT\> bootx64.efi
$ cat /boot/efi/EFI/stub/stub.nsh
\EFI\stub\vmlinuz root=/dev/sda2 ro initrd=\EFI\stub\initrd.img
FS0:\> \EFI\stub\stub
startup.nsh
placé dans le répertoire où se situe du programme shell.efi qui vient d'être amorcé sera automatiquement lancé, après un décompte de 10 secondes, à moins que l'utilisateur n'interrompe le process en tapant sur la touche Esc.
La gestion des entrées d'amorçage dans la Nvram (affichage, création, suppression, ordre, ...) depuis le shell efi s'effectue avec la commande shell bcfg
Aide bcfg
Shell> help bcfg -b
Liste des options de l'amorçage, avec pour chaque option le nom de la variable, la description et le chemin
FS0:\>bcfg boot dump -b
Option: 06. Variable: Boot0004
...
Desc - UEFI QEMU HARDDISK QM00001
DevPath - PciRoot(0x0)/Pci(0x1,0x1)/Ata(0x0)
Optional- Y
...
FS0:\> bcfg boot mv 6 0
FS0:\>bcfg boot dump -b
Option: 00. Variable: Boot0004
Desc - UEFI QEMU HARDDISK QM00001
DevPath - PciRoot(0x0)/Pci(0x1,0x1)/Ata(0x0)
Optional- Y
....
Suppression d'une option : ici l'option 4, les options supérieures à 4 sont décalées de moins un
FS0:\> bcfg boot rm 4
Ajout d'une nouvelle entrée : ici l'entrée GRUB est ajoutée dans la Nvme. Le fichier doit exister dans l'ESP, sinon une erreur est détectée et l'entrée n'est pas ajoutée
FS0:\> bcfg boot add 1 FS0:\EFI\GRUB\grubx64.efi "GRUB"
Target = 0007.
bcfg: Add Boot0007 as 1