miércoles, 19 de agosto de 2015

Recuperar GRUB 2 EFI utilzando rEFInd

Recientemente tuve un problema con un laptop dual-boot (widows/linux) al actualizar el Windosw 8.1 a 10. 

En una de las tantas reiniciadas de windows me quede sin el gestor de arranque grub, por lo que les explico como hice para recuperarlo, finalizar la actualización y dejar intacto mi querido debian.

Se que se puede recuperar el grub con una distro live y seguir algunos pasos, pero como comente la actualización a windows 10 aun no terminaba así que no quería tener que hacer esto a cada rato por lo que me decidí a probar rEFInd.


Lo primero es decidir que imagen utilizar, yo tenia a disposición un viejo USB de 512M así que baje la imagen A USB flash drive image file (les recomiendo revisar la web por si existe una nueva versión)

Una vez descargado el archivo podemos copiarlo al USB, para lo que utilizaremos el comando dd. Esto borrara toda la información que tenían en el mismo.
root@lenovoG480 #~ dd if=refind-flashdrive-0.9.0.img of=/dev/sdg1

13696+0 registros leídos
13696+0 registros escritos
7012352 bytes (7,0 MB) copiados, 0,0424837 s, 165 MB/s

Si no saben con que identificador se monto tu USB, lo puedes ver con fdisk -l ó dmseg

Continuar con la actualización

Ya con el USB listo lo colocamos en le PC y arrancamos desde el mismo, la forma de hacerlo varia de equipo en equipo pero en mi caso, una lenovo G480 basta con pulsar F12 al inicio y escoger el USB

Al iniciar se nos muestran las diferentes opciones de arranque, para este paso escogemos la de windows (hacer esto tantas veces reinicie windows, hasta culminar la instalación)



Reparar grub

Ahora si vamos a reparar definitivamente el gestor de arranque, para ello iniciamos nuevamente desde el USB rEFInd, pero en esta ocasión escojemos nuetra distribución linux, en mi caso es la 3 opción, la 2 es el arranque grub dañado

[ -d /sys/firmware/efi ] && echo "Modo EFI" || echo "Modo Legacy"


Debe retornar "Modo EFI" de lo contrario esta guía no te va a funcionar.

  • Paso 1: reinstalamos grub-efi
    root@lenovoG480:~# apt-get install --reinstall grub-efi
  • Paso 2: Colocamos el bootloader en su sitio y lo actualizamos
    root@lenovoG480:~# grub-install /dev/sda ; update-grub
    Installing for x86_64-efi platform.
    Instalación terminada. No se notificó ningún error.

    Generating grub configuration file ...
    Found background image: /usr/share/images/desktop-base/desktop-grub.png
    Encontrada imagen de linux: /boot/vmlinuz-4.1.0-1-amd64
    Encontrada imagen de memoria inicial: /boot/initrd.img-4.1.0-1-amd64
    Encontrada imagen de linux: /boot/vmlinuz-4.0.0-2-amd64
    Encontrada imagen de memoria inicial: /boot/initrd.img-4.0.0-2-amd64
    Encontrado Windows Boot Manager en /dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi
    Adding boot menu entry for EFI firmware configuration
    hecho
  • Paso 3: Si no se presento ningún error en los pasos anteriores, ya puedes reiniciar el equipo
Como de costumbre, mis créditos a quienes me sirvieron como fuente de información, el wiki de debian y la web de rEFInd

Publicar un comentario