Recupera el grub que te ha quitado Windows

La situación

Ayer mismo estaba instalándole, desde cero, el Windows XP al PC de mi tí­o. Hasta hace unas semanas, sólo tenía instalado Windows y le comenté la posibilidad de instalar otro sistema operativo, GNU/Linux, para que lo probara. Así­ que le instalé Ubuntu.

Sin embargo, hací­a tiempo que su Windows XP iba realmente mal, ya se sabe, así­ que me dijo si podí­a formatear la partición en la que estaba e instalarlo desde cero, todo limpito. A ello me puse y cuando terminé la instalación y reinicié… ¡pasó del gestor de arranque! Es decir, no me cargaba grub para dejarme elegir el sistema operativo a cargar, sencillamente se cargaba Windows XP. Eso no se hace, Microsoft…

La solución

Quizás tení­a que haberme imaginado que pasaría eso, pero es que nunca habí­a instalado un XP (en mi vida sólo he instalado Windwows 98 SE…), ya que podrí­a haber creado un disco de arranque con el grub, pero veamos cómo lo solucioné.

Nos descargamos alguna distribución live de GNU/Linux, ya sabéis esas que se instalan en la memoria, te dejan un linux listo para usarlo y todo configurado automáticamente y cuando apagas el PC, se borra y te deja todo como estaba. Os recomendarí­a descargar la popular Knoppix, pero cualquier otra vale también.

Cuando estemos ya en la live, vamos a la consola y nos identificamos como superusuario (root). En Knoppix hay un icono que pone consola de root. Ahora reinstalaremos el grub, entrando en grub 😛

root@linux:/# grub

Y estaremos dentro del grub:

    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

       [ Minimal BASH-like line editing is supported. For
         the first word, TAB lists possible command
         completions. Anywhere else TAB lists the possible
         completions of a device/filename. ]

grub> 

Buscamos dónde está instalado el grub (en el caso de no saberlo):

grub> find /boot/grub/stage1

Nos devolverá algo como (hd0,0), que puede variar según tu sistema.

El gestor de arranque grub numera las particiones siguiendo este esquema: (hddiscoduro, partición). Por ejemplo, (hd0, 0), serí­a la primera partición del disco primario, es decir: /dev/hda1. Si tenemos (hd0) se refiere a /dev/hda. (hd1,1) serí­a /dev/hdb2, un segundo disco duro, y así­ para el resto.

En este caso, grub está instalado en /dev/hda1. Ahora escribimos:

grub> root (hd0,0)

De esta manera le estamos diciendo a grub dónde está instalado.

Recuerda que tendrás que poner lo que te haya devuelto el comando anterior, aquí sencillamente pongo un ejemplo concreto.

Ya queda poco. Venga, escribe:

grub> setup (hd0)

Con el comando anterior lo instalamos en el sector de arranque (MBR) del disco duro primario.

Y para acabar:

grub> quit

Así­ salimos del grub y se comprobarán los cambios. Ahora toca reiniciar y hale, a dar gracias al mundo de GNU/Linux y el software libre 😉

