• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Windows mit Grub booten?/Grub nicht gefunden

Hallo,

ich wollte für einen Freund ein System einrichten, auf dem man sowohl Suse 11.1 als auch Windows XP booten kann.... leider bin ich mit meinem Latein hier etwas am Ende, da ich selbst kein Windows besitze.

Das erste Problem ist, dass das BIOS (?) die richtige Festplatte zum Booten nicht findet. Es sind 3 kleine IDE-Platten und eine 320Gb-SATA eingebaut, auf der SATA-Platte sind sowohl Suse 11.1 als auch XP installiert. Leider bootet er von der SATA nicht. Nachdem einige Bios-Meldungen angezeigt wurden, hängt er und macht gar nicht mehr weiter (ohne jegliche Meldung), GRUB wird gar nicht erst angezeigt. Die Reihenfolge im BIOS sollte aber die SATA-Platte an erste STelle setzen. Verwendet man dagegen die Suse-DVD zum Booten, und wählt dort "Boot from hard disk" aus, so kommt man ins GRUB-Menü. Woran könnte es liegen?

Das zweite Problem ist, dass ich nicht weiss wie der Eintrag in die menu.lst lauten muss, damit man über GRUB Windows booten kann. Google spuckte zwar zahlreiche, aber widersprüchliche Ergebnisse aus. Zudem verwirrt mich die menu.lst! Suse ist auf sda2, XP auf sda3 installiert (zuerst Linux, dann XP). Trotzdem wird mit hda3,1 die vierte Platte angesprochen ... und das ist doch nicht gänzlich falsch, denn der Menü-Eintrag funktioniert ja korrekt (bootet Suse 11.1) :???:
Der Windows-Eintrag in die menu.lst haben wir bei einem Telefonat von Hand zusammengebastelt :)

Hier mal die /boot/grub/menu.lst:
Code:
# Modified by YaST2. Last modification on Mon Mar  2 23:40:24 CET 2009
default 0
timeout 8
gfxmenu (hd3,1)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX
    root (hd3,1)
    kernel /boot/vmlinuz root=/dev/disk/by-id/ata-WDC_WD3200AAKS-75L9A0_WD-WMAV20956936-part2 resume=/dev/disk/by-id/ata-WDC_WD3200AAKS-75L9A0_WD-WMAV20956936-part1 splash=silent showopts
    initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE LINUX
    root (hd3,1)
    kernel /boot/vmlinuz root=/dev/disk/by-id/ata-WDC_WD3200AAKS-75L9A0_WD-WMAV20956936-part2 showopts ide=nodma apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe
    initrd /boot/initrd
###Don't change this comment - YaST2 identifier: Original name: Windows XP###
    title Windows XP
    root (hd0,2)
    makeactive

Die Partitionierung sieht wie folgt aus:
Code:
# fdisk -l

Platte /dev/sda: 320.0 GByte, 320072933376 Byte
255 Köpfe, 63 Sektoren/Spuren, 38913 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x00085fe2

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1               2         262     2096482+  82  Linux Swap / Solaris
/dev/sda2             263        4178    31455270   83  Linux
/dev/sda3   *        4179        9399    41937682+   7  HPFS/NTFS
/dev/sda4            9400       38913   237071205    7  HPFS/NTFS

Platte /dev/sdb: 41.1 GByte, 41174138880 Byte
255 Köpfe, 63 Sektoren/Spuren, 5005 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x4043234c

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdb1   *           1        1912    15358108+   7  HPFS/NTFS
/dev/sdb2            1913        5005    24844522+   f  W95 Erw. (LBA)
/dev/sdb5            1913        2106     1558273+  82  Linux Swap / Solaris
/dev/sdb6            2107        3295     9550611   83  Linux
/dev/sdb7            3296        5005    13735543+  83  Linux

Platte /dev/sdc: 60.0 GByte, 60022480896 Byte
255 Köpfe, 63 Sektoren/Spuren, 7297 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0xf88cf88c

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdc1   *           1        3824    30716248+   7  HPFS/NTFS
/dev/sdc2            3825        7296    27888840    f  W95 Erw. (LBA)
/dev/sdc5            3825        7296    27888808+   7  HPFS/NTFS

Platte /dev/sdd: 80.0 GByte, 80026361856 Byte
255 Köpfe, 63 Sektoren/Spuren, 9729 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x04de04dd

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdd1   *           1        9728    78140128+   7  HPFS/NTFS
 

towo

