Instalación y configuración del gestor de arranque systemd-boot en Debian
- Francisco Javier Huete
- Administracion sistemas
- February 7, 2025
Índice
systemd-boot
es un gestor de arranque creado de la fusión del proyecto gummiboot con el proyecto systemd. Tanto gummiboot como systemd-boot
están desarrollados por Red Hat. Este gestor de arranque pretende ser una alternativa minimalista al gestor de arranque GRUB, desarrollado por GNU y está diseñado para sistemas que usan la interfaz de firmware UEFI.
El gestor de arranque systemd-boot
detecta automáticamente las imágenes arrancables, incluso las de otros sistemas operativos o gestores de arranque, no requiere un fichero de configuración y cuenta con una interfaz basada en menú.
Este gestor de arranque opera únicamente en la partición EFI (EFI System Partition), de manera que los ficheros de kernel, initrds y las imágenes EFI deben estar alojadas en esta partición también. systemd-boot
lee las entradas de los ficheros de configuración del gestor de arranque y usa un fichero por cada entrada del menú. Todos los ficheros deben estar también en la partición EFI.
Introducción a systemd-boot
Los ficheros de configuración de systemd-boot
El gestor de arranque systemd-boot
usa dos tipos de ficheros de configuración. Por una parte, el fichero loader contiene la configuración del propio gestor de arranque. Por otra, cada uno de los ficheros de entradas contiene la información relativa a cada entrada del gestor de arranque.
En el fichero loader se pueden indicar los valores para la entrada por defecto del menú de arranque (default
), para el tiempo de espera durante el que se muestra el menú de arranque (timeout
), para activar el editor de los parámetros del kernel (editor
), para mostrar entradas automáticas para Windows, EFI Shell y Default Loader (auto-entries
), para mostrar la entrada para reiniciar en las configuraciones de firmware UEFI (auto-firmware
) o para cambiar el modo de consola UEFI (console-mode
).
Para cada entrada del gestor de arranque debe existir un fichero de configuración de entrada diferente. Este fichero puede almacenar información sobre el nombre del sistema operativo (title
), la versión del kernel (version
), el identificador de la máquina (machine-id
), la ruta a la imagen ejecutable EFI (efi
), opciones que se pasan a la imagen ejecutable EFI (options
), la ruta a la imagen del kernel (linux
) y la ruta a la imagen initramfs (initrd
).
Además, systemd-boot
permite usar atajos de teclado para elegir entre las diferentes entradas del menú de arranque. Por ejemplo, la tecla l
selecciona el sistema operativo Linux, la tecla w
selecciona el sistema Windows, la tecla a
selecciona el sistema MacOS o la tecla s
selecciona la EFI Shell.
Este gestor de arranque también se puede configurar desde el propio menú de arranque. Por ejemplo, mientras el menú de arranque se muestra en pantalla, con la tecla d
se puede configurar la entrada por defecto del menú o con la tecla t
se puede ajustar el tiempo durante el que se muestra este menú por pantalla. Ambas configuraciones se almacenan como una variable EFI persistente.
Ventajas e inconvenientes del uso de systemd-boot
La principal ventaja de systemd-boot
frente al gestor de arranque GRUB, usado por la gran mayoría de distribuciones basadas en GNU/Linux es que su configuración es mucho más sencilla.
Mientras que GRUB requiere el uso de varios ficheros de configuración que se ubican en diferentes rutas del sistema operativo, systemd-boot
se configura con un único fichero almacenado en la partición EFI. Además, se trata de un fichero de sintaxis sencilla, que admite unas pocas opciones y esto hace que systemd-boot
sea un gestor de arranque que se configura en pocas líneas.
Igualmente, la configuración de las diferentes entradas del menú de arranque es también muy sencilla, en un fichero diferente para cada entrada en el que sólo hay que editar unas pocas líneas para indicar al gestor de arranque la imagen EFI que debe ejecutar.
Esta sencillez hace que systemd-boot
sea un gestor de arranque más fácil no sólo de configurar sino también de mantener que GRUB, ya que es más sencillo mantener la integridad de sus ficheros de configuración y, en caso de error en la configuración, es también más sencillo depurar los posibles fallos en estos ficheros. Además, este gestor de arranque no necesita regenerar los ficheros de configuración ante cada cambio en su configuración, como ocurre con GRUB.
Como inconvenientes cabe destacar que las opciones de configuración de systemd-boot
son más limitadas que las de GRUB y, por tanto, es un gestor de arranque menos personalizable y no cuenta con la gran cantidad de opciones y características avanzadas cuyo uso permite el gestor de arranque GRUB.
Por otra parte, systemd-boot
sólo se puede instalar en equipos que usen firmware EFI. Esto hace que cualquier sistema operativo que instale por defecto este gestor de arranque no sea compatible con equipos antiguos que usen un firmware de tipo BIOS.
Otra de las limitaciones más importantes de systemd-boot
es que sólo puede arrancar usando ficheros ubicados en la partición EFI, es decir, para poder elegir entre varios kernels diferentes durante el arranque, todos ellos deben estar almacenados en esta partición.
Pero es más, para arrancar el sistema operativo desde una instantánea snapshot también es necesario que la instantánea se encuentre en esta partición. Teniendo en cuenta que, en general, las particiones EFI suelen ser pequeñas y las snapshots suelen ocupar bastante espacio en disco, esta combinación parece difícilmente compatible. Esto convierte a systemd-boot
en un gestor de arranque muy poco recomendado para aquellos sistemas que pueden tener la necesidad de arrancar desde una instantánea en un momento determinado o para aquellos que, como los sistemas operativos inmutables, incorporen el uso de instantáneas en la propia filosofía de funcionamiento del sistema operativo.
Aunque varias distribuciones como Red Hat y sus derivadas, openSUSE, ArchLinux y, más recientemente, Debian en su versión Trixie incluyen la opción de instalar systemd-boot
desde el proceso de instalación del propio sistema operativo o facilitan una gran cantidad de información sobre su instalación a través de su documentación oficial, no parece que, a día de hoy, sea la opción de gestor de arranque por defecto de ninguna de estas principales distribuciones basadas en GNU/Linux.
systemd-boot
en la instalación de Debian 13
La instalación de systemd-boot
en Debian 13 es sencilla porque la imagen ISO del sistema operativo incluye a través del modo experto de su instalador una opción para hacerlo.

