[Grub] multiboot d'un Windows sur un 2eme disque (resolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
draho
newbie
Messages : 4
Inscription : jeu. 08 déc. 2011, 22:24

[Grub] multiboot d'un Windows sur un 2eme disque (resolu)

Message par draho »

Bonjour,

Voilà je n'arrive pas à m'en sortir avec mon grub :(

/dev/sdb c'est là où se trouve mon Linux
/dev/sda, c'est le Windows (qui a été installé bien avant mon archlinux)
Mon fdisk

Code : Tout sélectionner

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c620d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2   *      206848   488394751   244093952    7  HPFS/NTFS/exFAT

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000298c3

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63      208844      104391   83  Linux
/dev/sdb2   *      208845      738989      265072+  82  Linux swap / Solaris
/dev/sdb3          738990    16113194     7687102+  83  Linux
/dev/sdb4        16113195   976768064   480327435   83  Linux
Donc mon grub est installé sur /dev/sdb
Voici mon menu.lst

Code : Tout sélectionner

# (0) Arch Linux
title  Arch Linux
root   (hd0,0)
kernel /vmlinuz-linux root=/dev/disk/by-uuid/e3725a6a-4aa0-4a6f-b45c-5cc984ea5dc3 ro
initrd /initramfs-linux.img

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd0,0)
kernel /vmlinuz-linux root=/dev/disk/by-uuid/e3725a6a-4aa0-4a6f-b45c-5cc984ea5dc3 ro
initrd /initramfs-linux-fallback.img

# (2) Windows
title Windows
map (hd1) (hd0)
map (hd0) (hd1)
rootnoverify (hd1,1)
makeactive
chainloader +1
J'ai essayé de m'adapter à ce qu'il y avait sur le wiki, mais rien n'y fait, quand je veux booter sur Windows j'ai:
bootmgr is missing
CTRL+ATL+DEL to reboot


Pouvez-vous m'apporter un peu d'aide ?
Dernière modification par draho le dim. 11 déc. 2011, 21:09, modifié 2 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17603
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Grub] multiboot d'un Windows sur un 2eme disque

Message par benjarobin »

Tu as essayé tout simplement ceci :

Code : Tout sélectionner

title Windows
rootnoverify (hd1,1)
makeactive
chainloader +1
ou

Code : Tout sélectionner

title Windows
rootnoverify (hd1,0)
makeactive
chainloader +1
voir en gardant ta logique (car tu as échangé hd0 et hd1)

Code : Tout sélectionner

title Windows
map (hd1) (hd0)
map (hd0) (hd1)
rootnoverify (hd0,1)
makeactive
chainloader +1
En tout cas l'erreur "bootmgr is missing" indique qu'il n'y a rien au début de la partition que tu essaye de lancer.
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
draho
newbie
Messages : 4
Inscription : jeu. 08 déc. 2011, 22:24

Re: [Grub] multiboot d'un Windows sur un 2eme disque

Message par draho »

Merci pour la réponse,

J'ai oublié de spécifier mais il me semble avoir tester ces combinaisons déjà. J'ai pas mal tatonné sur les hd1 hd0 etc... pour tester mais j'avoue que je suis tombé sur la bonne combinaison.

Sinon si ça peut vous aider, j'étais en Fedora+windows et j'ai rénstaller Arch par dessus mon Fedora (j'ai péter tout mon /dev/sdb).
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [Grub] multiboot d'un Windows sur un 2eme disque

Message par viperpaulo »

Salut,
perso j'aurais mis un truc comme ça pour ton menu.lst :

Code : Tout sélectionner

# (0) Arch Linux
title  Arch Linux
root   (hd1,0)
kernel /vmlinuz-linux root=/dev/disk/by-uuid/e3725a6a-4aa0-4a6f-b45c-5cc984ea5dc3 ro
initrd /initramfs-linux.img

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd1,0)
kernel /vmlinuz-linux root=/dev/disk/by-uuid/e3725a6a-4aa0-4a6f-b45c-5cc984ea5dc3 ro
initrd /initramfs-linux-fallback.img

# (2) Windows
title Windows
rootnoverify (hd0,0)
makeactive
chainloader +1
Comme benjarobin, j'ai l'impression que tu as inversé hd0 et hd1 ..
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [Grub] multiboot d'un Windows sur un 2eme disque

Message par oktoberfest »

Ce que je ferais :
- regarder dans le bios l'ordre des disques. Pour Grub le premier c'est hd0, le second c'est hd1 (pour Linux cela peut être différent), sauf si tu as changé cela via un fichier device.map.
- vérifier que grub est installé sur le MBR du premier disque (ce qui semble le cas, puisque tu bootes sur grub).
- en déduire ce que tu vas écrire dans ton menu.lst (Si Windows est installé sur le second disque, je pense que tu auras à permuter les disques via les commandes map : Windows aimant souvent être sur le premier disque).
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [Grub] multiboot d'un Windows sur un 2eme disque

Message par viperpaulo »

oktoberfest a écrit : - vérifier que grub est installé sur le MBR du premier disque (ce qui semble le cas, puisque tu bootes sur grub).
Je dirais plutôt "vérifier que grub est installé sur le MBR du disque sur lequel tu bootes"

Mais je suis assez d'accord avec ta démarche, bien que je ne comprends pas l'intérêt du map, si quelqu'un a un exemple, je suis preneur !
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [Grub] multiboot d'un Windows sur un 2eme disque

Message par oktoberfest »

Si j'ai bien suivi, Windows XP ne peut démarrer que s'il est installé sur le premier disque (au sens BIOS).
Si ce n'est pas le cas, les commandes map permettent de permuter les disques et donc de faire croire à Windows qu'il est sur le premier disque.

Dans tous les cas, le bios exécute le mbr du premier disque. Ensuite deux possibilités :
- sur ce mbr il y a un secteur de boot Windows, et Windows démarre
- sur ce mbr il y a un secteur de boot de Grub et Grub démarre. Ensuite il cherche la partition de boot là où il l'a trouvé lors de l'installation de grub (cela peut être n'importe quelle partition de n'importe quel disque).
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [Grub] multiboot d'un Windows sur un 2eme disque

Message par viperpaulo »

C'est marrant, je ne m'étais jamais rendu compte qu'XP devait être sur le premier disque au sens BIOS, je suis maintenant en dual avec W7 et ce n'est pas le cas !

Par contre, le BIOS exécute le mbr de n'importe quel disque que tu lui spécifie, mon grub est installé sur le mbr de mon 2ème disque et dans le BIOS j'ai spécifié dans la boot sequence de booter en premier sur mon 2ème disque. Je me trompe peut-être mais j'ai quand même l'impression que c'est ça que j'ai fait !
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [Grub] multiboot d'un Windows sur un 2eme disque

Message par oktoberfest »

Tu as raison. J'oublie que les bios ont évolué : tu peux maintenant indiquer au bios sur quel disque booter !
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Grub] multiboot d'un Windows sur un 2eme disque

Message par FoolEcho »

viperpaulo a écrit :Je dirais plutôt "vérifier que grub est installé sur le MBR du disque sur lequel tu bootes"
+1 (perso je le mettrai sur sdb/Linux, inversion dans le bios et menu.lst avec map selon le wiki ; ce faisant tu peux donc laisser le windows tranquille sur son disque -- pratique si tu veux enlever/récupèrer les disques un jour / pratique pour la maintenance, etc.).
Dans l'attente de précision à ce sujet, je rejoins les exemples donnés précédemment, tu as inversé hd0 et hd1 (en fait, là, ton Arch ne doit pas démarrer non plus... si ? ... :| )...
Cependant, en plus de cette confusion, j'ai surtout l'impression que le boot de windows est cassé.
viperpaulo a écrit :Mais je suis assez d'accord avec ta démarche, bien que je ne comprends pas l'intérêt du map, si quelqu'un a un exemple, je suis preneur !
Pour démarrer, Windows a besoin d'être sur le premier disque... ou de le croire, d'où le map (toujours vrai avec 7, il semble)... aucune idée pourquoi (codé en dur ?), mais c'est comme ça :roll: (certifié par moi :mrgreen: dans le passé avec du Xp/Arch, chacun sur son disque... sans map, tu ne bootes pas windows en démarrant en premier le disque Linux -- je ne sais plus ce qu'il se passait par contre, redémarrage direct ou erreur ? ). Maintenant que j'y pense, il y a peut-être une différence si le disque windows a toujours été laissé intact, c'est-à-dire que c'est lui qui occupe le MBR ou qu'on l'a restauré et qu'on démarre directement dessus, ce serait à vérifier.
«The following statement is not true. The previous statement is true.» :nage:
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [Grub] multiboot d'un Windows sur un 2eme disque

