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 ls
commande. 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 normal
place 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)».
Réponses:
Je ne pouvais pas comprendre pourquoi ce qui suit n'a pas résolu le problème:
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.
la source
/dev/sda1
)" , au moment du démarrage.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)
mount
commande pour trouver le nom de la partition.sudo mkdir /media/ubuntu
. Ensuite, montez simplement votre partition dans ce dossier.sudo mount /dev/sdxx /media/ubuntu
oùxx
desdxx
est déterminé à l' étape 3.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
proc
etsys
. Faites-le avec les commandes suivantes:Changez le répertoire racine en celui de votre partition Ubuntu.
sudo chroot /media/ubuntu/
sudo 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.
la source
Utilisation:
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
set root=(hdX,Y)
. Exemple:set root=(hd0,5)
insmod normal
. Essayez de charger le module normal.normal
Nous avons essentiellement besoin de GRUB pour savoir où se trouve le
/boot/grub
dossier. Si cela ne fonctionne pas, l’installation de GRUB à partir d’un CD de démarrage est une bonne option.la source
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.
Charger Ubuntu:
puisque votre Ubuntu est installé dans 6 non?
terminal d'exécution:
la source
Installer Boot-Repair dans Ubuntu
Démarrez votre ordinateur sur un live-CD Ubuntu ou un live-USB.
Choisissez "Essayez Ubuntu"
Connecter internet
Ouvrez un nouveau terminal ( Ctrl+ Alt+ T), puis tapez:
Appuyez sur Enter.
Puis tapez:
Appuyez sur Enter.
Utiliser Boot-Repair
Réparation recommandée
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
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.
Si la réparation a échoué, indiquez l'adresse URL aux personnes qui vous aident par courrier électronique ou par forum.
la source
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
ls
commande 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:Démarrez à partir d'une clé USB (essayez Ubuntu sans installer)
Recherchez le lecteur de démarrage (vérifiez la capacité du lecteur ou effectuez la
fsck
sur chaque partition):Récupérer le système de fichiers:
Une fois le système de fichiers réparé et nettoyé, redémarrez la machine à partir du lecteur de démarrage.
la source