Para que Debian Trixie configure systemd-boot
como gestor de arranque simplemente hay que seleccionar esta opción durante la instalación en vez de la opción que instala el gestor de arranque GRUB.
Cuando se instala, systemd-boot
genera en el directorio /boot/efi del sistema el siguiente esquema de directorios:
root@DebTrixie:~# tree /boot/efi/
/boot/efi/
├── ed59fdedf5eb46c4988f357052d4f4ac
│ └── 6.12.6-amd64
│ ├── initrd.img-6.12.6-amd64
│ └── linux
├── EFI
│ ├── BOOT
│ │ └── BOOTX64.EFI
│ ├── Linux
│ └── systemd
│ └── systemd-bootx64.efi
└── loader
├── entries
│ └── ed59fdedf5eb46c4988f357052d4f4ac-6.12.6-amd64.conf
├── entries.srel
├── keys
├── loader.conf
└── random-seed
Junto al directorio EFI, la instalación de systemd-boot
genera dos directorios más: un directorio loader y otro con el número de identificación de la máquina.
El directorio EFI contiene las imágenes EFI ejecutables que el gestor de arranque usa para arrancar el sistema operativo. En el directorio nombrado con el identificador de la máquina se encuentran los ficheros del kernel y del initramfs a los que apunta la entrada del gestor de arranque y en el directorio loader se encuentra el fichero de configuración del gestor de arranque (loader.conf) y un directorio que almacena los ficheros de configuración para cada entrada (entries). En este caso, este directorio sólo contienen un fichero de configuración y, por tanto, el gestor de arranque sólo mostrará una entrada.
Este esquema de directorios es diferente al que se genera cuando se instala el gestor de arranque GRUB. En este caso, el contenido de la partición EFI del sistema sólo incluye unos pocos ficheros.
root@debian:~# tree /boot/efi/
/boot/efi/
└── EFI
└── debian
├── BOOTX64.CSV
├── fbx64.efi
├── GRUB.cfg
├── grubx64.efi
├── mmx64.efi
└── shimx64.efi
El resto de ficheros tanto de configuración del gestor de arranque como de kernel o el initramfs están en otras ubicaciones del sistema operativo, como, por ejemplo el directorio /etc/default o el directorio /boot.
En una instalación básica, el fichero de configuración de systemd-boot,
loader.conf, contiene la siguiente información:
timeout 3
console-mode keep
default ed59fdedf5eb46c4988f357052d4f4ac-*
En él se indica que el tiempo durante el que se muestra el menú de arranque es de 3 segundos, el modo de la consola y la entrada por defecto, que apunta al fichero de entradas que comienza por el número de identificación indicado en el fichero.
El contenido del fichero de configuración para la entrada del menú de arranque es el siguiente:
# Boot Loader Specification type#1 entry
# File created by /usr/lib/kernel/install.d/90-loaderentry.install (systemd 257.1-7)
title Debian GNU/Linux trixie/sid
version 6.12.6-amd64
machine-id ed59fdedf5eb46c4988f357052d4f4ac
sort-key debian
options root=UUID=2ff4b2e6-5279-41e3-a528-afaa8db8b76c systemd.machine_id=ed59fdedf5eb46c4988f357052d4f4ac
linux /ed59fdedf5eb46c4988f357052d4f4ac/6.12.6-amd64/linux
initrd /ed59fdedf5eb46c4988f357052d4f4ac/6.12.6-amd64/initrd.img-6.12.6-amd64
El campo title
indica el nombre con el que esta entrada aparece en el menú de arranque, el campo version
muestra la versión del kernel que se usa en este caso, el campo machine-id
hace referencia al identificador de la máquina, en el campo sort-key
se indica la palabra para ordenar alfabéticamente las entradas del menú de arranque, en el campo options
se indican el UUID de la partición en la que está la raíz del sistema y el identificador de la máquina y los campos linux
e initrd
muestran la ruta relativa desde el directorio /boot/efi a los ficheros de kernel e initramfs respectivamente.
Las unidades de systemd necesarias para el correcto funcionemiento del gestor de arranque están en el directorio /usr/lib/systemd/system.
root@DebTrixie:~# ls -l /usr/lib/systemd/system | grep systemd-boot
-rw-r--r-- 1 root root 681 ene 4 02:55 systemd-boot-check-no-failures.service
-rw-r--r-- 1 root root 532 dic 19 22:25 systemd-bootctl@.service
-rw-r--r-- 1 root root 596 dic 19 22:25 systemd-bootctl.socket
-rw-r--r-- 1 root root 1029 dic 19 22:25 systemd-boot-random-seed.service
-rw-r--r-- 1 root root 733 dic 19 22:25 systemd-boot-update.service
Instalación de systemd-boot
en Debian 12
Para instalar el gestor de arranque systemd-boot
en Debian 12, la distribución ofrece entre su paquetería el paquete systemd-boot
. Al instalar este paquete, se genera la estructura de directorios propia de este gestor de arranque en la partición EFI, se descargan los ficheros necesarios para el funcionamiento del gestor de arranque a sus ubicaciones. Así, se coloca el ejecutable EFI systemd-bootx64.efi
en el directorio EFI/systemd/ de la partición EFI del sistema y en el directorio EFI/BOOT con el nombre BOOTX64.EFI
.
La instalación de este paquete genera, además, las unidades de systemd relacionadas con el gestor de arranque y los ficheros de configuración loader y entries que también se ubican en la partición EFI.
El paquete systemd-boot
se puede instalar con el gestor de paquetes apt
.
apt install systemd-boot
Junto a todas las modificaciones descritas previamente, la instalación de este paquete también instala en el sistema la herramienta bootctl
, una herramienta para controlar la configuración del gestor de arranque systemd-boot
. Las diferentes opciones de este comando permiten realizar tareas como comprobar el estado del gestor de arranque y las variables EFI, modificar las variables EFI, modificar las opciones de configuración del gestor de arranque como la entrada por defecto o el tiempo durante el que se muestra el menú de arranque. Esta utilidad también permite instalar systemd-boot
en la partición EFI del sistema, actualizar el gestor de arranque o eliminarlo de la partición EFI del sistema. Además, las opciones para instalar, actualizar o eliminar systemd-boot,
estas opciones también instalan, actualizan o eliminan las variables EFI relacionadas con el gestor de arranque del sistema.
Así, para instalar el gestor de arranque systemd-boot
en el sistema se usa la siguiente orden:
root@debian:~# bootctl install
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/boot/efi/EFI/systemd/systemd-bootx64.efi".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/boot/efi/EFI/BOOT/BOOTX64.EFI".
Random seed file /boot/efi/loader/random-seed successfully written (32 bytes).
Not installing system token, since we are running in a virtualized environment.
Created EFI boot entry "Linux Boot Manager".
Tras la instalación, se crea la siguiente estructura de directorios en la partición EFI (/boot/efi) del sistema operativo:
root@debian:~# tree /boot/efi/
/boot/efi/
├── 3185f7f12240431fac68143b3a38ef1b
│ ├── 6.1.0-27-amd64
│ │ ├── initrd.img-6.1.0-27-amd64
│ │ └── linux
│ └── 6.1.0-28-amd64
│ ├── initrd.img-6.1.0-28-amd64
│ └── linux
├── EFI
│ ├── BOOT
│ │ └── BOOTX64.EFI
│ ├── debian
│ │ ├── BOOTX64.CSV
│ │ ├── fbx64.efi
│ │ ├── GRUB.cfg
│ │ ├── grubx64.efi
│ │ ├── mmx64.efi
│ │ └── shimx64.efi
│ ├── Linux
│ └── systemd
│ └── systemd-bootx64.efi
└── loader
├── entries
│ ├── 3185f7f12240431fac68143b3a38ef1b-6.1.0-27-amd64.conf
│ └── 3185f7f12240431fac68143b3a38ef1b-6.1.0-28-amd64.conf
├── entries.srel
├── loader.conf
└── random-seed
Por defecto, el instalador genera un fichero de configuración de systemd-boot
con el contenido básico.
root@debian:~# cat /boot/efi/loader/loader.conf
#timeout 3
#console-mode keep
default 3185f7f12240431fac68143b3a38ef1b-*
Como este sistema tiene instaladas dos versiones diferentes del kernel, se generan también dos ficheros de entrada del menú de arranque, uno para cada una de las versiones.
root@debian:~# cat /boot/efi/loader/entries/3185f7f12240431fac68143b3a38ef1b-6.1.0-27-amd64.conf
title Debian GNU/Linux 12 (bookworm)
version 6.1.0-27-amd64
machine-id 3185f7f12240431fac68143b3a38ef1b
sort-key debian
options root=UUID=e208b2c9-3870-4f39-99ff-0fdf31c219f4 ro quiet systemd.machine_id=3185f7f12240431fac68143b3a38ef1b
linux /3185f7f12240431fac68143b3a38ef1b/6.1.0-27-amd64/linux
initrd /3185f7f12240431fac68143b3a38ef1b/6.1.0-27-amd64/initrd.img-6.1.0-27-amd64
root@debian:~# cat /boot/efi/loader/entries/3185f7f12240431fac68143b3a38ef1b-6.1.0-28-amd64.conf
title Debian GNU/Linux 12 (bookworm)
version 6.1.0-28-amd64
machine-id 3185f7f12240431fac68143b3a38ef1b
sort-key debian
options root=UUID=e208b2c9-3870-4f39-99ff-0fdf31c219f4 ro quiet systemd.machine_id=3185f7f12240431fac68143b3a38ef1b
linux /3185f7f12240431fac68143b3a38ef1b/6.1.0-28-amd64/linux
initrd /3185f7f12240431fac68143b3a38ef1b/6.1.0-28-amd64/initrd.img-6.1.0-28-amd64
Para mostrar el menú de arranque tras el encendido de la máquina hay dos opciones: se puede modificar directamente el fichero de configuración loader.conf o usar la herramienta bootctl
para cambiar este valor.
bootctl set-timeout 3
Al reiniciar el equipo, el gestor de arranque definido ya es systemd-boot,
que muestra en el menú de arranque las dos entradas listadas anteriormente para arrancar con los dos kernels instalados en el equipo.