28 comentarios en “Recupera el grub que te ha quitado Windows

  1. Realmente funciona muy bien, gracias Tempwin por publicar estos tips para todos los novatos como yo que quieren empezar usar ubuntu y cooperar para cambiar el mundo jeje.

  2. a mi no me soluciona el problema. bueno esque el problema no es el mismo. Yo reinstale el windows y cuando toca reiniciar no me accede ni siquiera a windows por lo tanto la instalacion no finaliza y digo bueno.. pues ahora configurare el GRUB de nuevo para poder acceder a linux y provar a ver si puedo acceder a windows y nada configuro el grub y cuando estoy en el menu, selecciono el inicio de windows y nada que me da error (y esque ya he probado con todas las particiones del disco duro)…… sniffff

  3. victor, no entiendo muy bien tu problema. Tení­as instalado Windows y Linux en la misma máquina y ¿quisiste instalar de nuevo Windows? ¿Qué versión de Windows? Al reiniciar, ¿te aparece el grub? Si te deja elegir Windows, ¿qué error te da?

  4. Yo tenia Win e instale Ubuntu (tengo los dos) y todo bien, salvo problemillas de novato y desconocimiento que siempre pude arreglar.

    Mi problema es que ayer al cambiar de sesion se me tildo, reinicie y me aparecio:

    [ Minimal BASH-like line editing is supported. For
    the first word, TAB lists possible command
    completions. Anywhere else TAB lists the possible
    completions of a device/filename. ]

    grub>

    segui exactamente este tutorial, pero siempre me aparece lo mismo. Tambien use un LiveCD que supuestamente arregla este problema, me dice que esta todo ok, pero al reiniciar aparece lo mismo.

    Con el LiveCD de Ubuntu pude ver que als particiones estan aun alli y a sugerencia de otro Ubuntero,mire el boot/grub/menu.lst y veo que no hace ninguna alusion a Windows

    ¿alguna sugerencia?

  5. Auringal, antes de que te ocurriese ese problema, ¿instalaste o desinstalaste algo? Este tutorial es para reinstalar el grub para aquellos casos en los que no arranca, pero en tu caso sí se accede al grub. De todos modos, ya que al encender el ordenador te entra en el menú del grub, puedes probar a seguir las indicaciones que se dan aquí en lugar de hacerlo desde una distribución live.

  6. Si te fijas, comento en el post que “nos identificamos como superusuario (root)”. Para ello basta con escribir en una consola $su y meter la contraseña del administrador. Quizás debí de haberlo aclarado en el post.

  7. De muucha utilidad ha sido este post…muchas gracias.Por fin puedo elegir de new que operativo arrancar sin caer en la dictadura de microsoft.
    Graciñas.

  8. Estuve intentando hacer esto desde un live cd de ubuntu hardy heron. Y mi primer problema es que, cuando quiero ingresar como root, me pide una clave de usuario, pero como es un live cd, no tengo idea cuál es esa clave.
    JA, que infantil!

    Saludos.

  9. (1º, gracias TempWin por contestar, muy amable =)

    Claro!, yo lo intentaba con “su” pero no con “sudo su”.
    Genial, hice todo tal cual y ¡resultó!, apareció el santo grub, pero no salió del todo bien porque cuando intento entrar a ubuntu, me aparece:

    Error 17: cannot mount selected partition (no puede ¿montar? partición seleccionada).

    pero con window$ no me aparece ningún error, de hecho, estoy en Win ahora escribiendo esto.

    (Por cierto, desde que instalé Ubuntu y tuve que elegir un S.O. mi cpu pasó de dar dos pitidos al encender, a cuatro (cinco, pues debía, además, presionar F1 para continuar y pasar al grub y al presionarlo, también emitia un pitido adicional).
    Desde que reinstalé Win y se comió mi grub, volvió a los dos pitidos (sin necesidad de presionar F1) de antes. Yo esperaba que, si volvía a aparecer el grub, volvieran los cinco pitidos, pero no, se quedó con dos (y sin tener que presionar F1) lo que me pareció realmente fantástico. Y así, exitado me encontraba, cuando apareció el maldito ‘Error 17’ y se jodió todo =D )

  10. Bueno, Freddy, para quitarte el susto, que sepas que ese error es bastante normal entre los que instalan Windows y tienen otro sistema operativo. Lo más probable es que el GRUB trate de arrancar desde un disco duro que no contiene un sistema operativo o que sus opciones no son correctas.

    Primero debemos saber cómo está configurado tu/s disco/s duro/s. Con el live cd de Ubuntu que tienes por ahí, abre un terminal y, como root (que ahora ya sabes ;-), escribes: # fdisk -l. Ese comando muestra las particiones de tu/s disco/s duro/s.

    GRUB lee un archivo (/boot/grub/menu.lst) que contiene información sobre de dónde tiene que arrancar cada sistema operativo y puede ser que esta información sea incorrecta. Por ejemplo, que ahí aparezca que Ubuntu está en la primera partición del disco duro principal (si tienes más de uno) y realmente esté en la segunda partición. Para eso usamos el comando de arriba. Como no sé cuál será tu caso, envíame un e-mail (tempwinARROBAgmail.com) con el resultado de dicho comando y te voy guiando. Así, cuando lo soluciones, comentas aquí el proceso 🙂

  11. Ya, con la invaluable ayuda de Temp, pude acceder de una jodida vez a mi ubuntu:

    Básicamente, el error que me entregaba (Error 17) indicaba que, la información sobre dónde debe arrancar cada sistema operativo no está correcta. Ésta información se encuentra en el fichero ubicado en /boot/grub/menu.lst (de la partición de Linux que se quiere arrancar, está claro no? =)

    Para solucionarlo, debemos modificar la información de /boot/grub/menu.lst, pero no sin antes saber algunas cosas: por ejemplo, cuántos discos duros tenemos en el pc y sus respectivas particiones (para saber eso tecleamos en la terminal “# fdisk -l” desde el live cd). Teniendo claro eso, podemos meterle mano al archivo /boot/grub/menu.lst para indicarle directamente desde ahí a nuestro grub, dónde está nuestro sistema operativo.

    Analizando la información entregada por “# fdisk -l” (que nos dice cuántos discos duros y cuántas particiones tenemos), abrí el archivo menu.lst (/boot/grub/menu.lst) y modifiqué lo siguiente:

    en este archivo (texto), justo luego de donde dice “## ## End Default Options ## ##” hay que buscar “hd(X,x)” que aparece varias veces de ahí en adelante (donde la primera X corresponde al disco duro y la segunda x corresponde a la partición) ahí está el error, y eso es lo que hay que modificar, cambiando el número por los que corresponda -según el disco duro y la partición donde se encuentre el sistema operativo que queremos- a todas las “hd(X,x)” que encontremos de “## ## End Default Options ## ##” en adelante.

    En mi caso, tengo varias particiones, y como no tenía claro en cuál de todas se encontraba mi ubuntu, intenté primero con una partición, como me dio otro error (Error 15: file not found) intenté con otra partición, hasta dar con la correcta.

  12. Hola amigos. Les cuento mi problema. Instalé Ubuntu teniendo instalado Windows. No tenía ningún problema. El GRUB me tiraba perfectamente, es decir, me aparecían los 2 SO al principio y yo seleccionaba el que quería utilizar. El caso es que decidí actualizar mi versión de Ubuntu, descargando paquetes y todo eso (mi versión era la 7.10) y la actualicé con la que me decían que era la más actual, la 8.04 creo recordar. La instalación tardó alrededor de 45 minutos. Descargó e instaló paquetes nuevos, borró los antiguos, etc, etc. Cuando terminó se reinició el sistema y al arrancar de nuevo me apareció el famoso mensajito de :

    [Minimal BASH-like ….
    > grub

    Entonces realicé todos los pasos que he ido leyendo: find boot/ grub/stage1, root (hd0,5), setup(hd0), reboot, pero me sigue apareciendo lo mismo. Yo lo que quiero es tener el menú anterior que me dejaba seleccionar Windows o Linux. Si inicio con el CD de windows para poner lo de fxmbr me arranca windows directamente y si instalo el grub con super grub disk me vuelve a aparecer lo de “Minimal …
    ¿Alguien me puede ayudar? Muchas gracias.

  13. Hola,
    escribo aqui porque no consigo recuperar el grub de ubuntu 9.04 tras la reinstalacion de windows en mi computadora.
    He probado el metodo que comentan al principio de este tutorial y siempre me encuentro con que la salida para ‘find /boot/root/stage1’ es ‘(hd0,1)’. Cuando intento ejecutar una operacion del estilo ‘root(hdx,y)’ el resultado es: Error 27: Unrecognized command.
    A grub lo llamo siendo root.

    Alguna idea de que es lo que puede ocurrir?

    Muchas gracias

    Jorge

    1. Hola, Jorge

      El error 27 del GRUB se debe a que no reconoce lo que has escrito, quizás porque lo has tecleado mal o lo has escrito junto, sin espacios. Comprueba que sigues el tutorial al pie de la letra. Quizás también haya algo incorrecto en el fichero menu.lst, pero primero vayamos despacito, y, si no hay suerte, estaré aquí para echarte una mano en lo que sea 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *