Page 1 sur 1

[grub legacy] Impossible de chainer windows ?

Publié : mar. 15 nov. 2011, 15:37
par Atzam
Bonjour,

J'ai quelques soucis pour configurer grub. Je suis sur la version Legacy (le "1") parce que je le trouve un peu plus simple à configurer, mais bon, grub 2 ne se débrouillais pas mieux.

J'ai une installation un peu particulière. On trouve sur le disque windows xp, seven, ubuntu et enfin Archlinux.
Archlinux me sert tout les jours, celle avec Ubuntu me sert à tester des linux quand j'ai envie de bidouiller, de voir les nouveautés et autres. Enfin, les deux windows sont là pour faire quelques tests : j'ai récupéré Seven il y a peu et je voulais voir comment il fonctionnait par rapport à XP sur certains jeux. Du coup, pour le moment, j'ai les deux, et ça n'aide pas... Mais j'aimerais bien arriver à démarrer l'un comme l'autre !

Grub démarre sans difficulté sur Arch (sauf une erreur aléatoire que je n'ai pas réussi à reproduire, les mystères de l'informatique ?). Idem pour Ubuntu : c'est pas très propre mais ça démarre. Grub reste bien 5 secondes à m'afficher les infos qu'il lit pour accéder à Ubuntu ; à terme, il faudrait que j'installe un grub sur la partition d'ubuntu et que je fasse un chainloader, ce serait plus correct... Mais c'est pas très important, vu que ça marche quand même...

Par contre, quand je tente de démarrer Windows xp, j'ai droit au message "NTLDR manquant". Et sur Seven, ça donne "BOOTMGR manquant".
J'ai tenté de changer la manière dont hd0 était vu avec map, mais ça rajoute des problèmes et c'est tout. Le fait qu'il ne trouve pas NTLDR et BOOTMGR me fait penser que j'ai bien les bonnes partitions d'indiquées, mais qu'il manque autre chose.

Voici le résultat de fdisk -l (je ne met que le dd où il y a les systèmes ; un deuxième dd sert à stocker des données).

Code : Tout sélectionner

Disque /dev/sda : 160.0 Go, 160041885696 octets
255 têtes, 63 secteurs/piste, 19457 cylindres, total 312581808 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x951ea506

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sda1              63     1959929      979933+  82  partition d'échange Linux / Solaris
/dev/sda2   *     1959930    80084024    39062047+   7  HPFS/NTFS/exFAT
/dev/sda3        80084992   158210047    39062528    7  HPFS/NTFS/exFAT
/dev/sda4       158212094   312580095    77184001    5  Étendue
/dev/sda5       158212096   177741823     9764864   83  Linux
/dev/sda6       177743872   197273599     9764864   83  Linux
/dev/sda7       197275648   312580095    57652224   83  Linux
Et le contenu de menu.lst dans /boot/grub :

Code : Tout sélectionner

# Config file for GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst

# DEVICE NAME CONVERSIONS 
#
#  Linux           Grub
# -------------------------
#  /dev/fd0        (fd0)
#  /dev/sda        (hd0)
#  /dev/sdb2       (hd1,1)
#  /dev/sda3       (hd0,2)
#

#  FRAMEBUFFER RESOLUTION SETTINGS
#     +-------------------------------------------------+
#          | 640x480    800x600    1024x768   1280x1024
#      ----+--------------------------------------------
#      256 | 0x301=769  0x303=771  0x305=773   0x307=775
#      32K | 0x310=784  0x313=787  0x316=790   0x319=793
#      64K | 0x311=785  0x314=788  0x317=791   0x31A=794
#      16M | 0x312=786  0x315=789  0x318=792   0x31B=795
#     +-------------------------------------------------+
#  for more details and different resolutions see
#  https://wiki.archlinux.org/index.php/GRUB#Framebuffer_resolution

# general configuration:
timeout   5
default   0
color light-blue/black light-cyan/blue

# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*

# (0) Arch Linux
title  Arch Linux
root   (hd0,6)
kernel /boot/vmlinuz-linux root=/dev/sda7 ro
initrd /boot/initramfs-linux.img

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd0,6)
kernel /boot/vmlinuz-linux root=/dev/sdb7 ro
initrd /boot/initramfs-linux-fallback.img

# (2) Windows
title Windows LSD
rootnoverify (hd0,1)
makeactive
chainloader +1


# (3) Windows Seven
title Windows Seven
rootnoverify (hd0,2)
makeactive
chainloader +1

# (4) Ubuntu
title  Ubuntu
root   (hd0,4)
kernel	/boot/vmlinuz-2.6.32-35-generic-pae root=UUID=b92b1a33-260b-4aa6-acef-766aa329158f ro   quiet splash
initrd	/boot/initrd.img-2.6.32-35-generic-pae
Merci d'avance à ceux qui pourront m'aider à tout faire démarrer ! :bravo:

Re: [grub legacy] Impossible de chainer windows ?

Publié : mar. 15 nov. 2011, 15:50
par benjarobin
Normalement si tu as installé Windows 7 après Windows XP, celui-ci à du mettre en place son propre multi-boot et effacer Grub.
Ce multi-boot (installé sur la partition de Windows 7) te permet de choisir entre XP ou 7.

