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

openSUSE 11.0, GRUB und XP-Bootmanager

A

Anonymous

Gast
Hallo Forum,

ich habe viele Einträge im Forum gelesen, die mein Problem aber leider nicht lösen konnten. Viele Treads waren vielversprechend, sind dann jedoch meistens irgendwie vom Thema abgekommen.

Mein Problem:

Ich möchte openSUSE 11.0 parallel zu WinXp betreiben und als Bootloader weiterhin den von XP verwenden. Dazu habe ich SUSE auf einer eigenen Partition installiert. GRUB wurde in die Root-Partition geschrieben. Mit mount /dev/fd0 /media/floppy habe das Diskettenlaufwerk gemountet. Anschließend mit dd if=/dev/sda14 of=/media/floppy/bootsek.lin bs=512 count=1 die bootsek.lin auf die Diskette kopiert. Diese anschließend ins Windows-Verzeichnis C:\bootsek.lin kopiert und einen Eintrag in der boot.ini vorgenommen. Leider erscheint nach der Auswahl im Windows-Bootmanager nur ein schwarzer Bildschirm mit der Bezeichnung: GRUB_

Was läuft hier schief? Habe doch alles nach Anweisung gemacht!

Folgende Fragen habe ich:

1. Befindet sich der GRUB-Bootloader, denn ich ja mit dem Befehl grub-install /dev/sda14 auf meine Festplatte schreiben kann, vielleicht in einem Unterverzeichnis, sodass meine bootsek.lin irgendwie leer ist? Habe beispielsweise die Verzeichnisse: /boot/grub und /boot/boot/grub entdeckt.

2. Kann man die bootsek.lin irgendwie öffnen, um herauszufinden, was drin steht?

3. Habe versucht mit grub-install /dev/fd0 den Bootloader direkt auf Diskette zu speichern, um anschließend davon zu booten. Leider hat das mit der Meldung: GRUB_ auch nicht funktioniert.

4. Kann man bei der SUSE-Installation gleich das Diskettenlaufwerk als Ort des Bootloaders auswählen? Bei 10.0 war das noch möglich? Habe irgendwas gelesen, dass man auf Datenträger speichern könnte oder so!

5. Habe ich meine SUSE-Partition vielleicht zu klein ausgewählt (5GB für root, 3 GB für home, und 2,9 für swap), sodass es irgendwie damit was zu tun hat?

6. Ich muss nach der Beendigung von SUSE immer wieder die Option "Installieren" auswählen, um auf mein SUSE zugreifen zu können. Die Option "Installiertes System booten" gibt es bei mir gar nicht.

