66 votos

Grub rescate - error: sistema de archivos desconocido

Tengo un sistema multiarranque instalado. El sistema tiene tres unidades. El multiarranque está configurado con Windows XP, Windows 7 y Ubuntu, todos en el primer disco. Me quedaba mucho espacio sin dividir en el disco y lo reservaba para añadir otros sistemas operativos y para almacenar archivos en el futuro.

Un día me adelanté y descargué el Asistente para Particiones y creé una partición lógica NTFS desde dentro de Windows 7, aún queda algo de espacio sin particionar. Todo funcionó bien, hasta que reinicié el ordenador unos días después.

Ahora me estoy poniendo:

error: unknown filesystem.  
grub rescue>

En primer lugar me sorprendió no encontrar ningún tipo de comando de ayuda, al intentarlo:

help , ? , man , --help , -h , bash , cmd etc.

Ahora estoy atascado con el sistema no arrancable. He empezado a investigar el tema y he descubierto que la gente suele recomendar boot a un CD en vivo y arreglar el problema desde allí. ¿Hay alguna manera de arreglar este problema desde dentro Grub rescate sin necesidad de Live CD?

ACTUALIZACIÓN

Siguiendo los pasos de persistir los comandos mecanografiados a Grub rescate fui capaz de boot para inducir a los initramfs. Pero no más allá de eso.

Hasta ahora no he leído el manual de Grub rescate pude ver mis discos y particiones usando ls comando. Para el primer disco duro veo lo siguiente:
(hd0) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)

Ahora sé que (hd0,msdos6) contiene Linux en él, ya que ls (hd0,msdos6)/ lista de directorios. Otros darán "error: sistema de archivos desconocido".

ACTUALIZACIÓN 2

Después de las siguientes órdenes, ahora estoy llegando a la boot menú y puede boot en Windows 7 y Ubuntu, pero al reiniciar tengo que repetir estos pasos.

ls
ls (hd0,msdos6)/
set root=(hd0,msdos6)
ls /
set prefix=(hd0,msdos6)/boot/grub
insmod /boot/grub/linux.mod
normal

ACTUALIZACIÓN 3

Gracias Shashank Singh, con tus instrucciones he simplificado mis pasos a lo siguiente. He aprendido de ti que puedo reemplazar msdos6 con sólo un 6 y que puedo hacer insmod normal en lugar de insmod /boot/grub/linux.mod . Ahora sólo necesito averiguar cómo guardar esta configuración desde dentro Grub en sí mismo, sin arrancar en ningún sistema operativo.

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

ACTUALIZACIÓN 4

Bueno, parece que es un requisito para boot en Linux. Después de arrancar en Ubuntu he realizado los siguientes pasos descritos en el manual :

sudo update-grub
sudo grub-install /dev/sda

Esto no resolvió el problema. Todavía tengo el Grub de rescate. ¿Qué tengo que hacer para arreglarlo permanentemente?

También he aprendido que los números de unidad como en hd0 necesitan ser traducidos a letras de unidad como en /dev/sda para algunos comandos. hd1 sería sdb, hd2 sería sdc, y así sucesivamente. Las particiones listadas en Grub como (hd0,msdos6) se traduciría a /dev/sda6.

ACTUALIZACIÓN 5

No pude entender por qué lo siguiente no arregló Grub :

sudo update-grub
sudo grub-install /dev/sda

Así que descargué boot -reparación basado en una respuesta de https://help.ubuntu.com/community/ boot -Reparación poste. Eso pareció funcionar después de que escogí la opción "Reparación recomendada (repara los problemas más frecuentes)".

0 votos

zdnet.com/ también tiene información útil sobre este tema.

0 votos

Teniendo un problema similar, pero en el mío live USB también es inútil goo.gl/Mr61V1

0 votos

Cambiando el orden de arranque, iniciando desde el CD de recuperación de Windows 7, iniciando el terminal, escribiendo "Bootrec.exe /FixMbr" (sin comillas) y reiniciando se solucionó mi problema.

26voto

jhamu Puntos 493

No pude entender por qué lo siguiente no arregló Grub :

sudo update-grub
sudo grub-install /dev/sda

Así que descargué boot -reparación basado en una respuesta de persistir los comandos mecanografiados a Grub rescate poste. Eso pareció funcionar después de que escogí la opción "Reparación recomendada (repara los problemas más frecuentes)".

También he usado Grub Customizer para personalizar el orden de boot entradas.

0 votos

No funcionó porque, después de ejecutar el último comando, habría que volver a ejecutar sudo update-Grub. En una sesión en vivo, tendría que montar el sistema de archivos de destino a mnt, chroot en el sistema de archivos y luego tendría que ejecutar sudo update-Grub desde el chroot.

0 votos

Usando la información de esta respuesta (instalando y usando boot-repair) y de la pregunta, funcionó para recuperar en un netbook Acer donde había elegido un ítem equivocado en el menú Grub, "Entorno de recuperación de Windows" (cargador) (en /dev/sda1 )" durante el tiempo de arranque.

8voto

Nelson Puntos 158

1. set prefix=(hdX,Y)/boot/grub Use the values determined earlier. Example: If the Ubuntu system is on sda5, enter: set prefix=(hd0,5)/boot/grub 2.* set root=(hdX,Y) Example: set root=(hd0,5) 3. insmod normal Attempt to load the normal module. 4. normal

Nunca he intentado un rescate de Grub, pero desde que leí sobre ello, sólo tengo curiosidad. ¿qué conseguiste cuando intentaste establecer root=(hd0,6)/ boot /¿Grupo y el siguiente insmod normal?