Il est très difficile d'éviter ce multi-boot, personnellement j'avais abandonné et j'aimais bien le principe du chaînage, donc normalement tu ne dois avoir qu'une seul entrée dans Grub pour démarrer Windows qui pointe vers la partition de 7.

Donc dans ton cas, ne connaisant pas l'historique je te conseil de prendre le CD de 7, et de réparer ton boot. Si tout ce passe bien tu aura un beau menu au démarrage te proposant de booter entre XP et 7.

Puis tu réinstalle Grub via un live CD, et tu rajoute une entrée pointant vers la partition de boot de 7.

Au final pour démarrer XP ou 7 tu devra passer 2 menu

Re: [grub legacy] Impossible de chainer windows ?

Publié : mar. 15 nov. 2011, 15:52
par FoolEcho
Salut,
Atzam a écrit :Par contre, quand je tente de démarrer Windows xp, j'ai droit au message "NTLDR manquant". Et sur Seven, ça donne "BOOTMGR manquant".
Ça se joue au niveau windows, il faut donc que tu restaures les fichiers manquants par un cd d'installation Windows ou autre je pense (je ne sais pas si supergrub peut éventuellement le faire: http://www.supergrubdisk.org/ ).
EDIT: ... donc grillé/+1 avec benjarobin...
Atzam a écrit :J'ai tenté de changer la manière dont hd0 était vu avec map, mais ça rajoute des problèmes et c'est tout.
Pour info, le coup du map ne sert que si windows est sur le disque hd1.
Atzam a écrit :à terme, il faudrait que j'installe un grub sur la partition d'ubuntu et que je fasse un chainloader, ce serait plus correct... Mais c'est pas très important, vu que ça marche quand même...
Le chaînage est préférable à l'entrée directe question maintenance, particulièrement pour Ubuntu qui attribue des noms de kernel différents (sans chaîner mais sans pour autant avoir l'entrée complète, tu peux aussi faire comme indiqué dans le wiki -- si ton Ubuntu utilise grub2 et vu la version du kernel, je ne suis pas sûr: http://wiki.archlinux.fr/Grub#Double_Am ... NU.2FLinux ).

Re: [grub legacy] Impossible de chainer windows ?

Publié : mar. 15 nov. 2011, 21:35
par mélodie
Bonjour,
Il y a un programme non libre et offrant un boot plutôt moche, mais ça marche... il faut l'installer sous Seven et de là configurer les entrées pour les autres systèmes. C'est EasyBCD.

Re: [grub legacy] Impossible de chainer windows ?

Publié : mar. 15 nov. 2011, 21:51
par benjarobin
@mélodie Le chainage est plus simple et plus propre ^^. De plus il doit dans tous les cas réparer le boot de Seven... Une fois ceci fait il n'aura plus qu'a réinstaller Grub

Re: [grub legacy] Impossible de chainer windows ?

Publié : mer. 16 nov. 2011, 15:56
par Atzam
Au niveau historique, j'ai fait table rase du tout le dd dimanche :D entre autre parce que je me suis rendue compte que Seven prenait plus de place que je n'en prévoit d'habitude pour mes tests de systèmes (10 Go, il paraît que c'est petit... Mais tous les systèmes linux s'en contentent d'habitude...).