Hoffe sehr, dass jemand meine Fragen beantworten kann, damit ich endlich mal anfangen kann SUSE richtig kennen zu lernen - so macht`s noch keinen Spaß umzusteigen.
 
Lass uns doch erst einmal sehen, ob Grub richtig konfiguriert ist.
Poste dafür bitte die Ausgabe von:
Code:
fdisk -l (kleines L),
cat /etc/fstab
cat /boot/grub/menu.lst
cat /boot/grub/device.map
 
OP
A

Anonymous

Gast
So, habe das SUSE-System jetzt noch mal ganz neu aufgesetzt und folgendes kopiert:

# fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x2b60c1a1

Device Boot Start End Blocks Id System
/dev/sda1 * 1 1275 10241406 7 HPFS/NTFS
/dev/sda2 1276 4079 22523130 7 HPFS/NTFS
/dev/sda3 4080 5864 14338012+ 7 HPFS/NTFS
/dev/sda4 5865 19457 109185772+ f W95 Ext'd (LBA)
/dev/sda5 5865 6756 7164958+ 7 HPFS/NTFS
/dev/sda6 6757 8669 15366141 7 HPFS/NTFS
/dev/sda7 8670 9306 5116671 7 HPFS/NTFS
/dev/sda8 9307 11855 20474811 7 HPFS/NTFS
/dev/sda9 11856 15170 26627706 7 HPFS/NTFS
/dev/sda10 15171 16700 12289693+ 7 HPFS/NTFS
/dev/sda11 16701 17849 9229311 7 HPFS/NTFS
/dev/sda12 17850 18246 3188871 7 HPFS/NTFS
/dev/sda13 18247 18440 1558273+ 82 Linux swap / Solaris
/dev/sda14 18441 19093 5245191 83 Linux
/dev/sda15 19094 19457 2923798+ 83 Linux

Disk /dev/sdb: 1031 MB, 1031798784 bytes
255 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x91f72d24

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 126 1007584+ 6 FAT16


# cat /etc/fstab
/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part13 swap swap defaults 0 0
/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part14 / ext3 acl,user_xattr 1 1
/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part15 /home ext3 acl,user_xattr 1 2
/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part1 /windows/C ntfs-3g users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part2 /windows/D ntfs-3g users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part3 /windows/E ntfs-3g users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part5 /windows/F ntfs-3g users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part6 /windows/G ntfs-3g users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part7 /windows/H ntfs-3g users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part8 /windows/I ntfs-3g users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part9 /windows/J ntfs-3g users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part11 /windows/K ntfs-3g users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part12 /windows/L ntfs-3g users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 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


# cat /boot/grub/menu.lst
# Modified by YaST2. Last modification on Fr Aug 8 16:52:16 UTC 2008
default 0
timeout 8
gfxmenu (hd0,13)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0 - 2.6.25.5-1.1
root (hd0,13)
kernel /boot/vmlinuz-2.6.25.5-1.1-pae root=/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part14 resume=/dev/sda13 splash=silent showopts vga=0x31a
initrd /boot/initrd-2.6.25.5-1.1-pae

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.0 - 2.6.25.5-1.1
root (hd0,13)
kernel /boot/vmlinuz-2.6.25.5-1.1-pae root=/dev/disk/by-id/scsi-SATA_Hitachi_HDS7216_PV7905Z9S67TKV-part14 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe vga=0x31a
initrd /boot/initrd-2.6.25.5-1.1-pae

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

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

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

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

###Don't change this comment - YaST2 identifier: Original name: floppy###
title Diskette
rootnoverify (hd0,13


# cat /boot/grub/device.map
(fd0) /dev/fd0
(hd0) /dev/sda
(hd1) /dev/sdb

Bin gespannt, was man daraus lesen kann?
 
OP
A

Anonymous

Gast
Weitere Vorschläge?!

Gruß svenfrancisco
 
OP
A

Anonymous

Gast
Warum das nicht funktioniert, könnte 2 Gründe haben.

1. Suse ab Version 10.3 der Inhalt der /etc/grub.conf ist nicht auf den vermuteten Bereich (hier sollte bei dir (hd0,13) (hd0,13) gesetzt sein).
Und der Befehl (script) grub-install der in vielen Howtos verwendet wird, funktioniert anders
Der Zusammenhang und die Hintergründe, beides ist hier nachzulesen

2. In vielen Howtos wird davon ausgegangen, dass der komplette Bootloader nur diese ersten 512 Byte sind, das stimmt aber nur bedingt bei Grub. Eine genaue Erklärung dafür ist hier etwas kompliziert und hat sehr viel mit der Adressierung der Platten und Datenblöcke vom BIOS zu tun, und ist in wenigen Worten nicht zu erklären. Jedenfalls ist im Bootloader von Grub (Stage1) eine Adresse hinterlegt entweder direkt auf Stage2 oder auf Filesystemtype_stage1_5. Bei dieser Adressierung gibt es die Möglichkeit, dass die Platte entweder als "absolut" entsprechend BIOS oder als "selbst (aktuell)" adressiert werden könnte, beides hat Auswirkungen auf die Verwendbarkeit zB für Kopien dieses Bootloaders.
Filesystemtype_stage1_5 enthält dann die Adressierungsform "(BIOS)Platte:partition:Dateinamen" von stage2 und menu.lst
Wobei beachtet werden muss dass gerne mit einer Kopie von Filesystemtype_stage1_5 gearbeitet wird, und nicht mit der Datei in /boot/grub selbst. Die Kopie könnte gegebenenfalls auf der Platte in einen normalerweise unbenutzten Bereich zwischen MBR und dem Beginn der 1.Partition oder in einen Bereich zwischen Partitionsanfang und dem Anfang des Filesystemes (zB Reiserfs) positioniert sein. zum selbst weiterbilden Wenn man bei der Installation des Bootloaders die Ausgaben nicht nach /dev/null umleitet sieht man sehr schön wie er da versucht Platz für die stage1_5 Datei zu finden und sie dann gegebenenfalls auch dort positioniert.
Desweiteren ist für eine Adressierung noch die Plattengeometrie und die Partitionsaufteilung von Bedeutung die sich am Ende des MBR befindet.

Summa Summarum, eine Kopie der 512Byte Grub Bootloader funktioniert nur unter bestimmten Voraussetzungen einwandfrei. In Grenzfällen muss man es ausprobieren.

Ich würde versuchen den Bootloader direkt auf eine Floppy zu schreiben und diesen dann erstmal ausprobieren eh ich ihn über den Windowsbootmanager einbinde. (Stichwort grub-install.unsupported)
Bei dieser Konfiguration sollte Grub darauf verzichten stage1_5 auf die Floppy zu kopieren und müsste die Platte über BIOS "absolut" adressieren sowie auf der Partitionstabelle im MBR auf der Platte vertrauen

robi
 
OP
A

Anonymous

Gast
Oh ha,

bin nicht sicher, ob ich das alles verstanden habe - jedenfalls schon einmal vielen Dank für die ausführlichen Infos!!!

robi schrieb:
1. Suse ab Version 10.3 der Inhalt der /etc/grub.conf ist nicht auf den vermuteten Bereich (hier sollte bei dir (hd0,13) (hd0,13) gesetzt sein).
Und der Befehl (script) grub-install der in vielen Howtos verwendet wird, funktioniert anders
Der Zusammenhang und die Hintergründe, beides ist hier nachzulesen

In meiner /etc/grub.conf steht wirklich (hd0,13) (hd0,13) drin.

robi schrieb:
Ich würde versuchen den Bootloader direkt auf eine Floppy zu schreiben und diesen dann erstmal ausprobieren eh ich ihn über den Windowsbootmanager einbinde. (Stichwort grub-install.unsupported)
Bei dieser Konfiguration sollte Grub darauf verzichten stage1_5 auf die Floppy zu kopieren und müsste die Platte über BIOS "absolut" adressieren sowie auf der Partitionstabelle im MBR auf der Platte vertrauen

Habe mit dem Befehl: grub-install.unsupported /dev/fd0 GRUB auf die Diskette zu kopieren. Da wurde auch was kopiert. Leider startet SUSE nicht. Es erschein wiederum nur GRUB_ sonst nichts. Habe auch probiert den auf die Diskette kopierten Bootboader in eine bootsek.lin umzuwandel, wiederum ohne Erfolg!

Muss ich bei der Installation und der Lage des Bootloaders bei der Auswahl der root-Partition noch irgendetwas mit "aktives Flag" oder Generischer Bootcode" auswählen?

So ein Trauerspiel - ich bin mir sehr sicher, dass das alles mit SUSE 10.0 mal funktioniert hatte.

Folgende Fragen hatte ich ja noch:

svenfrancisco schrieb:
2. Kann man die bootsek.lin irgendwie öffnen, um herauszufinden, was drin steht?

svenfrancisco schrieb:
4. Kann man bei der SUSE-Installation gleich das Diskettenlaufwerk als Ort des Bootloaders auswählen? Bei 10.0 war das noch möglich? Habe irgendwas gelesen, dass man auf Datenträger speichern könnte oder so!

svenfrancisco schrieb:
5. Habe ich meine SUSE-Partition vielleicht zu klein ausgewählt (5GB für root, 3 GB für home, und 2,9 für swap), sodass es irgendwie damit was zu tun hat?

svenfrancisco schrieb:
6. Ich muss nach der Beendigung von SUSE immer wieder die Option "Installieren" auswählen, um auf mein SUSE zugreifen zu können. Die Option "Installiertes System booten" gibt es bei mir gar nicht.

Gruß svenfrancisco
 
Also Du suchst ich glaube das: http://www.gargi.org/showthread.php?p=1757
ab hier wird für Dich interessant > "Startmechanismen: Ihr habt bei der Installation den Grub Bootloader in den Master Boot Record installiert, der den XP / Vista Bootloader überschrieben hat. Ihr könnt diesen natürlich im MBR belassen und von dort aus Eure Systeme starten:"
Gruß
 
OP
A

Anonymous

Gast
Hallo Heinz-Peter,

vielen Dank für die Info (tolle Anleitung!!!). Ich habe mein openSUSE 11.0 noch einmal neu aufgesetzt und wie beschrieben den Bootloader testweise erstmal in den MBR installiert, um erstmal mit SUSE arbeiten zu können. Nach der Installation und anschließendem Neustart erscheint folgende Meldung:

GRUB loadung stage 1.5.
GRUB loading, please wait...

Error 18

Das war`s dann leider schon wieder - anschließend habe ich über die Windowsreparaturkonsole den MBR neu geschrieben.

