systemd-boot (Español)

systemd-boot, anteriormente llamado gummiboot, es un sencillo gestor de arranque UEFI que ejecuta imágenes EFI configuradas. La entrada predeterminada es seleccionada por un patrón configurado (glob) o un menú en pantalla. Se incluye en el paquete systemd, que se instala en un sistema Arch de forma predeterminada.

Esta traducción de systemd-boot fue revisada el 2018-12-20. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Es fácil de configurar, pero solo puede iniciar ejecutables EFI, tales como EFISTUB (Español) del kernel de Linux, Intérprete de órdenes de UEFI, GRUB o Windows Boot Manager.

Instalación

Instalar el gestor de arranque EFI

Para instalar el gestor de arranque EFI systemd-boot primero asegúrese de que el sistema haya arrancado en modo UEFI y que las variables de UEFI son accesibles. Esto se puede verificar ejecutando la orden efivar --list.

Cabe señalar que systemd-boot solo puede cargar el kernel EFISTUB desde la EFI system partition (Español) (ESP). Para mantener el kernel actualizado, es más sencillo y, por lo tanto, mas recomendable montar la ESP en /boot. Si la ESP no está montada en /boot, los archivos kernel y de initramfs deben copiarse en dicha ESP. Consulte EFI system partition (Español)#Puntos de montaje alternativos para más detalles.

espse usará a lo largo de esta página para indicar el punto de montaje ESP, es decir, /boot.

Con la ESP montada en esp, utilice para instalar systemd-boot en la partición del sistema EFI ejecutando:

# bootctl --path=esp install

Esto copiará el cargador de arranque systemd-boot a la partición EFI: en un sistema de arquitectura x64 los dos binarios idénticos y esp/EFI/BOOT/BOOTX64.EFI se transferirán a la ESP. A continuación, establecerá systemd-boot como la aplicación EFI predeterminada (entrada de arranque predeterminada) cargada por el gestor de arranque EFI («EFI Boot Manager»).

Luego, vaya a la sección #Configuración para agregar entradas de arranque para que systemd-boot funcione correctamente en el momento del arranque.

Actualizar el gestor de arranque EFI

Siempre que haya una nueva versión de systemd-boot, el gestor de arranque debe ser actualizado por el usuario. Esto se puede realizar bien manualmente o bien la actualización se puede activar automáticamente utilizando los hooks de pacman. Los dos enfoques se describen a continuación.

Actualización manual

systemd-boot pueden ser actualizado por systemd-boot. Si el parámetro no se especifica, /efi, /boot, y se verifican a su vez.

# bootctl update

Si la ESP está montada en una ubicación diferente, la opción puede pasar la ruta apropiada. Por ejemplo:

# bootctl --path=esp update

Actualización automática

El paquete proporciona un hook de pacman para automatizar el proceso de actualización. Al instalar el paquete, este agregará un hook que se ejecutará cada vez que se actualice el paquete . En otro caso, para replicar lo que hace el paquete systemd-boot-pacman-hook sin instalarlo, coloque el siguiente hook de pacman en el directorio :

/etc/pacman.d/hooks/systemd-boot.hook
[Trigger]
Type = Package
Operation = Upgrade
Target = systemd

[Action]
Description = Updating systemd-boot
When = PostTransaction
Exec = /usr/bin/bootctl update

Configuración

Configurar el cargador

La configuración del cargador se coloca en , y está compuesto por las siguientes opciones:

  • — entrada por defecto para seleccionar como se define #Añadir entradas al cargador; se da sin el sufijo .conf y se puede utilizar un comodín como ;
  • timeout — tiempo de espera del menú, en segundos. Si este no se ha establecido, el menú solo se muestra cuando se mantiene pulsada la tecla (aunque también funcionan la mayoría de las otras teclas) durante el arranque;
  • — si se quiere activar el editor de los parámetros del kernel o no. (por defecto) es para activar, es para desactivar. Dado que el usuario puede añadir para puentear la contraseña de root y acceder como tal, se recomienda encarecidamente establecer esta opción en ;
  • — muestra entradas automáticas para Windows, EFI Shell y Default Loader si se configura en (default), para ocultar;
  • auto-firmware — muestra la entrada para reiniciar en las configuraciones de firmware UEFI si está configurado en (default), para ocultar;
  • — cambia el modo de consola UEFI: para 80x25, para 80x50, y superior para modos no estándar proporcionado por el firmware del dispositivo, si existe, auto selecciona un modo adecuado automáticamente, para el modo más alto disponible, (default) para el modo de firmware seleccionado.

Consulte el manual de loader.conf para ver la lista completa de opciones.

He aquí un ejemplo de configuración del cargador:

Añadir entradas al cargador

bootctl busca elementos del menú de arranque en —cada archivo encontrado debe contener exactamente un cargador—. Las opciones posibles son:

  • — nombre del sistema operativo. Necesario.
  • — versión del kernel, que se muestra solamente cuando existan varias entradas con el mismo título. Opcional.
  • machine-id — identificador de la máquina desde , que se muestra solamente cuando existan varias entradas con la misma versión y título. Opcional.
  • — programas EFI a iniciar, que se encuentren en la ESP (); por ejemplo, /vmlinuz-linux. Tanto este parámetro como (véase a continuación) son necesarios.
  • — opciones de línea de órdenes para pasar al programa EFI o los parámetros del kernel. Opcional, pero es necesario al menos y para arrancar Linux.

