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