Básicamente necesitamos que Grub sepa dónde está el boot /Carpeta de la abuela es. Si esto no funciona, supongo que hacer una instalación de Grub desde un boot el cd es una buena opción

Me alegro de que te haya funcionado. Me enteré de la boot -reparar el disco de esto. Puede ser útil. Sin embargo, el Grub-install debería haber funcionado. ¿Dijo la terminal algo en particular después de ese comando?

0 votos

Gracias por su ayuda. Creo que mi problema puede haber sido que mi directorio de arranque está en /dev/sdb, no en /dev/sda. Pero boot-repair lo arregló automáticamente, así que no tuve que hacer nada más.

7voto

Nil Puntos 558

Hay una causa alternativa para este problema. En este caso particular, Grub estaba de alguna manera corrompido y necesitaba ser reparado o reinstalado. Sin embargo, como se muestra en este hilo también es posible que la partición root en la que está instalado Grub esté corrompida. Para arreglar esto:

Esta es una posible solución, pero no debe ser usada probablemente para que no se corrompa más la partición de root. Ejecutando el comando: fsck -t ext4 /dev/sda1 Este programa intenta buscar y reparar errores en un sistema de archivos corrupto. Reemplazó sda1 con su actual partición root. Reemplaza ext4 con el sistema de archivos real, tienes que conocer el sistema de archivos o de lo contrario la partición estará más dañada. Consulte este hilo para más información.


Aunque esta pregunta tiene una respuesta, hay una forma alternativa de arreglar el problema que me funcionó. Los pasos se explican en este doloroso vídeo: http://www.youtube.com/watch?v=ZcbTgMKpVHQ . En resumen, reinstalará Grub2 por completo en lugar de repararlo.

Debido a que este vídeo es tan doloroso de ver, voy a enumerar los pasos a continuación (como debería, independientemente de lo doloroso que sea ver el vídeo)

  1. Lanza una sesión en vivo de Ubuntu. El video usa un CD en vivo donde como yo usé un Live-usb. Me aseguré de que el live-usb tenga la misma versión de Ubuntu que tenía en mi disco duro.

  2. Encuentra dónde se montó tu partición root. En el video, el usuario usa el nautilus para navegar por cada unidad que fue montada. Se montó con una larga cadena de números y caracteres. Si es así, siga los siguientes pasos para volver a montar la partición. Si no, proceda al paso 5.

  3. Sube la terminal con ctrl + alt + T y usar el mount para encontrar el nombre de la partición.

  4. Monta el tabique. Crea una nueva carpeta en tu carpeta de medios. sudo mkdir /media/ubuntu . Entonces simplemente monta tu partición en esa carpeta. sudo mount /dev/sdxx /media/ubuntu donde xx de sdxx se determina en el paso 3.

  5. Vincula los siguientes directorios del directorio root de tu cd/usb en vivo con el del directorio root de tu versión de Ubuntu. Los directorios son los dev proc y sys . Hazlo con las siguientes órdenes:

    sudo mount --bind /dev /media/ubuntu/dev
    sudo mount --bind /sys /media/ubuntu/sys
    sudo mount --bind /proc /media/ubuntu/proc
  6. Cambia el directorio root por el de tu partición ubuntu. sudo chroot /media/ubuntu/

  7. Una vez hecho lo anterior, al instalar Grub2 de nuevo se instalará en el directorio root de su distribución de ubuntu y no en el de los cd/usb's en vivo. Así que adelante y ejecuta sudo grub-install /dev/sdx

Y así es como se arregla a Grub usando un live-cd/usb. Este método fue desarrollado por el usuario de youtube crazytechzone.

0 votos

Después de chrootear, eres automáticamente root, así que no necesitas sudo. Sólo Grub-install es suficiente.

3voto

Francis Puntos 21

Es curioso, ¡yo también tuve el mismo problema hace una hora!

De todos modos, esto es lo que hice.

  1. Cargue el ubuntu:

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

    ya que tu ubuntu está instalado en el 6, ¿verdad?

  2. ejecutar la terminal:

    sudo -i *to access root*
    grub-install --root-directory=/mnt/ /dev/sda
    sudo update-grub
    sudo grub-install /dev/sda

0 votos

Gracias por tu respuesta, pero conseguí arreglar mi Grub utilizando la herramienta de reparación de arranque antes de que publicaras la respuesta. Ahora he actualizado este post con mi solución. Me gustaría haber probado tu método también.

2voto

Instalar Boot-Repair en Ubuntu

  1. Arranca tu ordenador en un live-CD o live-USB de Ubuntu.

  2. Elija "Probar Ubuntu"

  3. Conectar Internet

  4. Abrir un nuevo Terminal ( Ctrl + Alt + T ), y luego escriba:

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
  5. Pulse Enter .

  6. Entonces escribe:

    sudo apt-get install -y boot-repair && boot-repair
  7. Pulse Enter .

Uso de Boot-Repair

enter image description here

Reparación recomendada

  1. Inicie Boot-Repair desde :

    a. El Dash (el logo de Ubuntu en la parte superior izquierda de la pantalla)

    b. O Sistema->Administración->Menú de Reparación de Boot (sólo en Ubuntu 10.04)

    c. O escribiendo 'boot-repair' en un terminal

  2. A continuación, haga clic en el botón "Reparación recomendada". Cuando termine la reparación, anote la URL (paste.ubuntu.com/XXXXX) que apareció en un papel, luego reinicie y compruebe si recuperó el acceso a sus sistemas operativos.

  3. Si la reparación no tuvo éxito, indique la URL a las personas que le ayudan por correo electrónico o en el foro.

0 votos

@penreturn Muchas gracias, esto funcionó de maravilla. :D

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: