Shell UEFI

Mise à jour : EFI v2.2

Sommaire

1 - Disponibilité

1.1 - Shell embarqué

1.2 - Installation d'un shell externe

Alternativement,

2 - Utilisation

2.1 - Ouverture du shell

Démarrer le système et amorcer sur le programme Shell UEFI embarqué ou installé

2.2 - Commandes de base

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
Shell> date
02/25/2019
Shell> time
16:56:04 (LOCAL)
Shell> timezone
LOCAL
Shell> alias
cat:type
cd..:cd ..
copy:cp
del:rm
dir:ls
md:mkdir
mem:dmem
mount:map
move:mv
ren:mvdi
Shell> help -b
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
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)
FS0:\> edit EFI\BOOT\refind.conf
FS0:\> help > help.txt
FS0:\> cat help.txt
FS0:\> exit
FS0:\> reboot

2.3 - Lancement applications UEFI

FS0:\> EFI\BOOT\bootx64.efi
FS0:\> cd EFI\BOOT 
FS0:\EFI\BOOT\> bootx64.efi

2.4 - Scripts

$ 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.

2.5 - Gestion des entrées d'amorçage

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

Shell> help bcfg -b
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
....
FS0:\> bcfg boot rm 4
FS0:\> bcfg boot add 1 FS0:\EFI\GRUB\grubx64.efi "GRUB"
Target = 0007.
bcfg: Add Boot0007 as 1