Grub rescue - error: sistema de archivos desconocido

59

Tengo un sistema de arranque múltiple configurado. El sistema tiene tres unidades. Multiboot está configurado con Windows XP, Windows 7 y Ubuntu, todo en la primera unidad. Me quedaba mucho espacio no particionado en la unidad y lo reservaba para agregar otros sistemas operativos y para almacenar archivos allí en el futuro.

Un día seguí adelante y descargué Partition Wizard y creé una partición lógica NTFS desde Windows 7, aún quedaba algo de espacio sin particionar. Todo funcionó bien, hasta que reinicié la computadora unos días después.

Ahora estoy obteniendo:

error: unknown filesystem.  
grub rescue>

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

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

Ahora estoy atascado con un sistema no arrancable. Comencé a investigar el problema y descubrí que la gente generalmente recomienda iniciar en un Live CD y solucionar el problema desde allí. ¿Hay alguna manera de solucionar este problema desde grub rescue sin la necesidad de Live CD?

ACTUALIZAR

Siguiendo los pasos de los comandos Persist escritos en GRUB rescue , pude arrancar en el indicador initramfs. Pero no más allá de eso.

Lejos de leer el manual sobre grub rescue , pude ver mis unidades y particiones usando el lscomando. Para el primer disco duro veo lo siguiente:
(hd0) (hd0, msdos6) (hd0, msdos5) (hd0, msdos2) (hd0, msdos1)

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

ACTUALIZACIÓN 2

Después de los siguientes comandos, ahora estoy llegando al menú de inicio y puedo iniciar 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 sus instrucciones he simplificado mis pasos a lo siguiente. He aprendido de usted que puedo reemplazar msdos6 con solo un 6 y que puedo hacer en insmod normallugar de hacerlo insmod /boot/grub/linux.mod. Ahora solo necesito descubrir cómo guardar esta configuración desde dentro de grub, sin iniciar 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 arrancar 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 recibo el mensaje de rescate de grub. ¿Qué necesito hacer para arreglarlo permanentemente?

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

ACTUALIZACIÓN 5

No pude entender por qué lo siguiente no solucionó grub:

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

Así que descargué la reparación de arranque basada en una respuesta de la publicación https://help.ubuntu.com/community/Boot-Repair . Eso pareció funcionar después de elegir la opción "Reparación recomendada (repara los problemas más frecuentes)".

usuario53817
fuente
zdnet.com/… también tiene información útil sobre este tema.
K7AAY
teniendo un problema similar, pero en el mío, el USB en vivo también es inútil goo.gl/Mr61V1
Ramesh
Cambiar el orden de inicio, comenzar desde el CD de recuperación de Windows 7, iniciar el terminal, escribir "Bootrec.exe / FixMbr" (sin comillas) y reiniciar solucionó mi problema.
consuela
En la actualización anterior3 funcionó para mí, pero ahora el mismo problema. No funciona, incluso lo intenté con las carpetas enumeradas en grub rescue. He intentado hacer una copia de seguridad de los datos utilizando el dispositivo ISO de ubuntu, ubuntu existente que no aparece en la lista. Ayúdame, ¿qué debo hacer ahora?
Jaccs
Esta parece ser la pregunta canónica, pero una pregunta aún más antigua es Sistema de archivos desconocido: grub rescue .
Peter Mortensen

Respuestas:

25

No pude entender por qué lo siguiente no solucionó grub:

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

Así que descargué la reparación de arranque basada en una respuesta de los comandos Persist escritos en la publicación de rescate de GRUB . Eso pareció funcionar después de elegir la opción "Reparación recomendada (repara los problemas más frecuentes)".

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

usuario53817
fuente
No funcionó porque, después de ejecutar el último comando, necesitaría ejecutar sudo update-grub nuevamente. En una sesión en vivo, necesitaría montar el sistema de archivos de destino en mnt, hacer chroot en el sistema de archivos y luego necesitaría ejecutar sudo update-grub desde el chroot.
mchid
Utilizando la información de esta respuesta (instalación y uso de reparación de arranque) y de la pregunta, funcionó para recuperar en un netbook Acer donde había elegido un elemento incorrecto en el menú de GRUB, "Entorno de recuperación de Windows (cargador) (activado /dev/sda1)" , durante el tiempo de arranque.
Peter Mortensen
7

Hay una causa alternativa de este problema. En este caso particular, GRUB estaba de alguna manera dañado y necesitaba ser reparado o reinstalado. Sin embargo, como se muestra en Grub rescue falla con "Reparación de arranque" con el error "sistema de archivos desconocido" , también es posible que la partición raíz en la que está instalado GRUB pueda estar dañada. Para arreglar esto:

Esta es una posible solución, pero no debe usarse probablemente para que su partición raíz no se corrompa aún más. Al ejecutar el comando fsck -t ext4 /dev/sda1, este programa intenta buscar y reparar errores en un sistema de archivos dañado. Reemplace sda1 con su partición raíz real. Reemplace ext4 con el sistema de archivos real; tienes que conocer el sistema de archivos o la partición estará más dañada. Consulte Reparación de un sistema de archivos dañado para obtener más información.


