PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Win XP mit grub starten



Nachbar
19.07.07, 07:49
Hallo Linuxgemeinde

habe bei meinem Sohn auf älterem Rechner opensuse 10.2 2.6.18.2-34-default (geeko@buildhost) (gcc version 4.1.2 20061115 (prerelease) (SUSE Linux)) #1 SMP Mon Nov 27 11:46:27 UTC 2006 installiert (32bit), läuft prima.
Nun habe ich eine zweite Festplatte eingebaut und hier Win XP draufgetan - für Spiele und so. Windows ist die Masterplatte (hda), Linux ist Slave (hdb). Beim Boot kann ich im Bios die Platte für den Bootvorgang anwählen, beide Systeme starten dann jeweils problemlos. Allerdings wäre es komfortabler, die Windows-Partition auf dem Bootmenu von Grub heraus starten zu können. Dafür habe ich fstab und /grub/menu.lst nach Hinweisen in diversen Foren etwas verbogen, aber leider erfolglos. Wenn ich mit grub "windows" anwähle, bricht der Bootvorgang mit Fehler 13 ab. In der boot.msg steht zudem ein Fehler "unknown file type FAT", und hda wird wohl nicht gemounted beim Start. Wenn ich auf der Kommandozeile den Befehl "mount /dev/hda1 /windows/C" eingebe, ist der Mountvorgang jedoch erfolgreich, und ich kann von Linux aus auf die Windows-Partition zugreifen. Deshalb vermute ich einen Fehler in der menu.lst, die so aussieht:

Modified by YaST2. Last modification on Do Jul 5 20:53:43 UTC 2007
default 0
timeout 8
gfxmenu (hd0,5)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.2
root (hd0,5)
kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/hdb6 vga=0x317 resume=/dev/hdb1 splash=silent showopts
initrd /boot/initrd-2.6.18.2-34-default

###Don't change this comment - YaST2 identifier: Original name: openSUSE 10.2 (/dev/hdb2)###
title openSUSE 10.2 (/dev/hdb2)
kernel (/dev/hdb,1)/boot/vmlinuz root=/dev/hdb2 vga=0x317 resume=/dev/hdb1 splash=silent showopts
initrd (/dev/hdb,1)/boot/initrd

###Don't change this comment - YaST2 identifier: Original name: openSUSE 10.2 (/dev/hdb5)###
title openSUSE 10.2 (/dev/hdb5)
kernel (/dev/hdb,4)/boot/vmlinuz root=/dev/hdb5 vga=0x317 resume=/dev/hdb1 splash=silent showopts
initrd (/dev/hdb,4)/boot/initrd

###Don't change this comment - YaST2 identifier: Original name: floppy###
title Diskette
rootnoverify (hd0,0)
chainloader (fd0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.2
root (hd0,5)
kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/hdb6 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
initrd /boot/initrd-2.6.18.2-34-default

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
root (hd0,0)
makeactive
chainloader +1
savedefault
oder evtl. auch in der fstab:

dev/hdb6 / ext3 acl,user_xattr 1 1
/dev/hdb7 /home ext3 acl,user_xattr 1 2
/dev/hda1 /windows/C FAT ro,users,gid=users,umask=0002,nls=utf8 0 0
/dev/hdb1 swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
/dev/fd0 /media/floppy auto noauto,user,sync 0 0
/dev/sda /media/floppy2 auto noauto,user,sync 0 0

Kann mir jemand sagen, wo es hakt??

Danke für jeden Hinweis.

reni
19.07.07, 07:51
Poste bitte noch die Ausgabe von:

fdisk -l
cat /boot/grub/device.map

frank66
19.07.07, 08:39
Mit
title Windows
rootnoverify (hd0,0)
chainloader +1
in der menu.lst sollte es eigentlich gehen. Ändere das einfach mal ab.

Gruß
Frank

Tux390
19.07.07, 08:39
poste auch bitte zusätzlich mal deine /boot/grub/grub.conf


wahrscheinlich hast du hier einen falschen Eintrag

Rain_maker
19.07.07, 09:02
Dafür habe ich fstab und /grub/menu.lst nach Hinweisen in diversen Foren etwas verbogen,

Jupp, das kann man so sagen ;)

Von diesen 5 Einträgen für openSUSE können zumindest die hier (fett) nicht funktionieren.


Modified by YaST2. Last modification on Do Jul 5 20:53:43 UTC 2007
default 0
timeout 8
gfxmenu (hd0,5)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.2
root (hd0,5)
kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/hdb6 vga=0x317 resume=/dev/hdb1 splash=silent showopts
initrd /boot/initrd-2.6.18.2-34-default

