05 noviembre, 2012

Recupera el GRUB en Ubuntu 12.04 y 12.10 tras instalar Windows o reconstrúyelo por completo

Ahora que estamos de resaca absoluta tras la presentación del nuevo Windows 8, es más que probable que muchos de vosotros no os hayáis resistido a la tentación de probarlo en vuestras máquinas (siempre con ese sentimiento de culpabilidad por abandonar, durante al menos esos minutos de instalación, a nuestro querido Ubuntu).

Bien, ahora que ya habéis instalado ese cáncer en vuestro PC, y tras el sabor agridulce que os han dejado esos cuadrados enormes que os aparecen en vuestra pantalla por doquier, al reiniciar para volver a vuestro trabajo cotidiano con vuestro robusto sistema Linux, os dais cuenta de que... ¡maldición! Windows 8 se ha cargado todo rastro del gestor de arranque y se arranca él mismo de forma predeterminada. Ya está Microsoft fastidiando ¬¬

No os preocupéis, recuperar el GRUB (GNU GRand Unified Bootloader) o volverlo a reconstruir por completo es una tarea relativamente sencilla siguiendo estos pasos.

1) Deberás arrancar tu máquina desde un Live-CD o Live-USB. Una vez arrancado el sistema de esta forma, abre la terminal y teclea
sudo fdisk -l

2) Observa con atención el contenido de la pantalla

En la columna "Sistema" deberás localizar la partición "Linux" y apuntar el número después de "sda" de la columna "Disposit." En el ejemplo propuesto, la partición que corresponde a "Linux" es "sda5"

En este caso, se supone que la partición raíz de Ubuntu (/) se encuentra en "/dev/sda5". A partir de aquí, deberás sustituir "sda5" por los valores que fdisk a arrojado para tu caso en concreto.

3) Monta el disco duro que contiene la raíz de Ubuntu:

sudo mount -t ext4 /dev/sda5 /mnt

La opción "-t" indica el tipo de partición, en este caso "ext4" (si has usado otro tipo de sistema de archivos a la hora de instalar Ubuntu, deberás cambiarlo por el correspondiente), seguido por la partición a montar (cambia "sda5" por la que te corresponda exactamente) y el directorio donde lo vas a montar "/mnt"

3.1) Este paso es solamente para aquellos equipos en los que se ha realizado la instalación de Ubuntu, en una partición "/boot" separada de las demás, la partición correspondiente debería también ser montada en "/mnt/boot".

sudo mount -t ext4 /dev/sda5 /mnt/boot

4) Monta también a continuación el resto de los dispositivos en el directorio "/mnt" en el sistema Live:

sudo mount --bind /dev /mnt/dev

sudo mount --bind /dev/pts /mnt/dev/pts

sudo mount --bind /proc /mnt/proc

sudo mount --bind /sys /mnt/sys

5) Ejecuta la siguiente orden para acceder como root (superadministrador) al sistema de archivos del Ubuntu al que deseas recuperar el acceso

sudo chroot /mnt

6) Actualiza la configuración de GRUB:

grub-mkconfig -o /boot/grub/grub.cfg

7) Carga ahora el GRUB en el MBR ejecutando el siguiente comando, es decir, instala el gestor de arranque al comienzo del primer disco duro "/dev/sda"

grub-install --recheck /dev/sda

Sustituye "sda" por el disco duro que utilizas para arrancar los sistemas operativos. Por norma general será "sda" pero ten cuidado, no debes poner el número de partición, sólo "sda"

7.1) Si el paso anterior no funciona, Ubuntu se puede encarguar automáticamente de ello:

sudo update -grub2

sudo grub-install /dev/sda

8) Sal del entorno chroot:

exit

9) Reinicia el sistema:

sudo reboot


10) En el siguiente arranque, te aparecerá el GRUB con la opción de selección del sistema operativo que quieras iniciar.


11) El siguiente paso puede ser modificar el tiempo de espera de arranque del sistema, el arranque por defecto o incluso el orden en que se muestran las diferentes opciones.

Fácil y sencillo.