Moderator
Teammitglied
Nur mal so als Denkanstoß, aber solange Du es nicht schaffst, daß die Kiste von der Platte bootet, auf welcher Grub installiert wurde, kannst Du in der menu.lst rummalen, so lange Du willst, es bringt nix.
Weiterhin, wenn die Bootplatte wirklich die Sata-Platte ist, und diese nicht bootet, wie wurde dann vorher Windows gestartet?
 
towo schrieb:
Nur mal so als Denkanstoß, aber solange Du es nicht schaffst, daß die Kiste von der Platte bootet, auf welcher Grub installiert wurde, kannst Du in der menu.lst rummalen, so lange Du willst, es bringt nix.
Weiterhin, wenn die Bootplatte wirklich die Sata-Platte ist, und diese nicht bootet, wie wurde dann vorher Windows gestartet?
Hallo,

danke erstmal für die prompte Antwort!

XP ist von einer CD aus installiert worden. allerdings hat er die Festplatte aber auch nicht gefunden, man brauchte ähnlich wie bei Suse die installations-CD, damit man überhaupt ins Bootmenü kommt. Dann liess sich das Windows allerdings doch hochfahren.

Windows hat bei der Installation dann grub zerschossen (wie zu erwarten). Dann habe ich grub noch mal über die "Repair System"-Funktion der Suse-DVD neu aufgespielt. Jetzt lässt sich Linux wieder normal booten, aber mir fehlt halt noch der "Windows-Eintrag".

Ich denke, dass hier tatsächlich zwei seperate Probleme vorliegen :-(

MfG
 
apox schrieb:
Trotzdem wird mit hda3,1 die vierte Platte angesprochen
Grub beginnt bei null zu zählen, also ist hda3,1 die zweite Partition der vierten Platte. Die Reihenfolge der Platten wird vom BIOS vorgegeben.

apox schrieb:
###Don't change this comment - YaST2 identifier: Original name: Windows XP###
title Windows XP
root (hd0,2)
makeactive
Hier fehlt auf jeden Fall die Zeile
Code:
chainloader +1
Auf Grund der vielen primären NTFS-Partitionen weiß ich natürlich nicht, ob sich Dein Windows tatsächlich auf der dritten Partition der ersten Platte befindet. Da wirst Du eventuell ein bißchen herumprobieren müssen. Falls sich Windows nicht auf der ersten Platte befindet, mußt Du auch http://de.opensuse.org/SDB:Windows_von_der_zweiten_Festplatte_booten berücksichtigen.
 
josef-wien schrieb:
apox schrieb:
Trotzdem wird mit hda3,1 die vierte Platte angesprochen
Grub beginnt bei null zu zählen, also ist hda3,1 die zweite Partition der vierten Platte. Die Reihenfolge der Platten wird vom BIOS vorgegeben.
Ach so, ich dachte bisher, dass die Linux-Bezeichnungen und die BIOS-Reihenfolge irgendwie korrespondieren, also

sda = hd0
sdb = hd1
usw.

Falls die SATA Platte sda aber hd3 entspricht (was auch die anderen menu.lst-Einträge erklären würde :-/), dann greife ich nochmal auf die Anleitung zurück.
 
apox schrieb:
Ach so, ich dachte bisher, dass die Linux-Bezeichnungen und die BIOS-Reihenfolge irgendwie korrespondieren
Das tun sie aber nicht. Grub nimmt die Reihenfolge, die das BIOS liefert. Bei Linux wirkt in erster Linie die Reihenfolge der Module in der initrd, danach kann die Reihenfolge bei jedem Systemstart anders sein. Aus diesem Grund wird z. B. in menu.lst und fstab /dev/disk/by-id/... verwendet (und nicht /dev/sd...).

Schau einmal in die Datei /boot/grub/device.map, und schau Dir einmal das Ergebnis von hwinfo --disk (insbesondere die Zeilen Device Files: und BIOS id:) an.
 
Wenn man beim Booten die Windows-Partition auswählt, meldet er jetzt: ntldr fehlt. Google sagt, da könnten BIOS-Einstellungen dran schuld sein. :-(
 
apox schrieb:
Google sagt, da könnten BIOS-Einstellungen dran schuld sein.
Das wird es wohl hier nicht sein.

Du hast folgende fünf primäre NTFS-Partitionen:
- 320 GB-Platte, primäre Partition 3
- 320 GB-Platte, primäre Partition 4
- 41,1 GB-Platte, primäre Partition 1
- 60 GB-Platte, primäre Partition 1
- 80 GB-Platte, primäre Partition 1
Von welcher Partition willst Du Windows starten?

Welche Ausgaben liefern aktuell die folgenden Befehle:
Code:
cat /boot/grub/menu.lst
hwinfo --disk
 
Oben