Cómo recuperar Grub 2 sin utilizar un live cd

101
105572

A veces, GRUB 2, el gestor de arranque que viene por defecto con muchas distribuciones Linux, deja de funcionar.Gran parte de las veces deja de funcionar porque por alguna razón intenta arrancar desde un dispositivo erróneo o que no existe, debido a una mala configuración del programa.

Aquí presentamos un breve tuto para solucionar este problema sin necesidad de utilizar un livecd para realizar el rescate.



En esos casos nos deja en un prompt de la consola de rescate de GRUB.

grub rescue

Puede parecer un poco complicado pero es sencillo y te puede salvar más de una vez. Primero accedé a la lista de particiones disponibles:

ls

Este comando mostrara las particiones disponibles, asi:

(hd0) (hd0,1) (hd1) (hd1,1) (hd1,5) (hd2) (hd2,1) (hd3) (hd3,1)

Ahora hay que descubrir qué partición contiene la carpeta /boot/grub, con todos los datos necesarios para arrancar. Para ello, bastara con ir haciendo un “ls” para cada una de las particiones, así:

ls (hd1,1)/

… lo mismo cabe para el resto de las particiones.

¡No te olvides de la barra / al final!

Una vez descubierta la partición en la que se encuentra la carpeta boot, añadimos el prefijo correspondiente para que GRUB sepa dónde se encuentra:

set prefix=(hd1,1)/boot/grub
No olvides cambiar (hd1,1) por la partición adecuada en tu caso.

Finalmente, ingresá el siguiente comando:

insmod (hd1,1)/boot/grub/linux.mod

Configurá la partición root:

set root=(hd1,1)

Cargá la imagen del kernel Linux:

linux /boot/vmlinuz-2.6.32-23-generic root=/dev/sdb1

Si no sabés qué versión del kernel tenés instalado, podés ejecutar el comando “ls” en el directorio boot para descubrirlo.

La nomenclatura del punto de montaje sdb1, viene dada por el nombre de la partición: (hd1,1) es sdb1, del mismo modo que (hd0,2) sería: sda2.

Ahora falta cargar el kernel:

initrd /initrd.img

Y, finalmente, podés reiniciar:

boot

Una vez dentro del sistema, es recomendable reinstalar GRUB para evitar este error en la próxima carga:

grub-install /dev/sdb

Fuente: Quimateur