Para el arranque de Linux, también puede usar, en lugar de y , la siguiente sintaxis:

  • y seguidos de la ruta relativa de los archivos correspondientes en el ESP; por ejemplo /vmlinuz-linux; esto se traducirá automáticamente a efi path y —esta sintaxis solo se admite por comodidad y no tiene diferencias en la función—.

Un ejemplo de un archivo de carga para iniciar Arch desde una partición con la etiqueta arch_os y cargar el microcode (Español) de la CPU de Intel sería:

bootctl buscará automáticamente para «Windows Boot Manager» (), «EFI Shell» () y «EFI Default Loader» (). En caso de detectarlas, las entradas también se generarán automáticamente para ellos. Sin embargo, no autodetecta otras aplicaciones EFI (a diferencia de lo que hace rEFInd), por lo que para arrancar el kernel, deben ser creadas entradas de configuración manualmente.

Sugerencia:
  • Las entradas de arranque disponibles que se han configurado pueden enumerarse con la orden bootctl list.
  • Un archivo de entrada de ejemplo se encuentra en /usr/share/systemd/bootctl/arch.conf.
  • Los kernel parameters (Español) para escenarios como LVM (Español) o dm-crypt (Español) se pueden encontrar en sus páginas respectivas.

Intérpretes de órdenes de EFI y otras aplicaciones EFI

En el caso de que haya instalado instérpretes de órdenes de EFI u otras aplicaciones EFI dentro de la partición ESP, puede utilizar los siguientes fragmentos:

Ejemplos de entradas para los cargadores del intérprete de órdenes de UEFI personalizadas:

''esp''/loader/entries/uefi-shell-v2-x86_64.conf
title   UEFI Shell x86_64 v2
efi     /EFI/shellx64_v2.efi

Arrancar con la configuración del firmware de EFI

La mayoría de los firmware del sistema configurado para el inicio de EFI agregarán sus propias entradas efibootmgr para arrancar en la «Configuración del Firmware de UEFI».

Preparar los kernels para /EFI/Linux

/EFI/Linux busca archivos del kernel especialmente preparados, que agrupan el kernel, el disco RAM de inicio (initrd), la línea de órdenes del kernel y en un solo archivo . Este archivo se puede firmar fácilmente para «secure boot».

Coloque la línea de órdenes del kernel que desea usar en un archivo y cree un archivo de agrupación como este:

Opcionalmente firme el archivo producido anteriormente.

Copie en .

Proporcionar soporte para hibernación

Véase Suspender e hibernar.

Proteger con contraseña el editor de parámetros del kernel

Alternativamente, puede instalar que admite como opción de configuración básica. Utilice sbpctl generate para generar un valor para esta opción.

Instale systemd-boot-password con la siguiente orden:

Con el editor activado, se le solicitará su contraseña antes de poder editar los parámetros del kernel.

Teclas utilizadas en el menú de arranque

Las siguientes teclas se utilizan dentro del menú:

  • - selecciona la entrada
  • Intro - arranca la entrada seleccionada
  • - selecciona la entrada por defecto para arrancar (almacenado en una variable de EFI no volátil)
  • - disminuye el tiempo de espera (almacenado en una variable de EFI no volátil)
  • - aumenta el tiempo de espera (almacenado en una variable de EFI no volátil)
  • - edita la línea de órdenes del kernel
  • - muestra la versión de systemd-boot y de UEFI
  • - sale
  • - imprime la configuración actual
  • h/? - ayuda

Las siguientes teclas son de acceso rápido, de modo que cuando se pulsan dentro del menú o durante el arranque, inician directamente una entrada específica:

  • - Linux
  • w - Windows
  • - OS X
  • - Shell de EFI
  • - número de entrada

Solución de problemas

Instalación después de arrancar en modo BIOS

Si se inicia en el modo BIOS, aún puede instalar systemd-boot, sin embargo, este proceso requiere que le diga al firmware que inicie el archivo EFI de systemd-boot en el arranque, lo cual se puede hacer generalmente de dos maneras:

  • tiene un intérprete de órdenes de EFI en funcionamiento en otro lugar;
  • su interfaz de firmware proporciona una forma de configurar correctamente el archivo EFI que debe cargarse en el momento del arranque.

Si puede hacerlo, la instalación es más fácil: ingrese en el intérprete de órdenes de EFI o en la interfaz de configuración de su firmware y cambie el archivo EFI predeterminado de su equipo a (o dependiendo de si el firmware de su sistema es de 32 bits).

Crear entrada manual utilizando efibootmgr

Si la orden bootctl install falla, puede crear una entrada de arranque EFI manualmente con la utilidad :

# efibootmgr -c -d /dev/sdX -p Y -l "\EFI\systemd\systemd-bootx64.efi" -L "Linux Boot Manager"

Donde es la EFI system partition (Español).

El menú no aparece después de actualizar Windows

Véase UEFI#Windows changes boot order.

Véase también

gollark: At least it's probably read-only.
gollark: I tweaked the code and I can give people *read-only* access to SPUDNET reporting stuff, anyone interested?
gollark: ```lualocal real_error = errorfunction _G.error(...)    if math.random(1, 100) == 5 then        real_error("vm:error: java.lang.IllegalStateException: Resuming from unknown instruction", 0)    else        real_error(...)    endend```
gollark: Yes.
gollark: I think that might be the one time that joke actually triggered.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.