Mein PC will SUSE nicht ...

Gruß svenfrancisco
 
OP
A

Anonymous

Gast
Fehler 18 Na das ist wenigstens mal ein Anhaltspunkt
Code:
18 : Selected cylinder exceeds maximum supported by BIOS
    This error is returned when a read is attempted at a linear block address beyond the end of the BIOS translated area. This generally happens if your disk is larger than the BIOS can handle (512MB for (E)IDE disks on older machines or larger than 8GB in general).

Scheinbar steht die LINUX Partition deinem BIOS zuweit hinten. Im BIOS mal prüfen ob dort LBA aktiviert ist. Wenn alle Stricke reißen, mal überlegen ob du weiter vorn nicht noch 64-100MB für eine eigene /boot Partition für Linux freischaufeln könntest.

robi
 
robi schrieb:
Fehler 18 Na das ist wenigstens mal ein Anhaltspunkt
Code:
18 : Selected cylinder exceeds maximum supported by BIOS
    This error is returned when a read is attempted at a linear block address beyond the end of the BIOS translated area. This generally happens if your disk is larger than the BIOS can handle (512MB for (E)IDE disks on older machines or larger than 8GB in general).

Scheinbar steht die LINUX Partition deinem BIOS zuweit hinten. Im BIOS mal prüfen ob dort LBA aktiviert ist. Wenn alle Stricke reißen, mal überlegen ob du weiter vorn nicht noch 64-100MB für eine eigene /boot Partition für Linux freischaufeln könntest.

