sábado, 1 de agosto de 2020

Grub2 UEFI error

Más de una vez me ha tocado reparar grub en computador que tiene varios años, lo que implica haber pasado por varias migraciones. Eso sumado a que se vienen cambios en grub debido a una alerta de seguridad con "secure boot" en EFI (ver enlace más abajo), puede que más de alguno tenga problemas.  Teniendo eso en mente, acá un resumen de los pasos que generalmente ocupo para corregir y así de paso me sirve de ayuda memoria :P.
Luego de actualizaciones o instalaciones, puede que el archivo de configuración quede corrupto o simplemente "invisible" por lo que puede aparecer una ventana básica de grub.
Incluso sin reparar grub, podemos acceder a la partición con Linux de forma directa desde esa consola básica con estos comandos:

set root=(hd0,gpt8)
linux /boot/vmlinuz-4.19.0-10-amd64 root=/dev/sda8
initrd /boot/initrd.img-4.19.0-10-amd64
boot

Tiendiendo sda8 como la partición root, en caso de ser otra la partición se debe cambiar el número por la que corresponda. Lo mismo con las versiones de vmlinuz y initrd (presionando tab aparecerán los archivos disponibles).
Peeeero dado que es poco práctico escribir eso todas las veces, vamos con los pasos de la reparación.
Lo primero es tener un live cd o live usb -que es lo más habitual- e iniciar desde ahí. Idealmente es mejor tener en el live system la misma distro que está instalada, para descartar algún inconveniente.
Suponiendo que la partición EFI es sda6 y la partición root es sda8 los comandos serían:

sudo su -
mount /dev/sda8 /mnt
mount /dev/sda6 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
chroot /mnt /bin/bash

Abrir otra consola y ejecutar:

sudo apt install grub-efi
sudo grub-install --target=x86_64-efi /dev/sda --efi-directory=/mnt/boot/efi --boot-directory=/mnt/boot

Reiniciar el sistema y listo, ya debería partir grub con todas las opciones tal como antes :)

NOTA:
Para tener una idea y resumen de todo lo relacionado con el boot, se puede usar: sudo bootinfoscript.

Referencias:
https://wiki.debian.org/GrubEFIReinstall
https://forums.solydxk.com/viewtopic.php?f=5&t=7649#p71156
https://www.debian.org/security/2020-GRUB-UEFI-SecureBoot/

No hay comentarios:

-