###Don't change this comment - YaST2 identifier: Original name: openSUSE 10.2 (/dev/hdb2)###
title openSUSE 10.2 (/dev/hdb2)
kernel (/dev/hdb,1)/boot/vmlinuz root=/dev/hdb2 vga=0x317 resume=/dev/hdb1 splash=silent showopts
initrd (/dev/hdb,1)/boot/initrd

###Don't change this comment - YaST2 identifier: Original name: openSUSE 10.2 (/dev/hdb5)###
title openSUSE 10.2 (/dev/hdb5)
kernel (/dev/hdb,4)/boot/vmlinuz root=/dev/hdb5 vga=0x317 resume=/dev/hdb1 splash=silent showopts
initrd (/dev/hdb,4)/boot/initrd

###Don't change this comment - YaST2 identifier: Original name: floppy###
title Diskette
rootnoverify (hd0,0)
chainloader (fd0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.2
root (hd0,5)
kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/hdb6 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
initrd /boot/initrd-2.6.18.2-34-default

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
root (hd0,0)
makeactive
chainloader +1
savedefault

Poste die Daten, die reni genannt hat; eine /boot/grub/grub.conf gibt es bei openSUSE leider nicht, vielleicht war die Datei /etc/grub.conf gemeint.

Greetz,

RM

Tux390
19.07.07, 09:07
ja genau ;) poste pls die /boot/grub.conf

Nachbar
19.07.07, 09:09
Platte /dev/hda: 80.0 GByte, 80026361856 Byte
255 heads, 63 sectors/track, 9729 cylinders
Einheiten = Zylinder von 16065 �512 = 8225280 Bytes

Ger� boot. Anfang Ende Bl�ke Id System
/dev/hda1 * 1 9729 78148161 c W95 FAT32 (LBA)

Platte /dev/hdb: 80.0 GByte, 80026361856 Byte
255 heads, 63 sectors/track, 9729 cylinders
Einheiten = Zylinder von 16065 �512 = 8225280 Bytes
Danke für die raschen Anworten.

fdisk -l gibt:
Ger� boot. Anfang Ende Bl�ke Id System
/dev/hdb1 * 1 262 2104483+ 82 Linux Swap / Solaris
/dev/hdb2 263 2867 20924662 83 Linux
/dev/hdb3 2874 9729 55070820 f W95 Erw. (LBA)
/dev/hdb5 2874 5484 20972826 83 Linux
/dev/hdb6 5485 7182 13639153+ 83 Linux
/dev/hdb7 7183 9729 20458746 83 Linux

Platte /dev/sda: 2055 MByte, 2055207936 Byte
33 heads, 63 sectors/track, 1930 cylinders
Einheiten = Zylinder von 2079 �512 = 1064448 Bytes

Ger� boot. Anfang Ende Bl�ke Id System
/dev/sda1 1 1931 2007023 6 FAT16

device.map gibt:
(fd0) /dev/fd0
(hd0) /dev/hda
(hd1) /dev/hdb

grub.config in /boot/grub exisiterit bei mir nicht.

Danke für weitere Hinweise.

Rain_maker
19.07.07, 09:16
So, jetzt das Ganze bitte noch in CODE-Tags packen, damit man das auch lesen kann und sieht. was zueinander gehört.

http://www.linuxforen.de/forums/showthread.php?t=229647

Auf Deiner 2. Platte ist laut fdisk gar kein Windows, sondern nur eine erweiterte (leere) Partition. Da kann nichts booten, weil "fällt aus wegen ist nicht".

Greetz,

RM

Tux390
19.07.07, 09:21
hab bei meiner open Suse geschwind nachgeschaut, die grub.conf liegt hier komischerweise in /etc/grub.conf

Nachbar
19.07.07, 09:33
Sorry

hier nochmals die "saubere Version" von fdisk -l


fdisk -l

Platte /dev/hda: 80.0 GByte, 80026361856 Byte
255 heads, 63 sectors/track, 9729 cylinders
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

Gerät boot. Anfang Ende Blöcke Id System
/dev/hda1 * 1 9729 78148161 c W95 FAT32 (LBA)

Platte /dev/hdb: 80.0 GByte, 80026361856 Byte
255 heads, 63 sectors/track, 9729 cylinders
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

Gerät boot. Anfang Ende Blöcke Id System
/dev/hdb1 * 1 262 2104483+ 82 Linux Swap / Solaris
/dev/hdb2 263 2867 20924662 83 Linux
/dev/hdb3 2874 9729 55070820 f W95 Erw. (LBA)
/dev/hdb5 2874 5484 20972826 83 Linux
/dev/hdb6 5485 7182 13639153+ 83 Linux
/dev/hdb7 7183 9729 20458746 83 Linux