robi

Es gibt noch ein Problem. Evtl. wird die HDD im BIOS nicht mit der richtigen Größe angegeben. ( als Beispiel : 160 GB real, im BIOS 129 Gb angezeigt ).
@svenfrancisco:

Wofür brauchst du soviele Partitionen ? Verlierst du da nicht den Überblick ?
Dein SWAP-Größe ist gut, aber für eine grafische Öberfläche ist m.E. etwas zu wenig partitioniert. für / ( mit graphische Oberfläche) sollten ca. 10 GB geplant werden.

LG SUSEDJAlex
 
OP
A

Anonymous

Gast
SUSEDJAlex schrieb:
Scheinbar steht die LINUX Partition deinem BIOS zuweit hinten. Im BIOS mal prüfen ob dort LBA aktiviert ist. Wenn alle Stricke reißen, mal überlegen ob du weiter vorn nicht noch 64-100MB für eine eigene /boot Partition für Linux freischaufeln könntest.

Habe LBA jetzt aktiviert, aber noch nicht versucht GRUB erneut in den MBA zu schreiben, um die Veränderung zu testen.

SUSEDJAlex schrieb:
Wenn alle Stricke reißen, mal überlegen ob du weiter vorn nicht noch 64-100MB für eine eigene /boot Partition für Linux freischaufeln könntest.

Meinst du damit eine eigene zusätzliche Partition in die ich dann GRUB schreibe? Wie heißt die dann - root, home, oder irgendwie anders?

SUSEDJAlex schrieb:
Es gibt noch ein Problem. Evtl. wird die HDD im BIOS nicht mit der richtigen Größe angegeben. ( als Beispiel : 160 GB real, im BIOS 129 Gb angezeigt ).

Ja, ist so, dass statt 160 GB im BIOS nur 136 GB angezeigt werden. Ich glaube aber nicht, dass es für mein altes BIOS (2002) noch ein Update gibt. Könnte man die Werte manuell anpassen?

