Grub rescue - erreur: système de fichiers inconnu

59

J'ai un système multi-démarrage mis en place. Le système a trois lecteurs. Le démarrage multiple est configuré avec Windows XP, Windows 7 et Ubuntu, le tout sur le premier lecteur. Il me restait beaucoup d'espace non partitionné sur le disque et je le réservais pour l'ajout d'autres systèmes d'exploitation et le stockage de fichiers à l'avenir.

Un jour, j’ai téléchargé l’assistant de partition et créé une partition logique NTFS à partir de Windows 7, mais il restait encore de l’espace non partitionné. Tout a bien fonctionné, jusqu'à ce que je redémarre l'ordinateur quelques jours plus tard.

Maintenant j'obtiens:

error: unknown filesystem.  
grub rescue>

Tout d'abord, j'ai été surpris de ne trouver aucune sorte d'aide à la commande en essayant:

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

Maintenant, je suis coincé avec un système non-bootable. J'ai commencé à rechercher le problème et à constater que les utilisateurs recommandent généralement de démarrer sur un Live CD et de résoudre le problème à partir de cet emplacement. Existe-t-il un moyen de résoudre ce problème à partir de grub rescue sans recourir au Live CD?

MISE À JOUR

En suivant les étapes des commandes Persist saisies dans GRUB rescue , j'ai pu démarrer à l'invite initramfs. Mais pas n'importe où plus loin que ça.

Bien loin de lire le manuel sur le sauvetage de grub , j'ai pu voir mes disques et partitions à l'aide de la lscommande. Pour le premier disque dur, je vois ce qui suit:
(hd0) (hd0, msdos6) (hd0, msdos5) (hd0, msdos2) (hd0, msdos1)

Je sais maintenant que (hd0, msdos6) contient Linux, car ls (hd0,msdos6)/répertorie des répertoires. D'autres donneront "erreur: système de fichiers inconnu."

MISE À JOUR 2

Après les commandes suivantes, j'arrive maintenant au menu de démarrage et je peux démarrer sous Windows 7 et Ubuntu, mais au redémarrage, je dois répéter ces étapes.

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

MISE À JOUR 3

Merci Shashank Singh, avec vos instructions, j’ai simplifié mes étapes comme suit. J'ai appris de vous que je peux remplacer msdos6 par un 6 et que je peux le faire à la insmod normalplace de insmod /boot/grub/linux.mod. Maintenant, je dois juste comprendre comment sauvegarder ces paramètres à partir de grub lui-même, sans démarrer sous aucun OS.

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

MISE À JOUR 4

Eh bien, il semble nécessaire de démarrer Linux. Après avoir démarré sous Ubuntu, j’ai exécuté les étapes suivantes décrites dans le manuel :

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

Cela n'a pas résolu le problème. Je reçois toujours l'invite de sauvetage. Que dois-je faire pour le réparer définitivement?

J'ai aussi appris que les numéros de lecteur comme dans hd0 doivent être traduits en lettres de lecteur comme dans / dev / sda pour certaines commandes. HD1 serait SDB, HD2 serait SDC, et ainsi de suite. Les partitions listées dans grub en tant que (hd0, msdos6) seraient traduites en / dev / sda6.

MISE À JOUR 5

Je ne pouvais pas comprendre pourquoi ce qui suit n'a pas résolu le problème:

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

J'ai donc téléchargé boot-repair sur la base d'une réponse de https://help.ubuntu.com/community/Boot-Repair post. Cela a semblé faire l'affaire après avoir choisi l'option «Réparation recommandée (répare les problèmes les plus fréquents)».

utilisateur53817
la source
zdnet.com/… contient également des informations utiles à ce sujet.
K7AAY
ayant un problème similaire, mais dans le mien live USB est également inutile goo.gl/Mr61V1
Ramesh
Changer l'ordre de démarrage, en commençant par le CD de récupération de Windows 7, en démarrant le terminal, en tapant "Bootrec.exe / FixMbr" (sans guillemets) et en redémarrant, j'ai résolu le problème.
mardi
Dans la mise à jour précédente3 fonctionnait pour moi, mais maintenant le même problème. Ne fonctionne pas même si j'ai essayé avec les dossiers répertoriés dans le sauvetage de grub. J'ai essayé de sauvegarder des données en utilisant un périphérique ISO d'Ubuntu, ubuntu existant ne listant pas. Aidez-moi, que dois-je faire maintenant?
Jaccs
Cela semble être la question canonique, mais une question encore plus ancienne est le système de fichiers Unknown: grub rescue .
Peter Mortensen