Añadir opciones al menú de arranque de systemd-boot
La herramienta bootctl
genera automáticamente durante la instalación de systemd-boot,
por defecto, una entrada para cada versión del kernel instalada en el equipo, así como una opción para reiniciar la máquina y acceder a la interfaz de su firmware. Pero systemd-boot
permite añadir fácilmente nuevas entradas al menú de arranque. Por ejemplo, se puede configurar una entrada de este menú con la que se acceda directamente a la shell EFI.
Si el equipo cuenta con una shell EFI como la disponible en el paquete edk2-shell, el gestor de arranque systemd-boot
puede reconocerla automáticamente y crear una entrada en el menú de arranque por defecto. Sin embargo, en este caso no hay ninguna shell EFI instalada previamente.
Para crear esta nueva entrada es necesario contar con un fichero ejecutable de tipo EFI que arranque la shell EFI. Este fichero se puede obtener desde diferentes fuentes tanto oficiales como de terceros. En este caso, se descarga el fichero ejecutable publicado en el repositorio de GitHub de pbatard.
root@debian:~# wget https://github.com/tianocore/edk2/blob/UDK2018/ShellBinPkg/UefiShell/X64/Shell.efi
--2025-01-10 18:06:37-- https://github.com/tianocore/edk2/blob/UDK2018/ShellBinPkg/UefiShell/X64/Shell.efi
Resolviendo github.com (github.com)... 140.82.121.3
Conectando con github.com (github.com)[140.82.121.3]:443... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: no especificado [text/html]
Grabando a: «Shell.efi»
Shell.efi [ <=> ] 229,94K --.-KB/s en 0,1s
2025-01-10 18:06:39 (1,51 MB/s) - «Shell.efi» guardado [235463]
Para que el gestor de arranque pueda acceder al fichero ejecutable, este se debe ubicar en la partición EFI del sistema, es decir, dentro del directorio /boot/efi.
cp shellx64.efi /boot/efi/EFI/
A continuación, se puede crear el fichero de la entrada para la shell EFI en el directorio /boot/efi/loader/entries.
title Shell EFI
efi /EFI/shellx64.efi
Tras generar este fichero y reiniciar la máquina, aparece la nueva entrada en el menú de arranque.

