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)».