YAST zrobił coś takiego:
default 0
timeout 8
gfxmenu (hd1,1)/boot/message
title openSUSE 11.0
root (hd1,1)
kernel /boot/vmlinuz-2.6.25.20-0.4-pae root=/dev/disk/by-id/scsi-SATA_WDC_WD80EB-28CGWD-WCA9N7887834-part2 resume=/dev/sdb1 splash=silent showopts
initrd /boot/initrd-2.6.25.20-0.4-pae
title Windows
rootnoverify (hd1,1)
chainloader (hd0,0)+1
title Dyskietka
rootnoverify (hd1,1)
chainloader (fd0)+1
title Tryb bezpieczny -- openSUSE 11.0
root (hd1,1)
kernel /boot/vmlinuz-2.6.25.20-0.4-pae root=/dev/disk/by-id/scsi-SATA_WDC_WD80EB-28CGWD-WCA9N7887834-part2 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe
initrd /boot/initrd-2.6.25.20-0.4-pae
title Kernel-2.6.25.20-0.4-pae
root (hd1,1)
kernel /boot/vmlinuz-2.6.25.20-0.4-pae root=/dev/disk/by-id/scsi-SATA_WDC_WD80EB-28CGWD-WCA9N7887834-part2 resume=/dev/sdb1 splash=silent showopts
initrd /boot/initrd-2.6.25.20-0.4-pae
I Windows też się nie uruchamia.
Przede wszystkim nie powiedziałeś nic o układzie partycji na dysku, ale:
Windowsa uruchomić można tylko przez bootrecord na partycji startowej systemu. Aby to działało nie może być nadpisany boot record na partycji.
Ja mam openSuSE 11.1 x64, Windowsa XP Professional, Windowsa Vistę Enterprise i MS-DOS 6.22 + Windows 3.11 for Workgrups, a mój menu.lst wygląda mniej więcej tak:
default 0
timeout 5
gfxmenu (hd0,5)/boot/message
title Linux openSuSE 11.1 x64
root (hd0,4)
kernel /boot/kernelek root=/dev/sda5 resume=/dev/sda6 splash=silent showopts
initrd /boot/initrd-kernelek
title Linux openSuSE 11.1 x64 (Tryb tekstowy)
root (hd0,4)
kernel /boot/kernelek root=/dev/sda5 resume=/dev/sda6 splash=silent showopts init 3
initrd /boot/initrd-kernelek
title Linux openSuSE 11.1 x64 (Tryb bezpieczny)
root (hd0,4)
kernel /boot/kernelek root=/dev/sda5 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe
initrd /boot/initrd-kernelek
title Microsoft Windows XP Professional x86 SP3 PL
rootnoverify (hd0,1)
chainloader (hd0,1)
title Microsoft Windows Vista Enterprise x86 SP1 PL
rootnoverify (hd0,2)
chainloader (hd0,2)
title MS-DOS 6.22 & Microsoft Windows 3.11 for Workgrups PL
rootnoverify (hd0,0)
chainloader (hd0,0)
do tego własnoręcznie kompilowane jądro zapisane jako /dev/sda5/boot/kernelek...
rootnoverify (hdM,N) i chainloader (hdX,Y) aby (pod warunkiem, że wskazuje na partycję główną, na której jest poprawny bootsector) zadziałało musi spełniać warunek:
M = X & N = Y,
A ty tu masz, że najpierw jako partycję startową ustawia jedną, a potem próbuje bootować z zupełnie innej.
Aby windows wystartował nie musi być to partycja aktywna (DOS też startuje z partycji nieaktywnej), liczy się to tylko wtedy, gdy nie masz żadnego bootmanagera w MBR, który wrzuci na odpowiedni rejestr procesora adres kontrolera dyskowego odpowiadającego konkretnej partycji i wykona odpowiedniego "interapta" (Assambler się kłania...
)
Przerób swój menu.lst na mój wzór i upewnij się, że bootsector nie został nadpisany (np podczas instalacji linuxa, który czasem lubi robić takie triki, szczególnie jak nie zwrócisz uwagi na parametry instalacji Gruba czy LiLo - jeszcze ktoś używa lilo??
) a napewno zadziała.
W Grubie masz:
hd0,0 - pierwsza partycja na pierwsyzm dysku twardym, nie ważne jak w lilo, czy IDE, ATAPI, SCSI, SATA,
hd0,1 - druga partycja na pierwszym dysku
hd0,2 - trzecia partycja na pierwszym dysku
hd0,3 - czwarta partycja na pierwszym dysku (zazwyczaj rozszerzona jak masz dyski logiczne)
hd0,4 - pierwsza partycja logiczna na pierwszym dysku
hd0,5 - druga partycja logiczna na pierwszym dysku
i tak dalej...
hd1,0 - pierwsza partycja na drugim dysku.
i jak wyżej.