Dass da kein Windows drauf ist, kann ich nicht verstehen. Wie gesagt, ich kann im BIOS die Windowsplatte zum Booten auswählen, und Windows startet einwandfrei. Also ist da doch was. Und wie schon gesagt, kann ich die Windows Partition manuell mounten. Die Fehlermeldung beim Boot "unknown filesystem FAT" - kann das noch was bedeuten (habe in der fstab aber auch schon fat und fat32 und FAT32 eingeben - ohne Änderung)??

Danke für weitere Hilfe.
P.S. Bei Opensuse existiert weder boot/grub/grub.config noch etc/grub.config.



Die menu.lst habe ich nochmals geändert wie vorgeschlagen (rootnoverify ....), ohne Erfolg.

Nachbar
19.07.07, 09:37
Hab nochmals genauer geschaut und grub.config jetzt doch in /etc gefunden, sieht so aus:


setup --stage2=/boot/grub/stage2 (hd0) (hd0,5)
quit

Bringt das was??

Tux390
19.07.07, 09:39
looool.... die datei heißt nicht grub.config!!! sonder grub.conf!! und liegt in etc , aber belassen wirs dabei Schau dir den link an link (http://de.opensuse.org/SDB:Der_Bootmanager_GRUB)

reni
19.07.07, 09:55
Also deine grub.conf verwesit auf eine Partition auf /dev/hda, die es gar nicht gibt: (hd0,5) wäre /dev/hda4

Liegt vermutlich daran, weil zum Zeitpunkt der Linux-Installation die jetzige erste Platte nicht da war und somit die jetzige 2. Platte die erste (hd0) war.

Du könntest jetzt die grub.conf anpassen und aus (hd0) (hd1) und aus (hd0,5) (hd1,5) machen.

Oder du versuchst via YaST - System - Bootloaderkonfiguration
eine neue Konfiguration zu erstellen.
Das sollte funktionieren.

Tux390
19.07.07, 10:08
sry für den doppel post

Tux390
19.07.07, 10:09
am besten wäre es wenn du deinen grub einfach neu drauf installierst und dann nimmt er automatisch alle nötigen einträge vor (via yast oder manuell ,grub-install)

Rain_maker
19.07.07, 10:43
Das mit der erweiterten Partition war übrigens Quatsch, da hatte ich Tomaten auf den Augen.

Greetz,

RM

Nachbar
22.07.07, 20:37
Hallo Linuxuser
komme auf mein kleines Problem nochmals zurück. Habe mittlerweile auf hda ein neues Win XP aufgespielt (professional) und grub unter Linux wie vorgeschlagen neu installiert, aber das Problem, dass sich die Windows Partition mit grub nicht starten lässt, bleibt. Opensuse 10.2 startet mit grub sauber, bei Windows kommt Error 13: Invalid or unsupported executable format.
Auch eine Systemreparatur mit YAST hat daran nichts geändert. Allerdings funktioniert das automount von hda1 (Windows) jetzt fehlerfrei, der Fehler in der boot.msg ist weg.

Also hier nochmals die aktuellen Ausgaben von fdisk, fstab, menu.lst., grub.conf und device.map:

fdisk -l bringt:

Platte /dev/hda: 80.0 GByte, 80026361856 Byte
255 heads, 63 sectors/track, 9729 cylinders
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

Gerät boot. Anfang Ende Blöcke Id System
/dev/hda1 * 1 9729 78148161 7 HPFS/NTFS

Platte /dev/hdb: 80.0 GByte, 80026361856 Byte
255 heads, 63 sectors/track, 9729 cylinders
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

Gerät boot. Anfang Ende Blöcke Id System
/dev/hdb1 * 1 262 2104483+ 82 Linux Swap / Solaris
/dev/hdb2 263 2867 20924662 83 Linux
/dev/hdb3 2874 9729 55070820 f W95 Erw. (LBA)
/dev/hdb5 2874 5484 20972826 83 Linux
/dev/hdb6 5485 7182 13639153+ 83 Linux
/dev/hdb7 7183 9729 20458746 83 Linux


/etc/fstab bringt:

/dev/hdb6 / ext3 acl,user_xattr 1 1
/dev/hdb7 /home ext3 acl,user_xattr 1 2
/dev/hda1 /windows/C ntfs ro,users,gid=users,umask=0002,nls=utf8 0 0
/dev/hdb1 swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
/dev/fd0 /media/floppy auto noauto,user,sync 0 0
/dev/sda /media/floppy2 auto noauto,user,sync 0 0


/boot/grub/menu.lst bringt:

# Modified by YaST2. Last modification on Do Jul 5 20:53:43 UTC 2007
default 0
timeout 8
gfxmenu (hd0,5)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.2
root (hd0,5)
kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/hdb6 vga=0x317 resume=/dev/hdb1 splash=silent showopts
initrd /boot/initrd-2.6.18.2-34-default

###Don't change this comment - YaST2 identifier: Original name: openSUSE 10.2 (/dev/hdb2)###
title openSUSE 10.2 (/dev/hdb2)
kernel (/dev/hdb,1)/boot/vmlinuz root=/dev/hdb2 vga=0x317 resume=/dev/hdb1 splash=silent showopts
initrd (/dev/hdb,1)/boot/initrd

###Don't change this comment - YaST2 identifier: Original name: openSUSE 10.2 (/dev/hdb5)###
title openSUSE 10.2 (/dev/hdb5)
kernel (/dev/hdb,4)/boot/vmlinuz root=/dev/hdb5 vga=0x317 resume=/dev/hdb1 splash=silent showopts
initrd (/dev/hdb,4)/boot/initrd

###Don't change this comment - YaST2 identifier: Original name: floppy###
title Diskette
rootnoverify (hd0,0)
chainloader (fd0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.2
root (hd0,5)
kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/hdb6 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
initrd /boot/initrd-2.6.18.2-34-default

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
root (hd0,0)
chainloader +1


/etc/grub.conf bringt:

setup --stage2=/boot/grub/stage2 (hd1) (hd1,5)
quit


/boot/grub/device.map bringt:

(fd0) /dev/fd0
(hd0) /dev/hda
(hd1) /dev/hdb


Ich bin wirklich Laie in Linuxfragen, aber ein Widerspruch erscheint mit zwischen der grub.conf (hd1) (hd1,5) und der menu.lst mit openSUSE 10.2 (hd0,5) - oder ist das okay??

Nur nochmals zur Info: Wenn ich im Bios-Bootmenu die jeweilige Platte anwähle (mit Windows oder Linux), startet das jeweilige Betriebssystem einwandfrei.

Die hdb-Partitionierung ist mir ohnenhin schleierhaft, aber das habe ich YAST bei der Installation so machen lassen, wie es angeboten wurde. Na ja, aber das ist wahrscheinlich nicht der "crucial point".

Tja, vielleicht gibt´s ja noch ein paar Tipps. Besten Dank an alle.

MiGo
23.07.07, 06:12
Ich bin wirklich Laie in Linuxfragen, aber ein Widerspruch erscheint mit zwischen der grub.conf (hd1) (hd1,5) und der menu.lst mit openSUSE 10.2 (hd0,5) - oder ist das okay??
Das scheint mir nicht OK; ich kann mir allerdings auch vorstellen, woher es kommt.
Wenn du von der 2. Festplatte bootest, vertauscht das Bios die Platten - aus (hd0) wird also (hd1) und umgekehrt und genau so sieht das auch Grub.

Es ist also wichtig zu wissen, a) Welche Platte als Bootplatte eingestellt war, als du Grub installiert hast und b) von welcher Platte du bootest.

