Windows ne démarre pas à partir de hd1

J'ai ajouté un second disque à mon système et copié mon linux-installation + grub dessus. Mon système contient 2 disques maintenant:

hd0: sda5: linux hd1: (old system with dualboot) sdb2: windows sdb5: linux 

Si je démarre à partir de hd1 (menu de démarrage de Bios ou détwigr hd0), Windows démarre immédiatement, mais si je démarre à partir de hd0 et sélectionne pour démarrer à partir de Windows, il me montre seulement un écran noir avec un coursier clignotant.

hd0 / grub.cfg (ne fonctionne pas)

 menuentry 'Windows 7 (loader) (/dev/sdb1)' --class windows --class os $menuentry_id_option 'osprober-chain-9C567F24567EFE78' { insmod part_msdos insmod ntfs set root='hd1,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 9C567F24567EFE78 else search --no-floppy --fs-uuid --set=root 9C567F24567EFE78 fi parttool ${root} hidden- chainloader +1 } 

hd1 / grub.cfg (fonctionne)

 menuentry 'Windows 7 (loader) (/dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-9C567F24567EFE78' { insmod part_msdos insmod ntfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 9C567F24567EFE78 else search --no-floppy --fs-uuid --set=root 9C567F24567EFE78 fi parttool ${root} hidden- chainloader +1 } 

PS: Mon système est un peu vieux maintenant (athlon x4) avec un bios normal et non UEFI.

Des idées, ou comment puis-je get plus d'informations de debugging?

Ou y a-t-il des limitations et les windows doivent toujours être installées sur le premier disque dur? (Même en 2016)

Solution:

 menuentry 'Windows 7 cust' --class windows --class os $menuentry_id_option 'osprober-chain-9C567F24567EFE78' { insmod part_msdos insmod ntfs set root='hd1,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 9C567F24567EFE78 else search --no-floppy --fs-uuid --set=root 9C567F24567EFE78 fi ###parttool ${root} hidden- drivemap -s (hd0) ${root} ### intern disk swap chainloader +1 } 

Amorcer des windows avec Grub sur un lecteur non-premier est un peu compliqué: vous devrez échanger vos disques:

Si vous avez installé DOS (ou Windows) sur un autre disque dur, vous devez utiliser la technique d'échange de disque, car ce operating system ne peut démarrer à partir d'aucun disque, mais le premier. La solution de contournement utilisée dans GRUB est la command drivemap (voir drivemap), comme ceci:
drivemap -s (hd0) (hd1)

Plus de détails sur https://www.gnu.org/software/grub/manual/html_node/DOS_002fWindows.html#DOS_002fWindows