101 COMENTARIOS

  1. al hacer ls las particiones q me marca son: (hd0) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1) … la carpeta boot/grub se encuentra en (hd0,msdos6)… cual seria la sintaxis para el comando “linux /boot/vmlinuz-2.6.32-23-generic root=/dev/sdb1”?? es decir q debo poner en lugar de sdb1? .. intente probando algunos valores a modo de prueba y error pero siempre conel mismo mensaje de error: file not found….

    • dijiste que la carpeta /boot/grub se encuentra en (hd0,msdos8), entonces en el comando “linux /boot/vmlinux…” devesw poner “root=/dev/sda8” porque tu particion hd0,msdos8 equivale a sda8 en linux, espero que te sirva mi ayuda.

  2. En primer lugar, expliquemos el origen de las letras:

    sda –> se denomina a los discos que son SATA (Serial ATA) y creo
    que también los SCSI

    hda –> son los PATA (Paralel ATA, los que tienen el viejo conector IDE)

    Por otro lado, la tercera letra tiene que ver con el orden de los discos:
    sda –> seria el primer disco rígido

    sdb –> seria el segundo

    El origen de los números:

    sda es todo el disco rígido

    sda1 seria la primera partición de este disco rígido

    sda2 seria la segunda partición del mismo disco rígido

    Saludos! Pablo.

  3. Una pregunta? El grub de mi máquina está bien solo que he notado que tengo dos opciones de arranque de mi windows, uno termina en sda1 y el otro sdb1 creo? que quiere decir esto?

  4. En los apuntes que voy tomando desde hace 4 años (el que llevo unicamente en GNU/Linux) tengo otra anotación; ¿Es valida todavía?
    sudo grub
    find /boot/grub/stage2
    root (hdx,x)
    setup (hdx) ->aquí dudo de si lo apunté bien, ya que al indicar todo el disco entero no deberia llevar los paréntesis
    quit

  5. Hola
    tengo un problema parecido, yo lo he borrado. Como puedo reeinstalarlo. Me da el siguente error

    Missing operating system.
    error: unknown filesystem.
    grub rescue

  6. hola soy casi nuevo en linux y los comandos pero si pueden resolver mi duda en el ultimo paso me arroja un error de no encontrado
    (initramfs) grub-install /dev/sdb7 // o (sdb)
    /bin/sh: grub-install: not found

  7. emm, me da el siguiente error: file ‘/grub2/i386-pc/normal.mod’ not found.

    y me envia a grub rescue>

    donde intenté lo que viene aquí, sin embargo yo tengo raids en mirror…

    ahora, al momento de la instalación me aparece que es por mbr… mientras que yo creo una particion mirror /boot. (no tengo idea si este bien eso o si lo dejo en /)…

    ahora cuando intento el siguiente comando de cargar la imagen de linux me dice que no existe sdb1, ni sdb2, intento con el raid md0 y tampoco…

    alguna sugerencia?… gracias

  8. hola que tal
    una pregunta
    lo que pasa esque en todas las particiones que hay en mi disco duro en todas me aparece despues de aplicar el “ls (hd…) ” error: unknown filesystem.
    ¿Qué puedo hacer en este caso?
    ayuda por favor

  9. Voy a copiar esto e intentaré seguirlo paso a paso ; si quiero usar linux no tengo otra solución que manejarme con la terminal aunque me de miedo

    Estoy en ubuntu en este momento ,porque en el otro equipo hice ta te ti con el grub
    y nunca más pude entrar al mint y no tengo el live cd xq me lo instalaron
    Aunque yo bajara un mint de internet ya no sería el mismo ¿verdad ? ¿ y no me sería útil?
    Qué bueno si alguien me pudiera responder a mi mail

    • Bien, quizá ya es demasiado tarde xD pero es lo mismo, no importa la versión, el LiveCD sólo lo usas para cargar la configuración del GRUB o “Reinstalarlo” por ello bien podrías usar cualquier LiveCD de alguna distro que cargue con el GRUB (Aún no estoy muy seguro de si todas “jalan” con el grub, porque he visto otros gestores de arranque), probablemente a estas alturas ya lo sepas, o alguien más te haya respondido a tu correo.

  10. Genial!, muy buena guía, no sabía que se podía recuperar sin un live cd. =)

    Preguntilla: Es posible que armen un PDF con todos los artículos o TIPS hechos en este blog?
    Hay tantos post útiles, que me encantaría tenerlos en un PDF e imprimirlos =).

    Gracias! =D

  11. Hola! Me acabo de dar cuenta que es necesario dejar un espacio entre el “ls” y el paréntesis que contiene el nombre de la partición. Sin ese, o esos espacios, no se mostrará nada. DLB!

  12. Lo intenté ,pero me da unknown filesystem ¿podría ser un problema de hardware ? porque a pesar de tener la batería nueva se modifica la fecha Es ubuntu 11.10 ,Si el problema ya está en el setup ,es difícil dar una solución ¿o si se puede ?

  13. usen el mini sistema operativo Puppy Linux que sirve para arreglar el Grub, este se instala en un pendrive y se bootea desde el mismo luego seleccionan el programa que viene con el sistema que se llama grub for dos, y alli aparecen los sistemas operativos instalados en la computadora, es muy sencillo no se compliquen la vida, yo llevo bastante tiempo aplicando el mimso método despues de instalar el Windws despues del Linux

  14. Necesito ayuda

    Tengo un portátil con triple boot (Windows 7 Ultimate, Ubuntu 14.04.1 LTS y Mac Os Snow Leopard)
    Los tres sistemas funcionan perfectamente (Mac mas o menos) pero desde que recuperé el grub no consigo configurarlo como quiero. Os pongo la lista que me gustaría tener:

    Windows 7 Ultimate (*)
    Ubuntu 14.04.1 LTS
    Mac Osx Snow Leopard
    Opciones avanzadas de Ubuntu
    Ubuntu…
    Ubuntu…
    Ubuntu…
    Ubuntu…
    Mem test
    Memtest86x…
    Memtest86x…

    El asterisco es el predefinido y lo que está mas metido es lo que esta dentro de un submenú (Similar a como aparecería en Grub customizer)

    Para empezar los memtest no me aparecen ni en grub ni en burg.
    Intento configurarlo en burg, pero en este no me aparece la versión por defecto de Ubuntu, solo las opciones avanzadas de las cuales me sirven las versiones en las que no pone recovery, pero no carga igual.
    Por ultimo no consigo hacer que en las entradas que he metido de forma manual (La de mac y un intento de reescribir la versión original de ubuntu) tengan su icono, aparece un circulo azul con una interrogación.

    Se que es mucho lio lo que estoy preguntando, pero es que ya estoy desesperado y no se que hacer para que salga bien…

      • ok, lo acabo de hacer, muchas gracias por el consejo. Por si alguien va a responder aquí tengo que añadir que los memory test los he sacado de otro ordenador con ubuntu y parece que funcionan. Si alguien sabe si eso esta mal que avise.

    • Hola daniel!

      Creo que sería mejor que plantees esta consulta en nuestro servicio de preguntas y respuestas llamado Ask DesdeLinux a fin de que toda la comunidad pueda ayudarte con tu problema.

      Un abrazo, Pablo.

  15. Cuando llego al comando insmod…..boot/grub/linux.mod
    Me da: error: file ‘boot/grub/linux.mod” not found
    Como le hago? Porque en una sola partición tengo boot. En. Ninguna otra esta boot.
    Desde ya gracias

  16. Hola. Ingreso el comando ls y me aparece la lista de particiones, así:

    (hd0) (hd0,msdos1) (hd1) (hd1,msdos6) (hd1,msdos5) (hd1,msdos1) (hd2)

    busco cada una con el ls (hd0), etc, pero en todas me aparece “error: unknown filesystem

    como continúo?

    • Hola Germán!

      Creo que sería mejor que plantees esta consulta en nuestro servicio de preguntas y respuestas llamado Ask DesdeLinux a fin de que toda la comunidad pueda ayudarte con tu problema.

      Un abrazo, Pablo.

      • me aparece error file no found,cuando pongo insmod y lo demas,que puedo hacer? ya probe con poner boot y poner insmod linux solo.Tenia linux y windows 7 y borre la particion de linux.Te agradeceria mucho que me ayudes,desde ya muchas gracias!

  17. hola mi problema es el siguiente aplico el comando ls pero llego hasta que me da en mi caso tres particiones pero ninguna me sale como la que tiene boot root

  18. Que estoy bloqueado y desesperado con esto. No puedo utilizar mi equipo por este problema. Sigo todas vuestras indicaciones, pero cuando llego a la parte insmod con cualquiera de las combinaciones que proponéis SIEMPRE me sale mensaje de error: incompatible license.

    ¿Qué puedo hacer?. Ayuda porfa

  19. Hola, hace días que tengo un grave problema. Buscando en muchos lugares y luego de hacer varias cosasque recomendaban llegue a que mi pc solo arranca desde grub rescue y eventualmente puedo acceder como root si presiono al iniciar f1 o f2 o varias (la verdad no se como llega pero llega)
    en fin, al tratar de seguir todo este procedimiento que tu y muchos otros mencionan me encuentro frente al grave problema de que en /boot/grub no hay ficheros!!!! y por tanto no encuentro linux.mod
    Que hago?? Por favor necesito solucionar este problema y ya no se que hacer. No puedo formatear todo, eso seria lo ultimo. necesito recuperar archivos del disco que se aun están ahí!!! luego solo quiero tener linux en esa maquina así que no necesito (creo) grub.
    Si puedes orientarme te lo voy a agradecer enormemente!!!

  20. El grub parece solo listarme el (hd0) que puede ser???
    La estructura del disco es
    Part primaria (win7)
    Part extendida
    Part ntfs (datos)
    Part SWAP
    Part BRTFS (raiz)
    Part XFS (home)
    Me estuvo andando un tiempo pero al cambiar el sistema por defecto y toquetear un poco,
    el grub murio.

  21. Hola por favor preciso que me ayudes … al intentar cargar el kernel con el comando : “linux /boot/vmlinuz-3.13.0-36-generic root=/dev/sda1” (mi particion es (hd0,gpt1) no se si esta bien el “sda1” ) me aparece “file not found” …… Que debo hacer ???? Desde ya muchas gracias !

  22. Hola ya puse los comandos como aquí lo dice y no pasa nada al poner set me sale esto se prefix=(hd0,2)/blót/grub/robot=hd0,2 ojala me puedas ayudar.

  23. Hola, a mi en la pantalla despues de que prende solo dice GRUB_ y nada màs, no me deja escribir ningun comando, que podrìa hacer?. Gracias.

    • Hola! Antes que nada, disculpas por la tardanza en contestar.
      Te sugiero que utilices nuestro servicio Ask Desde Linux (http://ask.desdelinux.net) para realizar este tipo de consultas. De esa forma podrás obtener la ayuda de toda la comunidad.
      Un abrazo! Pablo

  24. hola, tengo problemas,al momento de insertar insmod (hdp0,gpt7)/boot/grub/linux.mod me dice error: file /boot/grub/linux.mod not found, que hago en ese caso?? no me deja continuar, que debo hacer? por si acaso el boot si esta en (hd0,gpt7)

  25. Saludos cordiales, soy nuevo en linux pero muy interesado en el tema, esto fue lo que me paso a mi:

    error: unknown filesystem.
    Entering rescue mode…
    grub rescue> ls
    (hd0) (hd0,msdos1) (hd1) (hd1,msdos1) (fd0)
    grub rescue> ls (hd0)/
    error: unknown filesystem.
    grub rescue> ls (hd0,msdos1)/
    error: no such partition.
    grub rescue> ls (hd1)/
    error: unknown filesystem.
    grub rescue> ls (hd1,msdos1)/
    error: unknown filesystem.
    grub rescue> ls (fd0)/
    error: failure reading sector 0x2 from ‘fd0’.

    Mi pregunta al final es que me esta diciendo esto? entiendo que si marca un error en sectores de lectura es probable que el disco duro ya no sirva, pero lo anterior podría rescatar algo de información?

    • Hola! Antes que nada, disculpas por la tardanza en contestar.
      Te sugiero que utilices nuestro servicio Ask Desde Linux (http://ask.desdelinux.net) para realizar este tipo de consultas. De esa forma podrás obtener la ayuda de toda la comunidad.
      Un abrazo! Pablo

    • Hola! Antes que nada, disculpas por la tardanza en contestar.
      Te sugiero que utilices nuestro servicio Ask Desde Linux (http://ask.desdelinux.net) para realizar este tipo de consultas. De esa forma podrás obtener la ayuda de toda la comunidad.
      Un abrazo! Pablo

  26. Estimados,

    Tal como les pasò a muchos, tuve el mismo inconveniente y me quedaba en el error: file ‘boot/grub/linux.mod” not found
    Encontrè otra soluciòn mas sencilla, acabo de bootear mi sistema y estoy escribiendo estas lìneas, no es de mi autorìa, por lo que cito la fuente.

    Basicamente debemos seguir los pasos de buscar con ls donde està la particion que contenga la carpeta con /boot/grub/
    A los que tambièn les sucediò lo de “error: unknown filesystem”, es cierto que aparece en algunas particiones, o en casi todas, tambièn me pasò, pero tiene que haber UNA donde te aparezca todo el arbol de directorios (en mi caso NO hice una particion aparte para la carpeta /boot)
    Bien, por ejemplo, en mi caso fue (hd0,msdos1).

    Tengan paciencia, hagan ls en todas las particiones, yo tenìa (hd0,msdos1); (hd0,msdos2); (hd0,msdos3); (hd0,msdos4); (hd0,msdos5) y (hd0,msdos6) y habìa empezado de atràs para adelante… cuando encontrè mi carpeta de usuario (para /home sì hice una particion aparte) me di cuenta que ya estaba cerca, el resto igual me seguìa saliendo “error: unknown filesystem”, hasta que finalmente di con la indicada, que como ya les comentè era (hd0,msdos1).

    Ese es todo el dato que necesitamos saber.
    Luego serìa adaptar lo siguiente a cada caso.

    set boot=(hd0,msdos1)
    set prefix=(hd0,msdos1)/boot/grub
    insmod normal
    normal

    Apenas apretamos enter despues de introducir normal, nos aparece nuestro menu de grub tal como estaba antes! Es realmente satisfactorio ver que era tan fàcil.

    Me resta averiguar que pasarà cuando reinicie, pero al menos ya tenemos nuestro sistema nuevamente funcional.

    Espero que les sirva.

    Saludos a todos!!

  27. Brian !

    Seguro es el (hd0,msdos7)

    Entonces haces esto=

    set boot=(hd0,msdos7)
    ser prefix=(hd0,msdos7)/boot/grub
    insmod normal
    normal

    y luego de esto te aparecerá nuevamente tu grub

    Suerte y saludos !

  28. HOla que hay tengo un problema con eso mi canaima es de las nuevas y tengo linux 4.0 e puesto el comando insmod (hd0,msdos2)/boot/grub/linux.mod y cambie el linux por boot y aun me sale el error invalid object file.
    y tambien puse linux /boot/vmlinuz-3.13.0-generic root=/dev/sda2 y me sale Unknown command “linux” que hago AYUDA POR FAVOR

  29. GRUB loading.
    error: file not found.
    Entering rescue mode…
    grub rescue>

    tengo este problema al aplicar el ls solo me aparece (hd0) (hd0,msdos2) (hd0,msdos1)
    aplico
    set boot=(hd0,msdos1)
    ser prefix=(hd0,msdos1)/boot/grub
    insmod normal
    normal
    pero luego de ejecutar esta linea
    insmod normal
    sea para msdos1 o msdos2
    se genera un error que dice unknown filesystem
    agradeceria su ayuda

  30. Hola miren bueno, espero nadie tenga este problema que a mi ya me queria hacer chillar pero despues de 3 horas desvelado por fin pude hayar la manera de solucionarlo. Si a alguien de pura casualidad le botara error con “insmod” (Por ejemplo boot/grub/i386-pc/mod no existe) o algo asi, tan solo repitan el paso para hacerlo root pero haciendolo boot “set boot= (hdaX,msdosX) y ya los dejara continuar con el comando insmod normal, normal y listo.

  31. Hola, seguí tus pasos pero ninguno de los comandos me da…. después de colocar ls, me sale (hd0) (hd0,msdos3),(hd0,msdos2),(hd0,msdos1)
    Los coloque a todos con / al final y nada…. y ahora q hago 🤔

Dejar una respuesta