Grub rescue - erreur: système de fichiers inconnu

51

J'ai un système multiboot configuré. Le système a trois lecteurs. Le démarrage multiple est configuré avec Windows XP, Windows 7 et Ubuntu, le tout sur le premier disque. Il me restait beaucoup d'espace non partitionné sur le disque et je le réservais pour ajouter d'autres systèmes d'exploitation et y stocker des fichiers à l'avenir.

Un jour, je suis allé de l'avant et j'ai téléchargé l'assistant de partition et j'ai créé une partition NTFS logique à partir de Windows 7, encore quelques espaces non partitionnés. 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 de commande d’aide, en essayant:

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

Maintenant, je suis coincé avec un système non amorçable. J'ai commencé à rechercher le problème et à trouver que les gens recommandent généralement de démarrer sur un Live CD et de résoudre le problème à partir de là. Existe-t-il un moyen de résoudre ce problème dans le cadre de sauvetage Grub sans avoir besoin de Live CD?

MISE À JOUR

En suivant les étapes de commandes persistantes tapées pour le sauvetage GRUB , je a pu démarrer à l'invite initramfs. Mais pas plus loin que cela.

Si loin de lire le manuel sur sauvetage grub , je a pu voir mes disques et partitions en utilisant la commande ls . 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, puisque ls (hd0,msdos6)/ répertorie les répertoires. D'autres donneront "erreur: système de fichiers inconnu."

MISE À JOUR 2

Après les commandes suivantes, je vais maintenant au menu de démarrage et je peux démarrer 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é les étapes suivantes. J'ai appris de vous que je peux remplacer msdos6 par un 6 et que je peux simplement faire insmod normal au lieu de insmod /boot/grub/linux.mod . Il ne me reste plus qu'à trouver comment enregistrer ces paramètres dans grub lui-même, sans démarrer dans aucun système d'exploitation.

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

MISE À JOUR 4

Eh bien, il semble que ce soit une exigence pour démarrer sous Linux. Après avoir démarré dans Ubuntu, j'ai effectué 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 grub. Que dois-je faire pour le réparer de façon permanente?

J'ai également appris que les numéros de lecteur comme dans hd0 doivent être traduits pour générer des lettres comme dans / dev / sda pour certaines commandes. hd1 serait sdb, hd2 serait sdc, et ainsi de suite. Les partitions listées dans grub comme (hd0, msdos6) seraient traduites en / dev / sda6.

MISE À JOUR 5

Je n'arrivais pas à comprendre pourquoi ce qui suit ne corrigeait pas grub:

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

J'ai donc téléchargé le correctif en fonction de la réponse de lien Cela a semblé faire le tour après avoir choisi l'option "Réparation recommandée (répare les problèmes les plus fréquents)".

    
posée user53817 07.04.2012 - 04:16
la source

4 réponses

22

Je n'arrivais pas à comprendre pourquoi ce qui suit ne corrigeait pas grub:

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

J'ai donc téléchargé boot-repair en fonction de la réponse de Persist commandes tapées pour le sauvetage GRUB post. Cela a semblé faire le tour 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.

    
réponse donnée user53817 07.04.2012 - 10:19
la source
6

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 indiqué dans le sauvetage Grub échoue avec " Réparation d'amorçage "avec l'erreur" système de fichiers inconnu ", il est également possible que la partition racine sur laquelle GRUB est installé soit corrompue. Pour résoudre ce problème:

Ceci est une solution possible, mais elle ne devrait pas être utilisée de peur que votre partition racine ne soit corrompue davantage. 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 réel; 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 une autre manière 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 débutants . En bref, il réinstalle 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 devrais le faire, quelle que soit la douleur de regarder la vidéo)

  1. Lancez une session en direct d'Ubuntu. La vidéo utilise un CD en direct alors que j'utilisais un port USB en direct. Je me suis assuré que l'USB en direct avait la même version d'Ubuntu 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 a été 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 + T et utilisez la commande mount 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 sur ce dossier. sudo mount /dev/sdxx /media/ubuntuxx de sdxx est déterminé à l'étape 3.
  5. Liez les répertoires suivants du répertoire racine de votre CD / USB en direct à celui de votre répertoire racine sur votre version d'Ubuntu. Les répertoires sont les dev proc et 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. Après avoir effectué les opérations ci-dessus, l’installation de GRUB 2 l’installe dans le répertoire racine de votre distribution d’Ubuntu et non dans celui du CD / USB en direct. Alors allez-y et lancez sudo grub-install /dev/sdx

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

    
réponse donnée Nil 17.04.2013 - 02:31
la source
5

Utiliser:

  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 dossier /boot/grub . Si cela ne fonctionne pas, je pense que faire une installation GRUB à partir d’un CD de démarrage est une bonne option.

    
réponse donnée Shashank Singh 07.04.2012 - 05:09
la source
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
    

    depuis que votre ubuntu est installé dans 6 à droite?

  2. exécuter le terminal:

    sudo -i *to access root*
    grub-install --root-directory=/mnt/ /dev/sda
    sudo update-grub
    sudo grub-install /dev/sda
    
réponse donnée Francis 07.04.2012 - 06:40
la source

Lire d'autres questions sur les étiquettes