Efibootmgr

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

Other languages:
Deutsch • ‎English • ‎español • ‎italiano • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어

La aplicación efibootmgr interactúa con el firmware UEFI del sistema. Es una herramienta popular para manipular los ajustes EFI a fin de crear y gestionar entradas de arranque capaces de arrancar Línux (o cualquier otro sistema operativo EFI).

La aplicación sys-boot/efibootmgr no es un cargador de arranque. Se trata de una herramienta que interactúa con el firmware EFI del sistema, el cual actúa como un cargador de arranque. Si se utilizar efibootmgr se pueden crear, editar, reordenar y eliminar entradas de arranque.

Instalación

Núcleo

Se necesita habilitar CONFIG_EFI_VARS:

KERNEL Habilitar soporte para EFI variable support
Firmware Drivers  --->
   EFI (Extensible Firmware Interface) Support  --->
       <*> EFI Variable Support via sysfs

Emerge

El paquete sys-boot/efibootmgr no tiene ningún ajuste USE. Todo lo que se necesita es instalarlo:

root #emerge --ask sys-boot/efibootmgr

Configuración

Variables EFI

Para utilizar correctamente efibootmgr, se debe poder acceder al sistema de ficheros de las variables EFI. Esto requiere que se haya iniciado el sistema en modo EFI (y no a través del modo MBR del firmware), de lo contrario no se podrá acceder a las variables EFI. Si el sistema está en modo MBR, reiniciar y hacer todo lo necesario para indicarle al firmware que se debe iniciar en modo EFI. Normalmente esto implica cambiar una opción en la configuración del firmware o seleccionar una entrada de arranque EFI en el menú de inicio del sistema.

Cuando el sistema está en modo EFI, lanzar la siguiente orden para comprobar la existencia de efivarfs:

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

Si la partición efivars no está montada (que ha debido montarse a través del guión de inicio sysfs), es posible montarla manualmente utilizando la siguiente orden:

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

Precondiciones

Si no existe una sistema de particiones EFI (ESP), se necesitará crear uno, leer EFI System Partition

Utilización

Listar las entradas de arranque

Para listar las entradas de inicio actuales se puede utilizar la opción --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

Crear una entrada de arranque

Para crear una entrada de arranque EFI, pasaremos un par de argumentos a efibootmgr:

  • --create (-c) para crear una nueva entrada;
  • --part (-p) seguido por el número de partición en la que se aloja la partición EFI System Partition;
  • --disk (-d) seguido por el disco en el que se aloja la partición EFI System Partition;
  • --label (-L) seguida de la etiqueta que vamos a utilizar como entrada de arranque;
  • --loader (-l) seguido de la ruta a la imagen EFI para arrancar.
Importante
La ruta de la imagen de EFI a arrancar debe usar barra invertida (\), en lugar de la barra diagonal (/), como separador de ruta.

Por ejemplo:

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

Opcionalmente, se pueden instalar núcleos adicionales e informar de su existencia al firmware UEFI. Esto es especialmente útil cuando queremos probar más de un núcleo o realizar un arranque dual con otro sistema operativo. Esto se mostrará en el símbolo de espera de órdenes de la selección de arranque, normalmente después de que una tecla con funciones especiales del teclado se ha pulsado durante la inicialización del sistema. La última entrada añadida tiene siempre al prioridad más alta por lo que será la opción por defecto. Si se desconoce la combinación especial de teclas durante la inicialización, se puede buscar en la documentación oficial del fabricante del computador. De hecho, esta información no es muy difícil de encontrar.

Eliminar una entrada de arranque

Antes de eliminar una entrada, primero debemos averiguar qué identificador (ID) tiene la entrada.

Para eliminar, por ejemplo, la entrada de Gentoo que se muestra arriba (que tiene Boot0002 como identificador), le indicaremos a efibootmgr que elimine la entrada con el identificador 2, para lo cual le pasaremos los argumentos --bootnum (-b) seguido del identificador, y --delete-bootnum (-B) para eliminar la entrada en cuestión:

root #efibootmgr -b 2 -B

Eliminación

Desinstalación

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

Véase también