Aunque esta pregunta tiene una respuesta, hay una forma alternativa de solucionar el problema que funcionó para mí. Los pasos se explican en el doloroso video Grub Rescue - Guía para principiantes . En resumen, reinstalará GRUB 2 por completo en lugar de repararlo.

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

  1. Inicie una sesión en vivo de Ubuntu. El video usa un CD en vivo mientras que yo usé un USB en vivo. Me aseguré de que el USB en vivo tuviera la misma versión de Ubuntu que tenía en mi disco duro.
  2. Encuentre dónde se montó su partición raíz. En el video, el usuario usa Nautilus para navegar a través de cada unidad que se montó. Estaba montado con una larga cadena de números y caracteres. Si este es el caso, siga los siguientes pasos para volver a montar la partición. De lo contrario, continúe con el paso 5.
  3. Abra el terminal con Ctrl+ Alt+ Ty use el mountcomando para encontrar el nombre de la partición.
  4. Monta la partición. Cree una nueva carpeta en su carpeta de medios. sudo mkdir /media/ubuntu. Luego simplemente monte su partición en esa carpeta. sudo mount /dev/sdxx /media/ubuntudonde xxde sdxxse determina en el paso 3.
  5. Enlace los siguientes directorios desde el directorio raíz de su CD / USB en vivo al del directorio raíz en su versión de Ubuntu. Los directorios son los dev procy sys. Hazlo con los siguientes comandos:

    sudo mount --bind /dev /media/ubuntu/dev
    sudo mount --bind /sys /media/ubuntu/sys
    sudo mount --bind /proc /media/ubuntu/proc
    
  6. Cambie el directorio raíz al de su partición de Ubuntu. sudo chroot /media/ubuntu/

  7. Una vez hecho lo anterior, la instalación de GRUB 2 nuevamente lo instalará en el directorio raíz de su distribución de Ubuntu y no en el CD / USB en vivo. Así que adelante y corresudo grub-install /dev/sdx

Y así es como arreglar GRUB usando un CD / USB en vivo. Este método fue desarrollado por el usuario de YouTube crazytechzone.

Nulo
fuente
6

Utilizar:

  1. set prefix=(hdX,Y)/boot/grub. Use los valores determinados anteriormente.
    Ejemplo: si el sistema Ubuntu está en sda5, ingrese:
    set prefix=(hd0,5)/boot/grub
  2. set root=(hdX,Y). Ejemplo:set root=(hd0,5)
  3. insmod normal. Intente cargar el módulo normal.
  4. normal

Básicamente necesitamos GRUB para saber dónde está la /boot/grubcarpeta. Si esto no funciona, supongo que hacer una instalación GRUB desde un CD de arranque es una buena opción.

Shashank Singh
fuente
Gracias por tu ayuda. Creo que mi problema puede haber sido que mi directorio de arranque está en / dev / sdb, no / dev / sda. Pero la reparación de arranque lo solucionó automáticamente, por lo que no tuve que hacer nada más.
user53817
3

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

De todos modos, esto es lo que hice.

  1. Cargar ubuntu:

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

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

  2. ejecutar terminal:

    sudo -i *to access root*
    grub-install --root-directory=/mnt/ /dev/sda
    sudo update-grub
    sudo grub-install /dev/sda
    
Francisco
fuente
Gracias por su respuesta, pero arreglé mi comida usando la herramienta de reparación de arranque antes de que publicara la respuesta. Ahora he actualizado esta publicación con mi solución. Ojalá pudiera haber probado tu método también.
user53817
2

Instalar reparación de arranque en Ubuntu

  1. Inicie su computadora en un Ubuntu live-CD o live-USB.

  2. Elija "Probar Ubuntu"

  3. Conectar internet

  4. Abra una nueva Terminal ( Ctrl+ Alt+ T), luego escriba:

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

  6. Luego escriba:

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

Uso de reparación de arranque

ingrese la descripción de la imagen aquí

Reparación recomendada

  1. Inicie Boot-Repair desde:

    a. The Dash (el logotipo de Ubuntu en la esquina superior izquierda de la pantalla)

    si. O Sistema-> Administración-> Menú de reparación de arranque (solo Ubuntu 10.04)

    C. O escribiendo 'boot-repair' en una terminal

  2. Luego haga clic en el botón "Reparación recomendada". Cuando finalice la reparación, observe la URL (paste.ubuntu.com/XXXXX) que apareció en un papel, luego reinicie y verifique si recuperó el acceso a su sistema operativo.

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

Penreturns
fuente
@penreturn Muchas gracias, esto funcionó maravillosamente. : D
Jeel Shah
0

Otra causa del problema es que el sistema de archivos en la unidad de arranque puede fallar en casos excepcionales. Como se menciona en otras respuestas, inicialmente utilizo el lscomando para enumerar todas las unidades / particiones en la solicitud de rescate de GRUB, pero todas informan un error desconocido del sistema de archivos . Finalmente arreglé el problema en Ubuntu 16.04 (Xenial Xerus) recuperando el sistema de archivos de la siguiente manera:

  1. Arranque desde una memoria USB (pruebe Ubuntu sin instalar)

  2. Encuentre la unidad de arranque (verifique la capacidad de la unidad o haga lo mismo fscken cada partición):

    sudo fdisk -l
    
  3. Recupere el sistema de archivos:

    sudo fsck /dev/sdb1
    
  4. Después de que el sistema de archivos esté arreglado y limpio, reinicie la máquina desde la unidad de arranque.

user84246
fuente