Después de dos años de desarrollo se ha dado a conocer la liberación de la nueva versión estable de GNU GRUB 2.06 (GRand Unified Bootloader). En esta nueva versión se presentan algunas mejoras y sobre todo diversas correcciones de errores entre las cuales se destacan el soporte para SBAT que resuelve el problema con la revocación de certificados, asi como tambien las correcciones necesarias contra BootHole.
Para quienes desconocen de este administrador de arranque modular multiplataforma, deben de saber que GRUB admite una amplia gama de plataformas, incluidas PC convencionales con BIOS, plataformas IEEE-1275 (hardware basado en PowerPC/Sparc64), sistemas EFI, hardware de procesador Loongson 2E compatible con RISC-V y MIPS, sistemas Itanium, ARM, ARM64 y ARCS ( SGI), dispositivos que utilizan el paquete CoreBoot gratuito.
Principales novedades de GRUB 2.06
En esta nueva versión del GRUB 2.06 se agregó el soporte para el formato de cifrado de disco LUKS2, que se diferencia de LUKS1 en un sistema de administración de claves simplificado, la capacidad de utilizar sectores grandes (4096 en lugar de 512, reduce la carga durante el descifrado), el uso de identificadores de partición simbólicos y herramientas de copia de seguridad de metadatos con la capacidad de restaurarlos automáticamente a partir de una copia si se detectan daños.
Tambien se agregó el soporte para módulos XSM (Xen Security Modules) que permiten definir restricciones y permisos adicionales para el hipervisor Xen, las máquinas virtuales y los recursos asociados.
Además, se ha implementado el mecanismo de bloqueo, similar a un conjunto similar de restricciones en el kernel de Linux. El bloqueo bloquea posibles rutas de derivación de arranque seguro UEFI, por ejemplo, niega el acceso a algunas interfaces ACPI y registros de CPU MSR, restringe el uso de DMA para dispositivos PCI, bloquea la importación de código ACPI de variables EFI y no permite la manipulación de puertos de E/S.
Otro de los cambios que se destaca es el soporte añadido para el mecanismo SBAT (UEFI Secure Boot Advanced Targeting), que resuelve los problemas con la revocación de certificados que son utilizados por los cargadores de arranque para UEFI Secure Boot. SBAT implica la adición de nuevos metadatos, que están firmados digitalmente y, además, pueden incluirse en las listas de componentes permitidos o prohibidos para UEFI Secure Boot. Estos metadatos permiten la revocación para manipular los números de versión de los componentes sin la necesidad de volver a generar claves para el arranque seguro y sin generar nuevas firmas.
De los demás cambios que se destacan de esta nueva versión GRUB 2.06:
- Se eliminó el soporte para brechas breves de MBR (el área entre el MBR y el comienzo de la partición del disco; en GRUB se usa para almacenar una parte del cargador de arranque que no encaja en el sector MBR).
- De forma predeterminada, la utilidad os-prober está deshabilitada, que busca particiones de inicio de otros sistemas operativos y las agrega al menú de inicio.
- Parches backportados preparados por varias distribuciones de Linux.
- Se corrigieron las vulnerabilidades BootHole y BootHole2.
- Se implementó la capacidad de compilar usando GCC 10 y Clang 10.
Finalmente si estás interesado en conocer más al respecto sobre esta nueva versión, puedes consultar los detalles en el siguiente enlace.
¿Como instalar la nueva versión de Grub en Linux?
Para quienes estén interesados en poder instalar la nueva versión del grub en su sistema, deben saber que actualmente la nueva versión en estos momentos (de la redacción del articulo) no se encuentra disponible ningún paquete precompilado para alguna de las distribuciones de Linux.
Por lo que de momento para poder obtener esta nueva versión, el único método disponible es descargando el código fuente de este y realizando la compilación.
El código fuente lo podemos obtener desde el siguiente enlace.
Ahora para realizar la compilación debemos abrir una terminal y en ella nos vamos a posicionar sobre la carpeta donde descargamos el código fuente y vamos a teclear los siguientes comandos:
zcat grub-2.06.tar.gz | tar xvf -cd grub-2.06
./configure
make install