Page 1 sur 1
[Grub] multiboot d'un Windows sur un 2eme disque (resolu)
Publié : jeu. 08 déc. 2011, 22:36
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 ?
Re: [Grub] multiboot d'un Windows sur un 2eme disque
Publié : jeu. 08 déc. 2011, 22:54
par benjarobin
Tu as essayé tout simplement ceci :
ou
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.
Re: [Grub] multiboot d'un Windows sur un 2eme disque
Publié : jeu. 08 déc. 2011, 23:20
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).
Re: [Grub] multiboot d'un Windows sur un 2eme disque
Publié : ven. 09 déc. 2011, 09:13
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 ..
Re: [Grub] multiboot d'un Windows sur un 2eme disque
Publié : ven. 09 déc. 2011, 09:35
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).
Re: [Grub] multiboot d'un Windows sur un 2eme disque
Publié : ven. 09 déc. 2011, 09:49
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 !
Re: [Grub] multiboot d'un Windows sur un 2eme disque
Publié : ven. 09 déc. 2011, 10:39
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).
Re: [Grub] multiboot d'un Windows sur un 2eme disque
Publié : ven. 09 déc. 2011, 10:55
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 !
Re: [Grub] multiboot d'un Windows sur un 2eme disque
Publié : ven. 09 déc. 2011, 11:07
par oktoberfest
Tu as raison. J'oublie que les bios ont évolué : tu peux maintenant indiquer au bios sur quel disque booter !
Re: [Grub] multiboot d'un Windows sur un 2eme disque
Publié : ven. 09 déc. 2011, 11:19
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

(certifié par moi

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.
Re: [Grub] multiboot d'un Windows sur un 2eme disque
Publié : ven. 09 déc. 2011, 11:43
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
Re: [Grub] multiboot d'un Windows sur un 2eme disque
Publié : dim. 11 déc. 2011, 19:01
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é ?
Re: [Grub] multiboot d'un Windows sur un 2eme disque
Publié : dim. 11 déc. 2011, 19:17
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...
-

Re: [Grub] multiboot d'un Windows sur un 2eme disque
Publié : dim. 11 déc. 2011, 19:25
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.
Re: [Grub] multiboot d'un Windows sur un 2eme disque
Publié : dim. 11 déc. 2011, 21:08
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 !