SUSEDJAlex schrieb:
Wofür brauchst du soviele Partitionen ? Verlierst du da nicht den Überblick ?

Nein, da ich ja drei mal XP für verschiedene Familienmitglieder installiert habe sind je nachdem, nur die relevanten eingeblendet.
SUSEDJAlex schrieb:
Dein SWAP-Größe ist gut, aber für eine grafische Öberfläche ist m.E. etwas zu wenig partitioniert. für / ( mit graphische Oberfläche) sollten ca. 10 GB geplant werden.

Das könnte ich ja noch anpassen, hat aber hoffentlich nichts mit dem Hauptproblem zu tun.

Gruß svenfrancisco
 
@svenfrancisco:

Da brauchst du nicht 3x Windows XP zu installieren sondern 3 Benutzer einzurichten mit den erforderlichen Rechten. Oder wie siehst du es?

Auch ich habe ein Rechner dessen BIOS älter als 2002 ist. Da habe ich nicht mehr als 80 GB für Linux reserviert, da dann bei mir eben Grub nicht mit macht.
Vieleicht ergibt sich sinnvollere Aufteilung der Festplatte. oder etwa nicht?

LG SUSEDJAlex
 
OP
A

Anonymous

Gast
So, ich habe jetzt eine neue Partition im vorderen Bereich meiner Festplatte für SUSE freigeräumt und neu installiert. Wieder Fehler 18!!!

Ich gebe nun auf und werde irgendwann einmal auf einem neueren Rechner mal mein Glück versuchen. Dank an alle für die tolle Unterstützung - hat wie immer Spaß gemacht.

Letzte Frage: Ich es möglich SUSE auch auf einer externen USB-Festplatte zu installieren und davon zu starten? Ich bin mir sicher, dass mein altes BIOS nicht von USB booten kann. Wenn das gehen sollte, welche Bezeichnung hat so eine USB-Festplatte?

Gruß svenfrancisco
 
OP
A

Anonymous

Gast
svenfrancisco schrieb:
So, ich habe jetzt eine neue Partition im vorderen Bereich meiner Festplatte für SUSE freigeräumt und neu installiert. Wieder Fehler 18!!!
Noch nicht aufgeben, bei deiner doch etwas komplizierten Plattenkonfiguration könnte es durchaus möglich sein, dass du da einen alten Bootmanager gestartet hast. Wenn es unter 10.0 schon mal irgendwann funktioniert hat, wie du schreibst, dann sollte das auch wieder machbar sein. Hast du nochmal über die Floppy versucht ?

Wegen Installation auf USB-Platte oder Stick? Suse ist da nicht unbedingt die aller erste Wahl, für eine so große Distribution auf einem Wechselmedium :???: bis 10.2 war das nicht ganz so praktisch und desshalb auch nicht von den Entwicklern vorgesehen. Durch die Umstellung auf die "disc by ..." ab 10.3 ist es schon etwas praktischer.

Funktionieren tut das schon, aber die Installationsroutine von Suse ist darauf wohl nicht vorbereitet ( 11.0 ? ) so dass hinterher wahrscheinlich noch ein paar Module zusätzlich in die initrd gepackt werden müssen, damit das auch dann selbständig bootet. Schau mal hier im Forum, das Thema hatten wir schon ein paar mal.

robi
 
OP
A

Anonymous

Gast
robi schrieb:
könnte es durchaus möglich sein, dass du da einen alten Bootmanager gestartet hast. Wenn es unter 10.0 schon mal irgendwann funktioniert hat, wie du schreibst, dann sollte das auch wieder machbar sein. Hast du nochmal über die Floppy versucht ?

Dass das alles mal mit 10.0 funktioniert hatte muss ich etwas relativieren, denn das war damals zwar der selbe Rechner, allerdings mit einer anderen Festplatte, die leider den Geist aufgegeben hat. Ich glaube, es hängt wirklich am BIOS und der großen Platte. Auch über die Floppy hat es nicht funktioniert. Werde mich mal schlau-lesen, ob ich das Problem mit USB-Stick oder externer Platte in den Griff bekomme.

Ich denke, damit können wir das Thema schließen. Vielen Dank an alle für die tolle Hilfe.

Gruß svenfrancisco
 
Oben