Y, si se elige esta opción durante el arranque, se accede a la shell EFI.

En este punto se aprecia la que quizás sea la ventaja más llamativa del gestor de arranque systemd-boot
frente a GRUB. En este caso, ha sido suficiente crear un fichero con sólo dos líneas para generar una nueva entrada en el menú de arranque. En cambio, hacer esta modificación en el gestor de arranque GRUB habría supuesto un proceso más complejo de configuración, en ficheros con una sintaxis más compleja y, además, habría conllevado también un proceso de actualización del gestor de arranque a través de herramientas como update-grub
.
Arranque dual con systemd-boot
Para configurar un arranque dual con systemd-boot
cuando un equipo usa dos discos duros diferentes con distintos sistemas operativos instalados es importante tener en cuenta una característica propia de este gestor de arranque: necesita contar con todos los ficheros necesarios para su funcionamiento en la misma partición ESP. Mientras que otros gestores de arranque como GRUB pueden funcionar si cada sistema operativo tiene su kernel y su fichero de initramfs en su propia partición de arranque, systemd-boot
necesita todos esos ficheros en una misma partición.
Así, en un equipo con systemd-boot
como gestor de arranque que tiene instalado un sistema operativo Debian 12 en su disco duro principal y un sistema operativo AlmaLinux en un segundo disco duro, es necesario configurar el gestor de arranque para que pueda arrancar no sólo el SO Debian sino también el AlmaLinux.
En primer lugar, se arranca desde el primer sistema operativo y se monta temporalmente el segundo disco duro para poder acceder a sus contenidos.
mount /dev/vdb2 /mnt
A continuación en el disco principal se genera la estrucutra de directorios necesaria para albergar los ficheros de arranque del nuevo sistema operativo.
cd /boot/efi
mkdir -p ce16eed6dd7f4a4b80c2668acc1a64e3/5.14.0
cd ce16eed6dd7f4a4b80c2668acc1a64e3/5.14.0
En este nuevo directorio se almacenan los ficheros del kernel e initramfs del nuevo sistema operativo.
cp /mnt/vmlinuz-5.14.0-503.11.1.el9_5.x86_64 .
cp /mnt/initramfs-5.14.0-503.11.1.el9_5.x86_64.img .
Después, a partir del fichero de entrada del SO Debian se genera el fichero de entrada para el nuevo sistema operativo.
cp /boot/efi/loader/entries/ed59fdedf5eb46c4988f357052d4f4ac-6.12.6-amd64.conf /boot/efi/loader/entries/ce16eed6dd7f4a4b80c2668acc1a64e3-5.14.0.conf
Y se configura la entrada del menú de arranque.
# Boot Loader Specification type#1 entry
# File created by /usr/lib/kernel/install.d/90-loaderentry.install >
title AlmaLinux
version 5.14.0
machine-id ce16eed6dd7f4a4b80c2668acc1a64e3
sort-key almalinux
options root=UUID=4d59812e-1dcf-462b-b362-5bb8a04e8e6e systemd.m>
linux /ce16eed6dd7f4a4b80c2668acc1a64e3/5.14.0/vmlinuz-5.14.0->
initrd /ce16eed6dd7f4a4b80c2668acc1a64e3/5.14.0/initramfs-5.14.0>
Tras añadir el fichero de definición de la entrada al directorio de entradas en la partición ESP del sistema y reiniciar, la entrada para arrancar AlmaLinux ya aparece en el menú de arranque.