Wenn du von der 2. Platte bootest, mach mal aus dem Windowseintrag folgendes:


###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd0,0)
chainloader +1
Oder müsste es dann " rootnoverify (hd1,0)" heißen? Ich kann mir das nie merken :)
Versuch im Zweifelsfall halt beides :)

Tux390
23.07.07, 07:57
# Modified by YaST2. Last modification on Fr Jul 13 16:38:19 UTC 2007
default 0
timeout 8
gfxmenu (hd0,6)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.2
root (hd0,6)
kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/hda7 vga=0x317 resume=/dev/hda6 splash=silent showopts
initrd /boot/initrd-2.6.18.2-34-default

###Don't change this comment - YaST2 identifier: Original name: xen###
title XEN
root (hd0,6)
kernel /boot/xen.gz
module /boot/vmlinuz-2.6.18.2-34-xen root=/dev/hda7 vga=0x317 resume=/dev/hda6 splash=silent showopts
module /boot/initrd-2.6.18.2-34-xen

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
rootnoverify (hd0,0)
chainloader (hd0,0)+1

###Don't change this comment - YaST2 identifier: Original name: floppy###
title Diskette
rootnoverify (hd0,0)
chainloader (fd0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.2
root (hd0,6)
kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/hda7 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
initrd /boot/initrd-2.6.18.2-34-default




Sie sieht meine menu.lst aus

und meine grub.conf so:
setup --stage2=/boot/grub/stage2 (hd0) (hd0,6)
quit



Bei mir liegen aber Windows und Linux auf der selben Platte ,nur auf unterschiedlichen Partitionen , hoffe das hilft dir ein wenig weiter ;)

Nachbar
23.07.07, 09:01
Hallo Linuxuser

vielen Dank für Eure Tipps und Geduld.

MIGo´s Anleitung hat´s schließlich gebracht. Die menu.lst habe ich für Windows so geändert:


###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
chainloader +1


Es muss also (hd1,0) heißen, (hd0,0) läuft nicht! Auf Euch ist Verlass, ich wusste es!!

bigking01
24.07.07, 22:32
Ja ich hatte ähnliche Probleme. Bin auch hier prima geholfen worden.