35 comentarios:

  1. Hay que buena entrada!!... pero que no me ha servido. El problema es instalar el grub en un disco duro particionado en GUID/GPT en lugar de MBR. con bios uefi. ¿Dónde instalar el grub? He intentado instalar 12.04.1 junto a W7 en un pc con esas características, y no he podido arrancar ubuntu por que no he sabido instalar el grub compatible con GPT. ¿una ayudita???

    ResponderEliminar
  2. No me funciono amigo =( intente con varios tutoriales pero nada... No me aparece la opcion para arrancar con Ubuntu como sistema operativo, corre siempre de una vez windows.

    ResponderEliminar
    Respuestas
    1. Ramses...
      talves omitiste algun paso el tutorial funciona acabe de ptrobarlo...

      Eliminar
  3. Muchas gracias por esta excelente explicación, solucionó mi problema.

    ResponderEliminar
  4. Yo descubrí una forma más sencilla y gráfica. Iniciamos Ubuntu desde un LiveCD o USB en modo Live. En este Ubuntu instalamos Grub Customizer (vía PPA) y una vez corriendo dicha aplicación en Archivo, del propio programa, existe una opción de Instalar GRUB, y ya solo se pone en qué disco instalarlo. Y es todo. Listo. Compruébala.

    ResponderEliminar
  5. Me funciono al 100%.
    Gracias!

    ResponderEliminar
  6. Genial, muchas gracias. me ha costado al principio, porque lo estaba montando en otro sda, pero al final di, y es muy sencillo...

    muchas gracias carnal

    ResponderEliminar
  7. Hola me quedo en el paso 5, cuando pongo sudo chroot /mnt . Me sale esto:
    "chroot: fallo al ejecutar la orden «/bin/bash»: Formato de ejecutable incorrecto" ¿Antes de ejecutar esa orden tengo que entrar detro de alguna carpeta? Gracias ^^

    ResponderEliminar
  8. Muchas gracias por toda la información.

    ResponderEliminar
  9. Gracias!!! Arreglé el GRUB gracias a ustedes. Espero algún día adquirir suficiente conocimiento como para lograr hacer un aporte valioso como el que hacen ustedes. Saludos

    ResponderEliminar
  10. No pude tener exito. Todobien hasta - root@ubuntu:/# grub-mkconfig -o /boot/grub/grub.cfg
    Generating grub.cfg ...
    cat: /boot/grub/video.lst: No such file or directory. Y despues -
    root@ubuntu:/# grub-install --recheck /dev/sda
    Probing devices to guess BIOS drives. This may take a long time.
    Searching for GRUB installation directory ... found: /boot/grub
    The file /boot/grub/stage1 not read correctly. como no anduvo, probe - root@ubuntu:/# sudo update -grub2
    sudo: unable to resolve host ubuntu
    sudo: update: command not found
    y tampoco. Tiene solucion mi problema?

    ResponderEliminar
  11. jesus israel perales martinez12 de junio de 2013, 23:32

    este comando ayuda a cambiar el plymouth en fedora xD , no se por que no viene eso a la hora de cambiarlo

    grub-mkconfig -o /boot/grub/grub.cfg

    ResponderEliminar
  12. vacan me funciono a mil... pude recuperar mi ubuntu 12.04

    ResponderEliminar
  13. en esta parte "root@ubuntu:/# sudo update -grub2" ya estas como root entonces ya noes necesario que pongas sudo, solo ponlo asi:

    root@ubuntu:/# update -grub2

    ResponderEliminar
  14. Mil gracias!!!!! anduvo!!!

    ResponderEliminar
  15. En mi caso funcionó pero no arranca desde el disco duro sino que debe estar colocado el pendrive. Cómo hago para que inicie desde el disco duro? Mil gracias desde ya.

    ResponderEliminar
  16. Muchísimas gracias! Nunca había leido un recovery del GRUB tan sencillo!

    ResponderEliminar
  17. MIL GRACIAS AMIGO!!! Me has salvado con mas de una máquina!!!

    ResponderEliminar
  18. En el punto 3) dices que se monte la partición raíz en /mnt y, en el caso de tener una partición /boot aislada, en el punto 3.1) dices que la montemos también en /mnt/boot, pero,¿te refieras a la partición raíz o a la partición /boot?

    ResponderEliminar
  19. gracias, funcionó perfecto!

    ResponderEliminar
  20. Daniel Duran Aguilar30 de octubre de 2013, 4:49

    A mi no me funciona..... segui todos los pasos, no me arrojo ningun
    mensaje de error, pero cuando reinicio sigue iniciandose en windows 8,
    ya probe con grub customizer, boot repair y nada, tengo deshabilitada
    la opcion de inicio seguro en la bios, ademas el cuando ejecuto el sudo
    fdisk -l no me muestra todas las particione de mi disco duro...... mi sistema esta un una Toshiba SATELLITE L955-S5370

    ResponderEliminar
  21. Perfecto me ha sido de gran utilidad. Faltaría indicar que si se trata
    de un sistema de 64 bits, el Live-CD o Live-USB también debe ser de 64
    bits, lo mismo ocurre si es de 32 bits. Si no, fallará el comando sudo chroot /mnt

    Creo que esto es lo que te ocurre a ti, Alex.

    Un saludo

    ResponderEliminar
  22. Perdón la ignorancia, que es via PPA

    ResponderEliminar
  23. Hola a todos,

    Me quedo varada en el punto 3

    root@ubuntu:/home/ubuntu# sudo mount -t ext4 /dev/sda6 /mnt
    con el siguiente mensaje:
    mount: /dev/sda6 ya está montado o /mnt está ocupado


    Utilizo sda6 porque entendí que esa mi primer partición Linux, como muestra aquí abajo:

    Dispositivo Inicio Comienzo Fin Bloques Id Sistema
    /dev/sda1 * 63 614405924 307202931 7 HPFS/NTFS/exFAT
    /dev/sda2 614405986 976771071 181182543 f W95 Ext'd (LBA)
    /dev/sda5 614405988 915163442 150378727+ 7 HPFS/NTFS/exFAT
    /dev/sda6 972730368 976771071 2020352 82 Linux swap / Solaris
    /dev/sda7 91165184 968673279 26754048 83 Linux
    /dev/sda8 96867 5328 972720127 2022400 82 Linux swap / Solaris
    Tengo muy poca experiencia con ubuntu, por trabajo tenía una particion XP y tuve que cambiarla a Windows7. El virus Windows7 funciona, pero perdí el Grub para bootear desde ubuntu.
    Agradezco la atención.
    Saludos, desde Lanús, Buenos Aires, Argentina

    ResponderEliminar
  24. Un PPA es un repositorio aparte para aquellas aplicaciones que no están en los repositorios oficiales de Ubuntu, es decir, para esos programas que no encontrarás en el Centro de Software.

    Para instalar Grub Customizer añadiremos su PPA que es ppa:danielrichter2007/grub-customizer. Para añadirlo abre un terminal por medio del Dash o Tablero y en ella escribe:

    sudo add-apt-repository ppa:danielrichter2007/grub-customizer && sudo apt-get update

    Acepta todo y da ENTER cuando te lo pida y después instala el programa escribiendo en la terminal:

    sudo apt-get install grub-customizer

    Y ya podrás abrir el programa y encontrarlo en el Dash.

    ResponderEliminar
  25. Imperial Heigths9 de marzo de 2014, 7:49

    Inicias Ubuntu desde USB/CD, y escribes:

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    sudo apt-get install -y boot-repair && boot-repairen cinco minutos tienes arreglado el problema.
    :D

    ResponderEliminar
  26. Muy claro, entendí, muchas gracias.
    Saludos,
    Leticia

    ResponderEliminar
  27. Gracias por el tutorial; voy a probarlo ahora mismo.
    PD: en mi caso estoy tratando de restaurar el arranque de Windows y Ubuntu, que se han ido al carajo tras una actualización masiva de Debian.

    ResponderEliminar
  28. Gracias Fernando, mediante tu post he podido reinstalar el gindows 7 (que me lo carge haciendo una limpieza de virus X-P) sin tener que reinstalar ubuntu.

    ResponderEliminar
  29. algo me sucede todo transcurrio bien con los pasos explicados, pero la primera vez que reinicie no me dio la opcion de iniciar en windows, y ahora que prendo y apago ya solomente inicia en ubuntu que debo hacer?

    ResponderEliminar
  30. Un golazo tu post... Y es que lo que me sucedió es que el grub2 se murió, encendía mi Satellite y simplemente se reiniciaba, con mis datos intactos :( :( :(
    Pero con tu ayuda solucione todo :D Muchas Gracias!
    PD: opte por eliminar el <> en el sector 32, paso 7

    ResponderEliminar
  31. Roberto Gómez R.3 de marzo de 2015, 0:40

    Fantástico, casualmente mi instalación se parecía mucho a la de tu pantalla de ejemplo y todo ha salido perfectamente. Gracias. Sensei.

    ResponderEliminar
  32. Antes de iniciar la reparacion tenemos que desinstalar el grub y sus configuraciones:sudo apt-get remove --purge grub-common

    nos preguntara si queremos eliminar los archivos de configuracion; pulsamos la tecla "Tabulador" hasta que [Sí] se ponga en rojo y presionamos la tecla "Enter"
    También nos dice que el sistema no arrancará a menos que instales otro gestor de arranque, por lo que, No debemos de reiniciar hasta que volvamos a instalar grub-pc.

    Ahora ya podemos iniciar la reparacion!

    ResponderEliminar
  33. Eres un genio... esto tan sencillo resolvió en 5 minutos el problema.... Te lo agradezco!

    ResponderEliminar
  34. Ojalá los responsables de este sitio fuesen tan agradecidos como tú.

    ResponderEliminar