rEFInd, la alternativa más popular a GRUB
A pesar del éxito en implantación en algunas distribuciones de systemd-boot
, la alternativa más popular a día entre la comunidad de usuarios de GNU/Linux al gestor de arranque GRUB es rEFInd.
Instalación de rEFInd
En muchas distribuciones como, por ejemplo, Debian, rEFInd se puede instalar desde el gestor de paquetes.
apt install refind
Durante la instalación del paquete, rEFInd pide permiso para instalar el gestor de arranque en la partición EFI del sistema operativo (ESP).

Configuración de rEFInd
Al instalar el gestor de arranque se genera la siguiente estructura en la partición EFI del sistema operativo.
/boot/efi/EFI/refind/
├── BOOT.CSV
├── drivers_x64
│ └── ext4_x64.efi
├── icons
│ ├── arrow_left.png
│ ├── arrow_right.png
│ ├── boot_linux.png
│ ├── boot_win.png
│ ├── func_about.png
│ ├── func_bootorder.png
│ ├── func_csr_rotate.png
│ ├── func_exit.png
│ ├── func_firmware.png
│ ├── func_hidden.png
│ ├── func_install.png
│ ├── func_reset.png
│ ├── func_shutdown.png
│ ├── mouse.png
│ ├── os_arch.png
│ ├── os_artful.png
│ ├── os_bionic.png
│ ├── os_centos.png
│ ├── os_chakra.png
│ ├── os_chrome.png
│ ├── os_clover.png
│ ├── os_crunchbang.png
│ ├── os_debian.png
│ ├── os_devuan.png
│ ├── os_elementary.png
│ ├── os_fedora.png
│ ├── os_freebsd.png
│ ├── os_frugalware.png
│ ├── os_gentoo.png
│ ├── os_gummiboot.png
│ ├── os_haiku.png
│ ├── os_hwtest.png
│ ├── os_kubuntu.png
│ ├── os_legacy.png
│ ├── os_linuxmint.png
│ ├── os_linux.png
│ ├── os_lubuntu.png
│ ├── os_mac.png
│ ├── os_mageia.png
│ ├── os_mandriva.png
│ ├── os_manjaro.png
│ ├── os_netbsd.png
│ ├── os_network.png
│ ├── os_opensuse.png
│ ├── os_redhat.png
│ ├── os_refind.png
│ ├── os_refit.png
│ ├── os_slackware.png
│ ├── os_suse.png
│ ├── os_systemd.png
│ ├── os_trusty.png
│ ├── os_ubuntu.png
│ ├── os_uefi.png
│ ├── os_unknown.png
│ ├── os_void.png
│ ├── os_win8.png
│ ├── os_win.png
│ ├── os_xenial.png
│ ├── os_xubuntu.png
│ ├── os_zesty.png
│ ├── README
│ ├── tool_apple_rescue.png
│ ├── tool_fwupdate.png
│ ├── tool_memtest.png
│ ├── tool_mok_tool.png
│ ├── tool_netboot.png
│ ├── tool_part.png
│ ├── tool_rescue.png
│ ├── tool_shell.png
│ ├── tool_windows_rescue.png
│ ├── transparent.png
│ ├── vol_efi.png
│ ├── vol_external.png
│ ├── vol_internal.png
│ ├── vol_net.png
│ └── vol_optical.png
├── keys
│ ├── altlinux.cer
│ ├── canonical-uefi-ca.cer
│ ├── centossecureboot201.cer
│ ├── centossecurebootca2.cer
│ ├── debian.cer
│ ├── fedora-ca.cer
│ ├── microsoft-kekca-public.cer
│ ├── microsoft-pca-public.cer
│ ├── microsoft-uefica-public.cer
│ ├── openSUSE-UEFI-CA-Certificate-4096.cer
│ ├── openSUSE-UEFI-CA-Certificate.cer
│ ├── refind.cer
│ ├── refind_local.cer
│ ├── refind_local.crt
│ └── SLES-UEFI-CA-Certificate.cer
├── refind.conf
├── refind_x64.efi
└── vars
└── PreviousBoot
El gestor de arranque rEFInd es una alternativa mucho más basada en los elementos gráficos que GRUB y, sobre todo, que systemd-boot
. De hecho, en la estructura de directorios que el gestor de arranque instala en el sistema se incluye una gran cantidad de imágenes que el gestor de arranque usa para mostrar los diferentes iconos en el menú de selección.
En el fichero de configuración /boot/efi/EFI/refind/refind.conf se puede personalizar el gestor de arranque. Este fichero permite establecer parámetros propios de cualquier gestor de arranque como el timeout
o la opción de arranque por defecto pero también permite activar otras opciones como, por ejemplo, apagar el equipo cuando termina este plazo o apagar la pantalla al activar el modo “salvapantallas” después de un tiempo determinado.
En este fichero también se puede modificar la aperiencia gráfica del gestor de arranque ya que la configuración permite ocultar del menú de arranque elementos como el banner, las etiquetas, algunos submenús, el funcionamiento de las flechas, las pistas asociadas a cada entrada, la imagen del tipo de dispositivo asociado a cada entrada o la opción de editar las entradas desde el menú de arranque.
Por supuesto, todos los elementos gráficos como el banner, la fuente y los iconos que se muestran en el menú de arranque se pueden sustituir por otros en este fichero de configuración para personalizar también la apariencia de este menú.
A diferencia de otros gestores de arranque como GRUB o systemd-boot
, rEFInd permite el uso del ratón en el menú de arranque. Esta opción también se puede configurar en este fichero.
Por otra parte, desde el fichero de configuración de rEFInd se pueden habilitar otras herramientas del gestor de arranque que no están orientadas a arrancar un sistema operativo como, por ejemplo, la shell EFI, un test de memoria, la herramienta de particionado gdisk
, herramientas de recuperación para Apple o Windows, una herramienta para instalar rEFInd en otra partición ESP, la herramienta para modificar el orden de arranque de la EFI (aunque este orden no afecta al menú de arranque de rEFInd), un botón de apagado, la opción de reiniciar la máquina, la de acceder al firmware EFI o la de ejecutar el arranque por red.
Las entradas del menú de arranque de rEFInd también se pueden especificar en este fichero de configuración con un formato muy parecido al que usan las entradas del GRUB, como se muestra a continuación:
menuentry Debian {
icon EFI/refind/icons/os_debian.png
volume 904404F8-B481-440C-A1E3-11A5A954E601
loader /boot/vmlinuz-linux
initrd initrd-3.3.0.img
options "rw root=UUID=5f96cafa-e0a7-4057-b18f-fa709db5b837"
}
icon
es una ruta al fichero de la imagen que se muestra en cada entrada de menú.volume
es el nombre o el UUID del volumen en el que se encuentra el SO que arranca la entrada del menú.loader
es la ruta al fichero del kernel que usa la entrada del menú.initrd
es la ruta al fichero iniramfs que usa la entrada del menú.options
es una lista de opciones de arranque que puede incluir, por ejemplo, el UUID de la partición en la que se encuentra la raíz del sistema que monta la entrada del menú.
Además de sistemas operativos, rEFInd también puede arrancar otros gestores de arranque. Por ejemplo, una entrada del menú que arranque el cargador de arranque GRUB puede ser como esta:
menuentry GRUB {
loader /EFI/debian/grubx64.efi
icon /EFI/refind/icons/os_debian.png
}
Todas las entradas del menú aceptan también la opción disabled
que hace que no se muestren en el menú de arranque.
El proceso de configuración de rEFInd puede ser desde lo más extremadamente sencillo posible hasta muy enrevesado según el nivel de complejidad con el que se quira configurar la herramienta. De entrada, tras instalar el paquete refind
a través de apt
, el gestor de arranque se configura de forma automática para su funcionamiento en el sistema. Esta autoconfiguración ofrece una configuración básica que detecta todos los sistemas operativos y gestores de arranque instalados en la partición EFI del sistema y los muestra en el menú de arranque.

