Efibootmgr

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Efibootmgr and the translation is 67% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎español • ‎italiano • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
Resources

L'applicazione efibootmgr interagisce con il firmware UEFI nel sistema, ed è uno strumento popolare per manipolare le impostazioni EFI al fine di creare e gestire le voci di avvio che sono in grado di avviare Linux (o ogni altro sistema operativo EFI).

L'applicazione sys-boot/efibootmgr non è un bootloader. E' uno strumento che interagisce con il firmware UEFI del sistema, che a sua volta agisce come un bootloader. Utilizzando efibootmgr le voci di avvio possono essere create, rimescolate, editate e rimosse.

Installazione

Kernel

Al fine di avviare direttamente da UEFI, il kernel necessita di avere abilitati i supporti CONFIG_EFI, CONFIG_EFI_STUB e CONFIG_EFI_VARS:

KERNEL Abilitare il supporto EFI
Processor type and features  --->
    [*] EFI runtime service support 
    [*]   EFI stub support
Firmware Drivers  --->
   EFI (Extensible Firmware Interface) Support  --->
       <*> EFI Variable Support via sysfs

Emerge

Il pacchetto sys-boot/efibootmgr non ha nessuna USE flags. Quello che è necessario è soltanto installarlo:

root #emerge --ask sys-boot/efibootmgr

Configurazione

Variabili EFI

Per utilizzare con successo efibootmgr, le variabili del filesystem EFI devono essere accessibili. Questo richiede che il sistema sia stato avviato in modalità EFI (e non attraverso la modalità di firmware MBR) altrimenti le variabili EFI non possono essere accessibili. Se il sistema è in modalità MBR, riavviarlo in modalità EFI. Usualmente questo coinvolge o la modifica di un'opzione nelle impostazioni del firmware o la selezione di una voce di avvio EFI nel menu di avvio del sistema.

Quando il sistema è in modalita EFI, eseguire il seguente comando per verificare l'esistenza di efivarfs:

root #mount | grep efivars
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)

Se non è montato (in realtà dovrebbe essere montato con lo script di init sysfs) è possibile farlo manualmente utilizzando il seguente comando:

root #mount -t efivars efivars /sys/firmware/efi/efivars

Preconditions

If an EFI System Partition (ESP) does not exist, one needs to be created, see EFI System Partition

Gestire le voci di avvio EFI

Elencare le voci di avvio

Per elencare le voci di avvio correnti utilizzare l'opzione --verbose (-v):

root #efibootmgr -v
BootCurrent: 0002
Timeout: 3 seconds
BootOrder: 0003,0003,0002,0000,0004
Boot0000* CD/DVD Drive  BIOS(3,0,00)
Boot0001* Hard Drive    BIOS(2,0,00)
Boot0002* Gentoo        HD(1,800,61800,6d98f360-cb3e-4727-8fed-5ce0c040365d)File(\EFI\boot\bootx64.efi)
Boot0003* Hard Drive    BIOS(2,0,00)P0: ST1500DM003-9YN16G

Creare una voce di avvio

Per creare una voce di avvio EFI, devono essere passati a efibootmgr un paio di argomenti:

  • --create (-c) per creare una nuova voce;
  • --part (-p) seguito dal numero di partizione nella quale la Partizone di Sistema EFI è ospitata;
  • --disk (-d) seguito dal disco nel quale la Partizone di Sistema EFI è ospitata;
  • --label (-L) seguito dall'etichetta da utilizzare come voce di avvio;
  • --loader (-l) seguito dal percorso dell'immagine EFI da avviare
Important
l percorso dell'immagine EFI da avviare deve utilizzare \ (backslash) invece di / (forward slash) come separatore di percorso.

Per esempio:

root #efibootmgr -c -d /dev/sda -p 2 -L "Gentoo" -l "\efi\boot\bootx64.efi"

Optionally, additional kernels can be installed and made known to the UEFI firmware. This is especially useful when wanting to test more kernels or to dual-boot with another operating system. These will be shown in the boot selection prompt, normally after a keyboard hotkey is pressed at the right time during system initialization. The latest added entry always gets highest boot priority, so it will be default. If the hotkey combination is unknown, search for official documentation from the computer manufacturer. This information is usually not difficult to find.

Cancellare una voce di avvio

Prima di cancellare una voce, capire qual'è l'ID di tale voce.

Per cancellare una voce di Gentoo come mostrato sopra (che ha Boot0002 come identificatore), chiedere a efibootmgr di cancellare la voce con id 2, passando l'argomento --bootnum (-b) come identificatore, e --delete-bootnum (-B) per cancellare la voce:

root #efibootmgr -b 2 -B

Rimozione

Unmerge

root #emerge --ask --depclean --verbose sys-boot/efibootmgr

Vedere anche