Gummiboot (Español)
Artículos relacionados
De la página principal de gummiboot:
- 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.
Es fácil de configurar, pero solo puede iniciar ejecutables EFI, EFISTUB del kernel de Linux , Shell UEFI, grub.efi, y similares.
Contents
Instalación
En primer lugar, asegúrese de que arranca en modo UEFI para que las variables EFI estén accesibles, que la partición del sistema EFI se monta correctamente y que su kernel e initramfs se copian en ESP, ya que, de otro modo, gummiboot no cargará los binarios EFI ubicados en otras particiones. Es altamente recomendable montar ESP en /boot
si utiliza gummiboot.
Después, instale el paquete gummiboot disponible en los repositorios oficiales.
Por último, escriba la orden siguiente para copiar el binario gummiboot a la partición del sistema EFI y así añadir gummiboot como la aplicación por defecto EFI (entrada de inicio por defecto) para que se cargue por el EFI Boot Manager. Si no ha arrancado en modo UEFI y las variables EFI no están accesibles, la entrada de arranque creada fallará. Sin embargo, todavía podrá ser capaz de arrancar gummiboot copiando el binario gummiboot a la ubicación del binario EFI por defecto en su ESP ($esp/EFI/boot/bootx64.efi
en sistemas x64) a menos que una aplicación EFI que no sea gummiboot ya está presente con el mismo nombre de archivo.
# gummiboot --path=$esp install
Actualización
gummiboot asume que EFI System Partition se monta en /boot
, en cuyo caso, cada vez que una nueva versión gummiboot esté disponible, la orden gummiboot --path=$esp update
será llamada automáticamente por el método post_install
del script de instalación. Si la ESP no está montada en /boot
, tendrá que ajustar manualmente esta orden.
Configuración
Configuración básica
La configuración básica se mantiene en $esp/loader/loader.conf
, con solo dos posibles opciones de configuración:
-
default
– entrada por defecto para seleccionar (sin el sufijo.conf
); se puede utilizar un comodín comoarch-*
-
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 de espacio durante el arranque.
Ejemplo:
$esp/loader/loader.conf
default arch timeout 4
Tenga en cuenta que ambas opciones se pueden cambiar en el mismo menú de arranque, que se almacenará como variables de EFI.
Añadir entradas de arranque
gummiboot busca los items para el menú de arranque en $esp/loader/entries/*.conf
—cada archivo encontrado debe contener exactamente una entrada de arranque—. Las opciones posibles son:
-
title
– nombre del sistema operativo. Necesario.
-
version
– 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/etc/machine-id
, que se muestra solamente cuando existan varias entradas con la misma versión y título. Opcional.
-
efi
– programas EFI a iniciar, que se encuentren en la ESP ($esp
); por ejemplo,/vmlinuz-linux
. Tanto este comolinux
(véase a continuación) son necesarios.
-
options
– opciones de línea de órdenes para pasar al programa EFI. Opcional, pero es necesario al menosinitrd=ruta-a-efi
yroot=dev
para arrancar Linux.
Para Linux, puede especificar linux ruta-a-vmlinuz
y initrd ruta-a-initramfs
; esto se traducirá automáticamente en ruta a efi
y options initrd=ruta
—esta sintaxis solo es apoyada por eficacia y no altera su función—.
Puede encontrar la PARTUUID de sus dispositivos con la orden blkid -s PARTUUID -o value /dev/sdxx
(/dev/sdxx debe ser su partición raíz y no $esp)
Una entrada de ejemplo para Arch Linux:
$esp/loader/entries/arch.conf
title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img options root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw
Tenga en cuenta que, en el ejemplo anterior, PARTUUID/PARTLABEL identifica una partición de una tabla de particionado GPT, y difiere de la UUID/LABEL, que identifica un sistema de archivos. Utilizar PARTUUID/PARTLABEL es ventajoso porque es invariante si reformatea la partición con otro sistema de archivos o el mapeado /dev/sd* cambia por alguna razón. También es útil si la partición en cuestión no tiene un sistema de archivos (o se utiliza LUKS, que no admite etiquetas).
Un ejemplo de entrada para la raiz (root) encriptada (dm-crypt con LUKS)
$esp/loader/entries/arch-encrypted.conf
title Arch Linux (Encrypted) linux /ruta/a/vmlinuz-linux options initrd=/ruta/a/initramfs-linux.img cryptdevice=UUID=<UUID>:luks-<UUID> root=UUID=<luks-UUID> rw
En el ejemplo de cifrado, advierta que initrd está en options —esto no parece ser discrecional en este momento—. También tenga en cuenta que en este ejemplo se utiliza UUID. PARTUUID debe ser capaz de reemplazar UUID, si así se desea.
También puede agregar otros programas EFI como \EFI\arch\grub.efi
.
Añadir seguridad
Hay que señalar que los parámetros de la línea de órdenes del kernel se pueden editar desde el menú del gestor de arranque de gummiboot (ver #Teclas) pulsando e
. Esto supone un importante problema de seguridad, ya que si se redefine el argumento del kernel init=
con init=/bin/bash
por ejemplo, esto va a hacer que la máquina arranque directamente como root sin pedir ninguna contraseña, puenteandose fácilmente la contraseña de root que haya sido definida previamente. gummiboot actualmente no tiene una función para configurar contraseñas y no tiene capacidad para prevenir los cambios de los parámetros del kernel, por tanto, es necesario asegurarse de establecer una contraseña a nivel de hardware (UEFI/BIOS) que impida que el equipo arranque si no se ha introducido la contraseña correcta.
Dado que la seguridad es de varios niveles y el acceso físico ya rompe cualquier sistema de seguridad, tal vez el cifrado de su disco con dm-crypt sería muy útil, sobre todo si el equipo es un portátil. Pero esto es un problema de otro tema, que no concierne a gummiboot.
Soporte para hibernación
Remítase al artículo Suspend and hibernate, especialmente a ejemplo para gummiboot.
Dentro del menú de arranque
Teclas
Las siguientes teclas se utilizan dentro del menú:
-
Arriba/Abajo
- selecciona la entrada -
Intro
- arranca la entrada seleccionada -
d
- selecciona la entrada por defecto para arrancar (almacenado en una variable de EFI no volátil) -
-/T
- disminuye el tiempo de espera (almacenado en una variable de EFI no volátil) -
+/t
- aumenta el tiempo de espera (almacenado en una variable de EFI no volátil) -
e
- edita la línea de órdenes del kernel -
v
- muestra la versión de gummiboot y de UEFI -
Q
- sale -
P
- 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:
-
l
- Linux -
w
- Windows -
a
- OS X -
s
- Shell EFI -
1-9
- número de entrada
Solución de problemas
Entrada manual usando efibootmgr
Si la orden gummiboot install
falla, puede crear una entrada de arranque EFI manualmente con la utilidad efibootmgr
:
# efibootmgr -c -d /dev/sdX -p Y -l /EFI/gummiboot/gummibootx64.efi -L "Gummiboot"
Donde /dev/sdXY
es la partición Efisys.
El menú no aparece después de la actualización de Windows
Por ejemplo, si se ha actualizado de Windows 8 a Windows 8.1, y ya no se ve un menú de arranque después de la actualización (es decir, Windows se inicia de inmediato):
- Asegúrese de que Secure Boot (en la configuración de la BIOS) y Fast Startup (valor de la opción de energía de Windows) están desactivados.
- Asegúrese de que su BIOS prefiere Linux Boot Manager antes que Windows Boot Manager (dependiendo de su BIOS, esto podría aparecer bajo una configuración de Hard Disk Drive Priority).