Message par oktoberfest »

FoolEcho a écrit : Pour démarrer, Windows a besoin d'être sur le premier disque... ou de le croire, d'où le map (toujours vrai avec 7, il semble)... aucune idée pourquoi (codé en dur ?)
Effectivement c'est codé en dur. Le bios charge le mbr du disque de boot (qui contient la table de partition) et lance l'exécution. Et le code de boot de Windows va chercher une partition active dans cette table.
Pour grub c'est différent : lors de l'installation de grub, l'installateur écrit dans le mbr à un endroit bien précis le numéro du disque où se trouve la partition de boot (ce que l'on a spécifié via la commande root)).

Pour les fans d'assembleur un bon lien ici
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
draho
newbie
Messages : 4
Inscription : jeu. 08 déc. 2011, 22:24

Re: [Grub] multiboot d'un Windows sur un 2eme disque

Message par draho »

FoolEcho a écrit : Dans l'attente de précision à ce sujet, je rejoins les exemples donnés précédemment, tu as inversé hd0 et hd1 (en fait, là, ton Arch ne doit pas démarrer non plus... si ? ... :| )...
Si si il marche bien puisque j'écris depuis cet OS.

Dans mon BIOS mon 1er disque de boot et le 2eme, sur lequel est installé Arch et donc grub. D'ailleurs j'ai essayé de booter pour voir mais ça ne marche pas.

J'ai testé toutes les config donnée par benjarobin mais rien n'y fait.
Vous pensez que c'est mon Windows qui est cassé ?
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17603
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Grub] multiboot d'un Windows sur un 2eme disque

Message par benjarobin »

Je te conseil donc de faire ceci :
- Tu prend un CD de Windows et tu fait fixboot + fixmbr
- Normalement tu peux démarrer Windows mais tu as perdu Grub
- Tu réinstalle Grub sur le MBR (voir wiki) et tu ne spécifie plus de "map" dans Grub car maintenant Windows sait où il est...
- :-)
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Grub] multiboot d'un Windows sur un 2eme disque

Message par FoolEcho »

draho a écrit :Dans mon BIOS mon 1er disque de boot et le 2eme, sur lequel est installé Arch et donc grub.
J'ai pas compris alors le sda/sdb du début, mais bon peu importe. :|
draho a écrit :Vous pensez que c'est mon Windows qui est cassé ?
Vraiment à tout hasard si tu n'as pas modifié l'amorce du disque windows, tu peux aussi essayer:

Code : Tout sélectionner

title Windows
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1) #ou (hd1,1)
makeactive
chainloader +1
... mais je pense qu'il te faut -- grillé par benjarobin :) -- réparer le chargeur de windows, à cause du bootmgr is missing. Ça doit être possible avec un disque d'installation de windows ou rescatux (http://www.supergrubdisk.org/rescatux/).
benjarobin a écrit :- Normalement tu peux démarrer Windows mais tu as perdu Grub
Pas sûr qu'il ait aussi grub sur le disque windows.
«The following statement is not true. The previous statement is true.» :nage:
draho
newbie
Messages : 4
Inscription : jeu. 08 déc. 2011, 22:24

Re: [Grub] multiboot d'un Windows sur un 2eme disque

Message par draho »

Bingo ! Avec un CD windows j'ai fait une réparation du bootmgr
Au reboot, j'ai eu quand même Gnome qui s'est lancé, et j'ai réussi à lancer mon Windows avec l'entrée :

Code : Tout sélectionner

title Windows
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,1)
makeactive
chainloader +1
Merci à vous de votre aide !
Répondre