J'ai récemment installé Ubuntu 9.10 Karmic Koala sur un PC, puis Windows 7. Ce qui a provoqué la suppression du système de boot qui dans mon cas était grub, ce qui est normal puisque Windows installe son propre MBR écrasant grub.
En souhaitant restaurer Grub, j'ai cependant été confronté à dysfonctionnement pour démarrer sur Windows 7 (concerne toutes les versions de Windows).
Voici un howto permettant de corriger ce petit désagrément et d'avoir un multi-boot Ubuntu/Seven fonctionnel.
Pré-requis
Premièrement, il faut démarrer sur le CD d'installation d'Ubuntu en mode LiveCD et suivre ce guide (voir Réinstallation de GRUB 2.
Suite à cette manipulation j'ai bien retrouvé le bootloader Grub au démarrage avec l'entrée pour Ubuntu et l'entrée pour Windows 7. Sauf que lorsque je sélectionne Windows 7 j'obtiens ce message d'erreur :
error: no such device 02686f8e686f7f73 Press any key to continue...
Le numéro chez vous sera différent suivant l'architecture de vos partitions et de vos disques.
Réparation temporaire
Pour démarrer sur Windows Seven de façon temporaire :
- Démarrer le PC. Une fois Grub affiché, se déplacer avec les flèches du clavier sur la ligne correspondant à "Microsoft Windows 7" et appuyer sur la touche "E".
- Supprimer la ligne suivante (peut varier) :
search --no-floppy --fs-uuid --set 02686f8e686f7f73
- Appuyer sur CTRL+X pour démarrer Windows
Windows 7 doit démarrer correctement. Néanmoins, il vous faudra recommencer cette manipulation à chaque démarrage...
Réparation définitive
Pour corriger définitivement cette entrée Grub incorrecte, voici la solution :
- Démarrer sur Ubuntu
- Ouvrir un terminal : Applications > Accessoires > Terminal
- Entrer :
sudo gedit /usr/lib/grub/grub-mkconfig_lib
- Supprimer les lignes suivantes (l.173 à 175 environ) :
if fs_uuid="`${grub_probe} --device ${device} --target=fs_uuid 2> /dev/null`" ; then echo "search --no-floppy --fs-uuid --set ${fs_uuid}" fi
- Enregistrer les modifications et fermer le fichier
- Dans le terminal, entrer :
sudo update-grub
- Vous devriez obtenir un résultat similaire à :
Generating grub.cfg ... Found linux image: /boot/vmlinuz-2.6.31-17-generic Found initrd image: /boot/initrd.img-2.6.31-17-generic Found linux image: /boot/vmlinuz-2.6.31-14-generic Found initrd image: /boot/initrd.img-2.6.31-14-generic Found memtest86+ image: /boot/memtest86+.bin Found Windows 7 (loader) on /dev/sda2 done
- C'est fini !
Il ne vous reste plus qu'à redémarrer et essayer à nouveau de démarrer Windows. Cela a parfaitement fonctionné pour moi 🙂
L'idéal est, bien sûr, d'installer Windows puis Linux afin que Grub s'intalle comme il faut, mais ce n'est pas toujours possible.
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
11 commentaires
merci beaucoup pour cette synthèse, qui correspondait exactement à ma situation et mon problème!!
Merci pour ces infos qui sont super pratiques.
Il me faut recommencer après chaque mise à jour du système. Mais bon, au moins, je suis tranquille jusqu'à la prochaine mise à jour.
Mais moi, je ne suis pas en multi boot. Pourtant j'ai installé ubuntu sur 4 pc. C'est la première fois que j'avais ce problème. Après avoir changer le disque dur d'un portable.
@Stéphane : oui, c'est plus une bidouille comparable à un système D qu'une solution propre et définitive.
a quoi correspondent les chiffres aprés --set svp ??
@florian: C'est expliqué dans le billet (par rapport à l'erreur que tu as du avoir)
salut a tous , j'ai le mem probleme avec mon windows 7 et j'ai suivi votre demarche et j'ai reçu le message suivant :
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-22-generic
Found initrd image: /boot/initrd.img-2.6.31-22-generic
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found linux image: /boot/vmlinuz-2.6.28-11-generic
Found initrd image: /boot/initrd.img-2.6.28-11-generic
Found memtest86+ image: /boot/memtest86+.bin
ls: ne peut accéder /media/Nouveau: Aucun fichier ou dossier de ce type
Found Windows Vista (loader) on /dev/sda4
done
mais seulement que lorsque je redemarre je retouve plus mon windows 7 mais vista.
ai je vraiment perdu mon windows7 ou je peux le recupérer?
merci de me repondre
salut a tous , j’ai le mem probleme avec mon windows 7 et j’ai suivi votre demarche et j’ai reçu le message suivant :
Generating grub.cfg …
Found linux image: /boot/vmlinuz-2.6.31-22-generic
Found initrd image: /boot/initrd.img-2.6.31-22-generic
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found linux image: /boot/vmlinuz-2.6.28-11-generic
Found initrd image: /boot/initrd.img-2.6.28-11-generic
Found memtest86+ image: /boot/memtest86+.bin
ls: ne peut accéder /media/Nouveau: Aucun fichier ou dossier de ce type
Found Windows Vista (loader) on /dev/sda4
done
mais seulement que lorsque je redemarre je retouve plus mon windows 7 mais vista.
ai je vraiment perdu mon windows7 ou je peux le recupérer?
merci de me repondre
Le loader de Seven s'appelle Longhorn, et c'est le même que celui de Vista. As-tu booté sur l'entrée Vista (loader)?
J'avais rencontré ce problème sur la version RC de 7.
salut ,
javais ce problème avec windows xp et ça a marcher pour moi
merci infiniment 🙂
Bonjour, moi j'ai le même problème mais en ayant voulu installer pear os, est ce qu'il faut quand même que je boot sur un Ubuntu pour corriger l'erreur ?
Cordialement
@desikan: oui tu peux utiliser Ubuntu car Pear OS est basé dessus, attention à la version du LiveCD (instructions 32 ou 64) qui doit être identique à celle de ton OS pour éviter les surprises