Conclusión
El gestor de arranque systemd-boot
ha ido ganando presencia entre varias distribuciones basadas en GNU/Linux en los últimos años, hasta el punto de que la nueva versión de Debian ya lo incluye como una opción alternativa al gestor de arranque GRUB durante la instalación experta. Este gestor de arranque ofrece ventajas evidentes respecto a GRUB, especialmente viene con una gestión y configuración más sencilla y una estructura de directorios más clara.
Sin embargo, aún presenta limitaciones importantes en cuanto a las posibilidades que ofrece y que dificultan mucho tareas cotidianas para los administradores de sistema como la personalización de la configuración o el arranque desde instantáneas.
Tanto por estos motivos como por fidelidad a los principios en los que se basan los sistemas operativos GNU/Linux, otras muchas distribuciones se han mostrado reacias a incorporar systemd-boot
o, directamente, cualquier elemento de systemd a sus sistemas operativos.
Además hay que tener en cuenta que, entre la comunidad de desarrolladores y usuarios de software libre parecen triunfar más otras alternativas al gestor de arranque GRUB como, por ejemplo, rEFInd.
Será cuestión de tiempo, por tanto, ver si el uso de systemd-boot
se estandariza ya sea por las preferencias de los usuarios o por la firme apuesta de las principales distribuciones, sobre todo las pertenecientes al ecosistema Red Hat y las derivadas de Debian, o si, por el contrario, el GRUB de GNU mantiene su hegemonía entre los sistemas operativos GNU/Linux.
Fuentes
systemd-boot UEFI Boot Manager
Grub or Systemd-boot? (endeavouros forum)