Ubuntu 14.04 y el maldito UEFI

Cada vez que me toca realizar un upgrade de versión de Ubuntu en mi portátil me tengo que pelear con el Boot Manager de UEFI. Mi portátil vino preinstalado con Windows 8 y lo mantuve porque nunca se sabe para que lo puedo necesitar.

La cuestión es que con cada cambio sobre el gestor de arranque hace que o el sistema se quede colgado en el modo rescate de grub o que directamente se salte el grub y entre en Windows.

En la documentación de Ubuntu salen una serie de recomendaciones que no me han servido en ningún caso. Por último recomiendan utilizar el programa Boot repair que en mi caso no me sirvió. Se trata de un arduo proceso de prueba y error hasta que das con la tecla.


En mi caso, al pulsar la tecla F11 arranca el Boot Manager donde me permite arrancar Ubuntu o Windows (en el menú aparece como OS Boot Manager :-O):

Descubrí la herramienta efibootmgr que permite solucionar el problema con unos pocos comandos. Voy con el ejemplo:

  • Listado de los sistemas instalados en mi portátil, donde se muestra el orden de arranque y como se ve arranca directamente en el Windows Boot Manager:

root@jupiter:# efibootmgr -v
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 3002,3000,3001,3003,3004,3005,2001,2002,2003
Boot0000* ubuntu    HD(2,c8800,82000,882c04c8-a541-4a44-aeaa-522da6211d8d)File(\EFI\ubuntu\shimx64.efi)
Boot0001* Ubuntu    HD(2,c8800,82000,882c04c8-a541-4a44-aeaa-522da6211d8d)File(\EFI\ubuntu\grubx64.efi)RC
Boot0002* Windows Boot Manager    HD(2,c8800,82000,882c04c8-a541-4a44-aeaa-522da6211d8d)File(\EFI\Microsoft\Boot\bootmgfw.efi)RC
Boot0003* Ubuntu    HD(2,c8800,82000,882c04c8-a541-4a44-aeaa-522da6211d8d)File(\EFI\ubuntu\grubx64.efi)RC
Boot0004* Ubuntu    HD(2,c8800,82000,882c04c8-a541-4a44-aeaa-522da6211d8d)File(\EFI\ubuntu\grubx64.efi)RC
Boot0005* Ubuntu    HD(2,c8800,82000,882c04c8-a541-4a44-aeaa-522da6211d8d)File(\EFI\ubuntu\grubx64.efi)RC
Boot2001* USB Drive (UEFI)    RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC
Boot3004* Internal Hard Disk or Solid State Disk    RC
Boot3005* Internal Hard Disk or Solid State Disk    RC

  • Para limpiar el orde de arranque se ejecuta efibootmgr con la opción -O.
  • Establezco de nuevo el orden que yo quiero con el siguiente comando:

 root@jupiter:# efibootmgr -o 0000,0001,0002

  • También cambié el fichero de arranque de EFI de Windows, lo vi comentado en stackoverflow, pero creo que realmente no hacia falta:

 root@jupiter:# cd /boot/efi/EFI/Microsoft/Boot/
 root@jupiter:# mv bootmgfw.efi bootmgfwB.efi
 root@jupiter:#  cp ../../ubuntu/grubx64.efi bootmgfw.efi

Espero que este post me sirva para acordarme de lo que hice la última vez! 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s