online 1
gast (50)

/ Forum / Linux

LinuxLinux

Fragevon Joshuan vom 15.06.2020, 14:31 Options

Lösung

Problem mit Grub

Ich hab eine alte SUSE 9 gefunden. Ich wusste schon gar nicht mehr das es die gibt weil Grub war weg. Wahrscheinlich wegen Windows. Naja ich hab viele Versuche mit dem Rettungssystem gebraucht aber dann habe ich Grub wiedergeholt (mit befehlen root() und setup()). Aber er läuft nicht richtig. Problem sind die Windows 98 auf hda1 und hda2. Egal welches ich bei Grub auswähle er bootet immer das Gleiche. Wenn ich bei cfdisk hda1 auf boot setze dann bootet er immer hda1 wenn hda2 boot ist dann kommt immer hda2. Also ich kann im Bootmenü nicht auswählen ob hda1 oder hda2 gebootet werden soll sondern nur über cfdisk.
Die Einstellungen bei Yast für Windows sind so:

Windows 98 (hd0,0) (/dev/hda1)
Reserve (hd0,1) (/dev/hda2)

Der Reserve Eintrag ist nicht von mir. Das Wort hat Linux erfunden. Bei der Installation von Linux war auf hda1 FAT16 mit Windows 3. Das hat sich halt inzwischen geändert.
Irgendwo ist was falsch aber ich weiss nicht was. Ich kenn mich mit Linux nicht aus.


Antwort schreiben

Antwort 1 von --Samba-- vom 15.06.2020, 20:00 Options

Erstell die Menü-Liste von Hand!
Linux ändert keine Einträge, sondern Du selbst oder die jeweilige Distribution.

Anleitung:
www.ubuntuusers.de -> WIKI -> GRUB

Antwort 2 von htt vom 15.06.2020, 21:01 Options

Hallo,

vielleicht hilft auch dies weiter
http://www.supergrubdisk.org/

Gruß

Antwort 3 von Jaja vom 16.06.2020, 11:23 OptionsLösung

Lösung
der eintrag in der /boot/grub/menu.lst (oder ähnliches verzeichnis) oder über das yast tool:

title Windows 98 die erste
root (hd0,0)
makeactive
chainloader +1

title Windows 98 die zweite
root (hd0,1)
makeactive
chainloader +1

den eintrag für dein linux lässt du unverändert.
durch das "makeactive" wird automatisch das boot flag für die jeweilige partition gesetzt, weshalb jetzt die einstellung per cfdisk irrelevant und überflüssig wird.
das chainloader +1 gibt an, das sich innerhalb der partition (an dessen anfang) wiederum ein bootloader befindet - das ist dann der von windows 98- und grub so zusagen ab da den stab an windows abgibt.

Antwort 4 von Joshuan vom 16.06.2020, 16:08 Options

Jetzt wo du es sagst Samba vielleicht ist der Eintrag doch von mir gewesen. Sorry wollte nix falsches sagen. Ist nur schon so lange her.

Cool Jaja! Genau das wars der makeactive Befehl hat gefehlt. Vielen Dank!

Äh .. blöde Frage ich dachte Windows 98 hat gar keinen Bootloader. Ist das das wo auf dem Bootsector drauf steht was man mit dem sys Befehl macht?

Antwort 5 von Jaja vom 16.06.2020, 16:46 Options

Zitat:
blöde Frage ich dachte Windows 98 hat gar keinen Bootloader. Ist das das wo auf dem Bootsector drauf steht was man mit dem sys Befehl macht?


also ja/nein:

das booten eines modernen betriebsystems auf einem ibm kompatiblen rechner läuft heute "multi-staged" ab. der gesammte prozess heißt bootstrap.

beim anschalten wird eine (speicher)adresse im bios angesprungen. ab da beginnt der bootprozess. i.d.r. wird also der "power on self test" durchgeführt und angeschlossene bootfähige geräte wie im bios eingestellt in deren reihenfolge auf einen bootsektor hin untersucht.
die routine springt dann an die startadresse des ersten gerätes, das einen gültigen bootsektor hat.
ab jetzt ist es sache des bootloaders, das bios ist aus der sache raus.

bei einer festplatte (im ms-dos partitionierungsschema) kommt nämlich an dieser stelle der 1. teil (stage) des bootloaders zum tragen im s.g. MBR. nebenher befindet sich dort auch die partitionstabelle.
dieser teil des bootloaders ist an sich betriebsystemunabhängig und hat nur die aufgabe, einen betriebsystemspeziefischen 2. teil des bootloaders anzuspringen und evtl. eine auswahlliste anzuzeigen.
diese auswahllistekennst du sicher von grub aber auch dem windows NTLDR.

dieser 2. teil (stage) befindet sich nun am anfang einer partition, nicht mehr im mbr und weiß nun ganz genau, wie er den kernel des betriebsystems auf dieser partition hochfeuern muss - er ist also betriebsystemabhängig. dieser teil heiß blöder wiese auch boot loader und der teil am anfang der partition im gegensatz zum master boot record nur nochboot record oder bootsektor. wobei das auf den mbr aber auch zutrifft - naja.

grub im mbr kennt windows so garnicht, als ob er wüsste wie er den kernel starten kann..

das wäre also der grobe zusammenhang und der grund, warum das chainloader +1 da hin muss. zu lesen: es kommt noch ein (+1) bootloader nach mir. ;)

allerdings gibts jetzt die sache auch mit abkürzungen: da grub aus der linux ecke kommt, kann er auch gleich den den kernel starten, weshalb das so auch in der menu.lst steht: kernel=.

auch der windoof bootloader (im mbr) kann das, allerdings ist witzigerweise immer im bootsektor der win partition ein bootloader vorhanden, weshalb grub da keine probleme bekommt.

bei linux ist das anders, da ist nix im bootsektor der partition (weil grub direkt aus dem mbr das system hochfeuert), man kann es aber so einrichten (grub im bootsektor der partition installieren). das ist auch der grund, weshalb beim nutzen des windows bootloaders (ntldr) im mbr das eintragen von linux ohne vorher grub im bootsektor d. partition einzurichten nicht funktioniert.

noch als hinweis wenn du weitere quellen zum thema liest: grub meint mit "stage" ein wenig was anderes - im prizip aber schon auch das gleiche, nur noch versch. dateisysteme berücksichtigend (die 1.5 stages)

Antwort 6 von Joshuan vom 17.06.2020, 13:40 Options

Danke für die Infos. Ich glaube ich habs kapiert. Gut geschrieben!

Ähnliche Themen

Ubuntu Grub BS-Reihenfolge
greg68  19.05.2007 - 204 Hits - 5 Antworten

Ärger mit Grub
jor100  16.06.2007 - 81 Hits - 16 Antworten

Probleme mit Grub
Crazys  29.09.2007 - 118 Hits - 7 Antworten

LinuxUbuntu7.10-Installation wie Grub wiederherstellen?
Thorwiese  27.02.2008 - 78 Hits - 1 Antwort

[Grub] Bootpartition(en) auf Flashdisk?
Irrer_Bastler  04.06.2008 - 52 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026