Réponses:

25

Je ne pouvais pas comprendre pourquoi ce qui suit n'a pas résolu le problème:

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

J'ai donc téléchargé la réparation de démarrage à partir d'une réponse des commandes Persist saisies dans le message de secours GRUB . Cela a semblé faire l'affaire après avoir choisi l'option «Réparation recommandée (répare les problèmes les plus fréquents)».

J'ai également utilisé Grub Customizer pour personnaliser l'ordre des entrées de démarrage.

utilisateur53817
la source
Cela n'a pas fonctionné car, après avoir exécuté la dernière commande, vous devrez réexécuter sudo update-grub. Lors d'une session en direct, vous devez monter le système de fichiers cible sur mnt, chroot dans le système de fichiers, puis sur sudo update-grub à partir du chroot.
mardi
En utilisant les informations de cette réponse (installation et utilisation de boot-repair) et de la question, cela fonctionnait pour la restauration sur un netbook Acer où j'avais choisi un élément erroné dans le menu GRUB, "Environnement de récupération Windows (chargeur) (sur /dev/sda1)" , au moment du démarrage.
Peter Mortensen
7

Il existe une autre cause à ce problème. Dans ce cas particulier, GRUB était en quelque sorte corrompu et devait être réparé ou réinstallé. Cependant, comme le montre Grub, le sauvetage échoue avec "Réparation du démarrage" avec l'erreur "Système de fichiers inconnu" , il est également possible que la partition racine sur laquelle GRUB est installé puisse être corrompue. Pour résoudre ce problème:

C'est une solution possible, mais vous ne devriez pas vous en servir, de peur que votre partition racine ne soit davantage corrompue. En exécutant la commande fsck -t ext4 /dev/sda1, ce programme tente de rechercher et de réparer les erreurs sur un système de fichiers corrompu. Remplacez sda1 par votre partition racine réelle. Remplacez ext4 par le système de fichiers actuel; vous devez connaître le système de fichiers sinon la partition sera plus corrompue. Voir Réparer un système de fichiers corrompu pour plus d'informations.


Même si cette question a une réponse, il existe un autre moyen de résoudre le problème qui a fonctionné pour moi. Les étapes sont expliquées dans la vidéo douloureuse Grub Rescue - Guide pour les débutants . En bref, il faudra réinstaller GRUB 2 au lieu de le réparer.

Parce que cette vidéo est si pénible à regarder, je vais énumérer les étapes ci-dessous (comme je le devrais quelle que soit la douleur à regarder la vidéo)

  1. Lancer une session en direct d'Ubuntu. La vidéo utilise un CD en direct alors que j'ai utilisé une clé USB en direct. Je me suis assuré que le Live USB avait la même version d'Ubuntu que celle que j'avais sur mon disque dur.
  2. Trouvez où votre partition racine a été montée. Dans la vidéo, l'utilisateur utilise Nautilus pour naviguer dans chaque lecteur monté. Il était monté avec une longue chaîne de chiffres et de caractères. Si tel est le cas, suivez les étapes suivantes pour remonter la partition. Sinon, passez à l'étape 5.
  3. Affichez le terminal avec Ctrl+ Alt+ Tet utilisez la mountcommande pour trouver le nom de la partition.
  4. Montez la partition. Créez un nouveau dossier dans votre dossier multimédia. sudo mkdir /media/ubuntu. Ensuite, montez simplement votre partition dans ce dossier. sudo mount /dev/sdxx /media/ubuntuxxde sdxxest déterminé à l' étape 3.
  5. Liez les répertoires suivants du répertoire racine de votre live CD / USB à celui de votre répertoire racine sur votre version d’Ubuntu. Les répertoires sont le dev procet sys. Faites-le avec les commandes suivantes:

    sudo mount --bind /dev /media/ubuntu/dev
    sudo mount --bind /sys /media/ubuntu/sys
    sudo mount --bind /proc /media/ubuntu/proc
    
  6. Changez le répertoire racine en celui de votre partition Ubuntu. sudo chroot /media/ubuntu/

  7. Ceci fait, installer à nouveau GRUB 2 l’installera dans le répertoire racine de votre distribution Ubuntu et non dans celui du CD / USB. Alors allez-y et courezsudo grub-install /dev/sdx

