66 votes

Sauvetage de Grub - erreur : système de fichiers inconnu

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

Un jour, j'ai téléchargé Partition Wizard et j'ai créé une partition NTFS logique depuis Windows 7, il restait toujours un peu d'espace non partitionné. Tout fonctionnait bien, jusqu'à ce que je redémarre l'ordinateur quelques jours plus tard.

Maintenant j'obtiens:

erreur : système de fichiers inconnu.
grub rescue>

Tout d'abord, j'ai été surpris de ne pas trouver de commande d'aide, en essayant :

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

Je suis maintenant coincé avec un système non amorçable. J'ai commencé à rechercher le problème et j'ai découvert que les gens recommandent généralement de démarrer à partir d'un Live CD et de résoudre le problème à partir de là. Y a-t-il un moyen de résoudre ce problème depuis grub rescue sans avoir besoin d'un Live CD?

MISE À JOUR

En suivant les étapes de Persist commands typed to GRUB rescue, j'ai pu démarrer jusqu'à l'invite initramfs. Mais je n'ai pas pu aller plus loin que ça.

Jusqu'à présent, en lisant le manuel sur grub rescue, j'ai pu voir mes disques et mes 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)/ liste des répertoires. Les autres donnent "erreur : système de fichiers inconnu."

MISE À JOUR 2

Après les commandes suivantes, je parviens désormais au menu de démarrage et je peux démarrer sous Windows 7 et Ubuntu, mais après le 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 à ce qui suit. J'ai appris de vous que je peux remplacer msdos6 par simplement 6 et que je peux simplement faire insmod normal au lieu de insmod /boot/grub/linux.mod. Maintenant, je dois juste trouver comment sauvegarder ces paramètres depuis grub lui-même, sans démarrer aucun système d'exploitation.

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

MISE À JOUR 4

Eh bien, il semblerait qu'il soit nécessaire de démarrer sous Linux. Après avoir démarré sous 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. J'obtiens toujours l'invite de récupération de grub. Que dois-je faire pour le réparer définitivement?

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

MISE À JOUR 5

Je n'ai pas compris pourquoi ce qui suit n'a pas résolu grub :

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

Alors j'ai téléchargé boot-repair sur la base d'une réponse du post https://help.ubuntu.com/community/Boot-Repair. Cela a semblé fonctionner après avoir choisi l'option "Réparation recommandée (répare la plupart des problèmes fréquents)".

26voto

jhamu Points 1435

Je n'ai pas réussi à comprendre pourquoi les commandes suivantes n'ont pas résolu le problème de grub :

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

Alors j'ai téléchargé boot-repair basé sur une réponse du post Persist commands typed to GRUB rescue. Cela semblait avoir résolu le problème après avoir choisi l'option "Réparation recommandée (répare la plupart des problèmes fréquents)".

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

9voto

Nelson Points 353

Utilisation :

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

Nous avons essentiellement besoin que GRUB sache où se trouve le dossier /boot/grub. Si cela ne fonctionne pas, je suppose qu'installer GRUB à partir d'un CD de démarrage est une bonne option.

7voto

Nil Points 986

Il y a une cause alternative à ce problème. Dans ce cas particulier, GRUB était d'une manière ou d'une autre corrompu et avait besoin d'être réparé ou réinstallé. Cependant, comme le montre Grub rescue fails with "Boot Repair" with error "unknown file system", il est également possible que la partition racine sur laquelle GRUB est installé soit corrompue. Pour corriger cela:

Ceci est une solution possible, mais elle ne doit pas être utilisée légèrement de peur que votre partition racine ne soit encore plus 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 réel; vous devez connaître le système de fichiers sinon la partition sera plus corrompue. Voir Réparation d'un système de fichiers corrompu pour plus d'informations.


Même si cette question a une réponse, il existe une autre façon de résoudre le problème qui a fonctionné pour moi. Les étapes sont expliquées dans la vidéo pénible Grub Rescue - Guide pour débutants. En bref, cela réinstallera complètement 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, peu importe à quel point il est douloureux de regarder la vidéo)

  1. Lancez une session live d'Ubuntu. La vidéo utilise un CD live alors que j'ai utilisé une clé USB live. Je me suis assuré que la clé USB live 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 à travers chaque lecteur qui était monté. Il a été monté avec une longue chaîne de nombres et de caractères. Si c'est le cas, suivez les étapes suivantes pour remonter la partition. Sinon, passez à l'étape 5.

  3. Ouvrez 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 media. sudo mkdir /media/ubuntu. Ensuite, montez simplement votre partition dans ce dossier. sudo mount /dev/sdxx /media/ubuntuxx de sdxx est déterminé à l'étape 3.

  5. Lier les répertoires suivants du répertoire racine de votre CD/USB live à celui de votre répertoire racine sur votre version d'Ubuntu. Les répertoires sont le 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 vers celui de votre partition Ubuntu. sudo chroot /media/ubuntu/

  7. Après avoir fait ce qui précède, réinstaller GRUB 2 l'installera à nouveau dans le répertoire racine de votre distribution d'Ubuntu et non dans celui du CD/USB live. Alors allez-y et exécutez sudo grub-install /dev/sdx

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

4voto

Francis Points 41

Drôle, j'ai également eu le même problème il y a une heure !

Quoi qu'il en soit, voici ce que j'ai fait.

  1. Charger ubuntu :

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

    puisque ton ubuntu est installé en 6 non ?

  2. exécuter le terminal :

    sudo -i *pour accéder au root*
    grub-install --root-directory=/mnt/ /dev/sda
    sudo update-grub
    sudo grub-install /dev/sda

2voto

Installer Boot-Repair sur Ubuntu

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

  2. Choisissez "Essayer Ubuntu"

  3. Connectez-vous à 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 Entrée.

  6. Ensuite, tapez :

    sudo apt-get install -y boot-repair && boot-repair
  7. Appuyez sur Entrée.

Utilisation de Boot-Repair

description de l'image ici

Réparation recommandée

  1. Lancez Boot-Repair à partir de :

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

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

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

  2. Ensuite, cliquez sur le bouton "Réparation recommandée". Lorsque la réparation est terminée, notez l'URL (paste.ubuntu.com/XXXXX) qui est apparue sur une feuille de papier, puis redémarrez et vérifiez si vous avez récupéré l'accès à vos OS.

  3. Si la réparation n'a pas réussi, indiquez l'URL aux personnes qui vous aident par e-mail ou sur un forum.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X