Et donc, c'est là que j'ai commencé à bien rigoler. Après avoir mis tous mes fichiers importants de côté, j'ai repartitionné tout le disque avec un live CD. Ensuite, j'ai installé XP, puis Seven. J'ai bien vu, à ce moment, le bootloader de seven. Enfin, Ubuntu, pour avoir rapidement un accès à internet en cas de souci.
Une fois tout ça fait, j'ai voulu aller sur Xp pour vérifier que tout allait bien, installer deux-trois utilitaires et drivers de base, etc. Et je me suis rendue compte que des trucs avaient foirés dans l'installation. Ca m'arrive à chaque fois que je veux installer XP : le premier coup, je me rend compte qu'il manque des trucs à droite à gauche et que le système est instable de base... La solution la plus rapide, à ce stade, c'est de le réinstaller. Ce coup-ci je vérifie, c'est bon, l'installation marche comme il faut. Par exemple je peux enfin activer l'autologon (oui, c'est des trucs aussi bêtes que ça qui foirent parfois...). Il refuse toujours de prendre le driver de la carte réseau, mais bon, comme je peux me passer du net avec XP, c'est pas grave (le net ne me servira qu'à mettre un antivirus à jour pour scanner les clés usb et autres machins qui se brancheront ensuite).

Réinstaller XP a fait foirer Seven...
Je répare le loader de Seven. Très laborieusement : il m'a fallu un paquet de démarrage pour comprendre qu'il fallait démarrer sur le cd, mais ensuite, ne pas lui dire "je rentre sur le cd". A ceux qui se demandent pourquoi ça ne marche pas, comme moi : il faut booter sur le CD, la première fois, comme indiqué, taper sur une touche quand on nous le demande, puis les fois suivantes continuer de booter sur le cd mais sans taper :mrgreen: sur rien ce coup-çi... Le truc surprenant c'est que si on ne boote pas sur le CD, le mbr est encore sur GRUB et donc la réparation de windows n'avance pas...
Je ne cherche plus à comprendre, mais j'ai bien passé une heure à me demander comment réparer le boot la dernière fois...

A ce moment, j'ai réparé le grub avec Ubuntu, et j'ai installé Archlinux.

Et j'ai re-perdu l'accès aux windows... A cause de grub1 ? :lol: Je n'ai pas tenté d'y accéder de suite, donc je ne sait pas si le souci venait plus d'ubuntu et grub2 installé de base, ou d'archlinux.

J'ai essayé de chainer sur sdb5, où Ubuntu est installé, et dans le grub en question de tester si j'arrive à démarrer windows avec, donc, grub2. De manière logique, grub 1 râle sur le grub 2 mais fallait tenter !

Avant de re-réparer windows, je vais tenter d'installer grub2, qui va peut-être sans sortir tout seul... Je l'espère, parce que le bidouiller, lui, je trouve que c'est pas simple du tout...

J'espère aussi que je récupérerais le loader de Seven : c'était moins classe qu'un grub, mais ça doit aussi pouvoir se reconfigurer et ça me permettrais de gérer les windows...

Re: [grub legacy] Impossible de chainer windows ?

Publié : mer. 16 nov. 2011, 16:58
par FoolEcho
Atzam a écrit :Réinstaller XP a fait foirer Seven...

Quelqu'un m'avait raconté ça un jour, il semble qu'il faille effectivement les prendre dans l'ordre. :mrgreen:
Atzam a écrit :J'ai essayé de chainer sur sdb5, où Ubuntu est installé, et dans le grub en question de tester si j'arrive à démarrer windows avec, donc, grub2. De manière logique, grub 1 râle sur le grub 2 mais fallait tenter !
Je ne comprends pas ce que tu veux dire par "grub1 râle sur grub2", si tu suis bien le wiki, il n'y a normalement aucun problème. Par contre, prends la précaution de réinstaller grub sur le mbr (je trouve très louche que windows ne l'ait pas fait sauter :? )

Re: [grub legacy] Impossible de chainer windows ?

Publié : ven. 18 nov. 2011, 14:05
par Atzam
Après avoir cherché avec Grub2, j'ai fini par réinstaller Seven... Windows faisait semblant de démarrer : écran de démarrage qui restait à papilloner sans que le système ne charge (du moins, au bout d'une heure, j'ai arrêté d'attendre...).
Impossible de "réparer" avec les outils du cd de windows, donc j'ai réinstallé.
Ensuite, j'ai retenté d'installer grub2, qui avait toujours du mal : il me détectait 3 windows seven (glarg :shock: ), alors qu'il n'y en avait qu'un d'installé. Des restes dans la configuration ? Comme je ne maitrise vraiment pas grub2, j'ai pas trop cherché. J'ai retenté grub1, idem, même erreurs.

Du coup, j'ai tenté d'installer GAG (http://gag.sourceforge.net/). Il a démarré un windows, qui a demandé à réparer et qui y est arrivé ; linux est bien detecté. Bref, GAG me permet de démarrer Ubuntu, Archlinux et Seven. Xp, l'a disparu... Car c'est là le truc bizarre : Gag démarre seven depuis la deuxième partition, là ou xp est sensé être installé ; si je lui fait selectionner la 3e, il me fait une erreur (bootmgr ? Je ne me souviens plus).
Par contre, à la réinstallation de Seven, il n'a pas re-detecté XP. Ptet qu'il n'existe plus...Je vais voir si je peux faire qulquechose depuis Seven, mais je ne vais pas m'acharner, je commence vraiment à en avoir marre...

Je ne sais pas pourquoi GAG détecte et lance windows, tandis que grub plante ; c'est d'autant moins logique que Grub semble bien lancer windows, donc ça ne devrait pas planter ensuite puisque que ce n'est plus grub qui tourne... Mais le résultat est là : quand je passe par GAG ça marche jusqu'au bout...

Re: [grub legacy] Impossible de chainer windows ?

Publié : ven. 18 nov. 2011, 14:13
par oktoberfest
GAG ne détecte rien du tout en fait. GAG ne fait que charger le premier secteur de la partition et de l'exécuter.
Si le secteur de boot contient un bootloader, alors ça démarre.
La conclusion est donc que sur les partitions que tu as indiqué à GAG, il y a un boot loader valide. Le fait que sélectionner ta partition xp fait démarrer Seven signifie que l'installation de Seven a modifié le boot loader de la partition XP.

Re: [grub legacy] Impossible de chainer windows ?

Publié : dim. 20 nov. 2011, 10:19
par mélodie
Atzam a écrit :Car c'est là le truc bizarre : Gag démarre seven depuis la deuxième partition, là ou xp est sensé être installé ; si je lui fait selectionner la 3e, il me fait une erreur (bootmgr ? Je ne me souviens plus).
Salut,
Essaies de faire croire à GAG que XP est sur la partition suivante. Cela pourrait fonctionner.