Et voilà comment réparer GRUB en utilisant un live CD / USB. Cette méthode a été développée par l'utilisateur de YouTube, crazytechzone.

Néant
la source
6

Utilisation:

  1. set prefix=(hdX,Y)/boot/grub. Utilisez les valeurs déterminées précédemment.
    Exemple: Si le système Ubuntu est sur sda5, entrez:
    set prefix=(hd0,5)/boot/grub
  2. set root=(hdX,Y). Exemple:set root=(hd0,5)
  3. insmod normal. Essayez de charger le module normal.
  4. normal

Nous avons essentiellement besoin de GRUB pour savoir où se trouve le /boot/grubdossier. Si cela ne fonctionne pas, l’installation de GRUB à partir d’un CD de démarrage est une bonne option.

Shashank Singh
la source
Merci pour votre aide. Je pense que mon problème est peut-être que mon répertoire de démarrage est sur / dev / sdb, pas / dev / sda. Mais boot-repair l'a corrigé automatiquement, je n'ai donc rien à faire de plus.
user53817
3

C'est drôle, j'ai aussi eu le même problème il y a une heure!

En tout cas, c'est ce que j'ai fait.

  1. Charger Ubuntu:

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

    puisque votre Ubuntu est installé dans 6 non?

  2. terminal d'exécution:

    sudo -i *to access root*
    grub-install --root-directory=/mnt/ /dev/sda
    sudo update-grub
    sudo grub-install /dev/sda
    
Francis
la source
Merci pour votre réponse, mais mon correctif a été réparé à l'aide de l'outil de réparation de démarrage avant que vous ne postiez la réponse. J'ai maintenant mis à jour ce post avec ma solution. J'aurais aimé pouvoir utiliser votre méthode également.
user53817
2

Installer Boot-Repair dans Ubuntu

  1. Démarrez votre ordinateur sur un live-CD Ubuntu ou un live-USB.

  2. Choisissez "Essayez Ubuntu"

  3. Connecter internet

  4. Ouvrez un nouveau terminal ( Ctrl+ Alt+ T), puis tapez:

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

  6. Puis tapez:

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

Utiliser Boot-Repair

entrez la description de l'image ici

Réparation recommandée

  1. Lancez Boot-Repair à partir de:

    une. The Dash (le logo Ubuntu en haut à gauche de l'écran)

    b. Ou Système-> Administration-> Menu Boot-Repair (Ubuntu 10.04 uniquement)

    c. Ou en tapant 'boot-repair' dans un terminal

  2. Cliquez ensuite sur le bouton "Réparation recommandée". Lorsque la réparation est terminée, notez l'URL (paste.ubuntu.com/XXXXX) qui apparaît sur un papier, puis redémarrez et vérifiez si vous avez restauré l'accès à vos systèmes d'exploitation.

  3. Si la réparation a échoué, indiquez l'adresse URL aux personnes qui vous aident par courrier électronique ou par forum.

les retours
la source
@penreturn Merci beaucoup, cela a fonctionné à merveille. : D
Jeel Shah
0

Une autre cause du problème est que le système de fichiers sur le lecteur de démarrage peut être bloqué dans de rares cas. Comme indiqué dans d'autres réponses, j'utilise initialement la lscommande pour répertorier tous les lecteurs / partitions dans l'invite de secours GRUB, mais tous signalent une erreur inconnue du système de fichiers . J'ai finalement résolu le problème sur Ubuntu 16.04 (Xenial Xerus) en récupérant le système de fichiers comme suit:

  1. Démarrez à partir d'une clé USB (essayez Ubuntu sans installer)

  2. Recherchez le lecteur de démarrage (vérifiez la capacité du lecteur ou effectuez la fscksur chaque partition):

    sudo fdisk -l
    
  3. Récupérer le système de fichiers:

    sudo fsck /dev/sdb1
    
  4. Une fois le système de fichiers réparé et nettoyé, redémarrez la machine à partir du lecteur de démarrage.

utilisateur84246
la source