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

(geloest) SuSE-Bootloader wieder aktivieren

mrehm

Hacker
Hallo,

ich versuche gerade einige andere Linuxe neben der SuSE aus. Jedes neu auf einer eigenen Partition erstellte Linux schreibt seinen eigenen Bootloader ueber den vorhergehenden resp. bootet aus der zugeteilten Partition mit dem eigenen Bootloader.
So geschehen mit SuSE11.1-Enligtenment, jetzt mit Linux-Mint.
Ist ja auch ok, solange die Arbeits-Partition mit SuSE11.0 zur Auswahl ansteht.
Der momentan startende Bootloader ist der von Linux-Mint. Heute habe ich nach langer Zeit mal wieder die SuSE-Updates eingespielt, darin war ein neuer Kernel.
Nach dem Neustart erkannte der Bootloader den neuen SuSE-Kernel nicht; er ist ja nicht in der menu.lst von Linux-Mint eingetragen, sondern der alte.
Auf die schnelle geloest, weil ich mir die neue Kernel-Version natuerlich nicht aufgeschrieben hatte (2.6.25.noch.was) und so keine Aenderungen in der menu.lst machen wollte, mit Neu-Installation von Linux-Mint und entsprechender Erkennung der "neuen" SuSE.
Ich haette gerne den SuSE-Bootloader wieder mit Eintraegen der anderen OS; wie komme ich dahin?
In YaST > BootloaderEinstellungen steht der Bootloader GRUB im MBR, zur Auswahl stehen noch "Aus Bootpartition booten", "aus der erweiterten Partition booten", "aus Root-Partition booten", " BootPartitionen /dev/sda2 /dev/sda3 /dev/sda5 /dev/sda6 /dev/sda7/"

/dev/sda1 ist windowsxp
/dev/sda2 ist die erweiterte Partition mit SuSE11.0
/dev/sda3 ist von /dev/sda1 abgeknappst fuer Linux-Mint und andere Test-Linuxe
/dev/sda5 ist /swap
/dev/sda6 ist /
/dev/sda7 ist /home

Die momentane Root- und BootPartition sollte also /dev/sda3 sein.

Sollte ich mir den Eintrag in YaST "aus der erweiterten Partition" und "/dev/sda6" setzen?
Die menu.lst in /boot/grub ist leer...

Boa Pascoa!

Martin
 

spoensche

Moderator
Teammitglied
Wieso willst du den SuSE Bootloader verwenden, wenn doch jetzt alles funktioniert? Bootloader Grub ist Grub, egal mit welcher Distribution er ausgeliefert wird.

Von welcher SuSE Version willst du denn den Bootloader widerherstellen?

Den Bootloader kannst du mit dem entsprechenden Installationsmedium der SuSE Version über die Systemreperatur widerherstellen.
 

Rainer Juhser

Moderator
Teammitglied
Hallo Martin,

für deine Zwecke könnte der GAG-Bootloader eine sinnvolle Alternative sein. Wenn du dir den installierst, brauchst du nur dafür zu sorgen ,dass die GRUBs der diversen Linuxe jeweils in den eigenen Root-Partitionen landen und nicht in den MBR geschrieben werden.
 
OP
M

mrehm

Hacker
spoensche schrieb:
Wieso willst du den SuSE Bootloader verwenden, wenn doch jetzt alles funktioniert? Bootloader Grub ist Grub, egal mit welcher Distribution er ausgeliefert wird.

Nee, das ist nicht ganz egal.
wie oben geschrieben, arbeite ich mit der SuSE; das System halte ich mir mit unregelmaessigen Updates sauber, dazu gehoeren auch die openSuSE-KernelUpgrades, denke ich mal. Also moechte ich auf Grub mit SuSE zugreifen, denn wenn der Zugriff ueber eine ander Distri passiert. werden die SuSEKernel-Updates nicht erkannt, weil kein entsprechender Eintrag vorhanden ist und dann ein Booten von SuSE uber den BootManager nicht mehr moeglich ist.
Im Moment laeuft der LinuxMint-Bootloader; meine Frage lautet: wie kann ich den BootLoader auf SuSE11.0 umstellen? Geht es mit YaST? Und wie?

Gruss
Martin
 

josef-wien

Ultimate Guru
mrehm schrieb:
Auf die schnelle geloest, weil ich mir die neue Kernel-Version natuerlich nicht aufgeschrieben hatte (2.6.25.noch.was) und so keine Aenderungen in der menu.lst machen wollte, mit Neu-Installation von Linux-Mint und entsprechender Erkennung der "neuen" SuSE.
Das ist aber eine sehr umständliche und aufwendige Problem-"Lösung". Im Verzeichnis /boot Deiner openSUSE-Partition (und natürlich auch von jedem anderen Linux) findest Du die notwendigen Dateien. Aber das ist gar nicht notwendig, bei openSUSE genügen die Verknüpfungen vmlinuz und initrd vollauf (bei anderen Linux-System heißen sie manchmal auch anders). Die echten Dateinamen brauchst Du nur dann, wenn Du parallel mehrere Kernel installiert hast. Und vom grafischen Boot-Menü mit Esc und Enter zum Text-Menü zu wechseln und dort die Eintragungen für diesen Boot-Vorgang zu ändern, ist auch eine Möglichkeit.

Den Bootmanager Grub Deines Linux-Hauptsystems installierst Du in den "master boot record" (das kann auch der YaST-Bootmanager). Für alle anderen Linux-Systeme installierst Du Grub immer in die jeweilige "root"-Partition (die Variante einer eigenen "boot"-Partition übergehe ich). Du wirst nicht umhin kommen, die menu.lst Deines Hauptsystems jeweils anzupassen, wenn Du nur ein Boot-Menü verwenden willst. Du kannst aber auch bzw. zusätzlich mittels "chainloader" den Bootmanager des jeweiligen anderen Systems aufrufen (Vorteil: Deine Haupt-menu.lst bleibt hinsichtlich der anderen Systeme immer gleich. Nachteil: Du mußt durch 2 Menüs gehen.).

Auf jeden Fall solltest Du Dich mit Grub beschäftigen (http://www.gnu.org/software/grub/manual/grub.html). Du solltest auch daran denken, daß so manches Bootloader-Einrichtungsprogramm seine Eigenheiten hat (z. B. http://www.linupedia.org/opensuse/SuSE_und_Grub#YaST_und_sein_Verst.C3.A4ndnis_von_GRUB). Ich habe YaST strikt untersagt, in Sachen Bootmanager irgendwelche Aktivitäten zu setzen, damit wird auch bei einem Kernel-Update meine menu.lst nicht angetastet. Meine menu.lst ändere nur ich, und Grub installiere auch nur ich, denn dann passiert genau das, was ich haben will. Aber Diesem Beispiel mußt Du natürlich nicht folgen.
 
OP
M

mrehm

Hacker
Das ist aber eine sehr umständliche und aufwendige Problem-"Lösung"

Naja, fuer mich erst mal die schnellste und einfachste Loesung; Mint schnell installiert und SuSE wieder bootbar: bevor ich mich in der kommandozeile nicht mehr zurecht finde..
Danke fuer den link
http://www.linupedia.org/opensuse/SuSE_ ... s_von_GRUB)
, das hat was geklaert.

Da waere doch wuenschbar, dass, wenn ja mittlerweile jede neu installierte Linux-Distri die schon vorhandenen erkennt und auch im BootLoader auffuehrt -was ja vor 2-3 Jahren noch nicht die Regel war-, der installierte BootLoader respektiert wuerde und eine Aenderung explizit bestaetigt werden muesste.

Den Bootloader kannst du mit dem entsprechenden Installationsmedium der SuSE Version über die Systemreperatur widerherstellen.
Dazu brauche ich wohl die DVD, ich habe aber nur die live-cd's. Und hier im portugiesischen Ausland gibt es keine Linuxhefte mit beiglegten DVD's; auch das offizielle portugiesische SuSE-Forum
http://www.susept.com/ ist kurz vor dem Hungertod.

Gruss

Martin
 

josef-wien

Ultimate Guru
mrehm schrieb:
Dazu brauche ich wohl die DVD
Ohne die Funktion "Installiertes System reparieren" wirst Du dann Grub manuell installieren müssen: http://www.linux-club.de/viewtopic.php?f=4&t=100589&p=612947#p612947

Das geht nicht nur vom Rettungssystem, sondern von jedem Linux, ob es auf der Festplatte installiert ist oder ob es als Live-CD vorliegt (sofern das Programm grub enthalten ist, was aber wohl üblicherweise der Fall sein wird). Bei Dir wird der "find"-Befehl zwei Ergebnisse liefern. "setup (hd0)" installiert in den "master boot record" der ersten Festplatte, "setup (h0,2)" würde in den Bootsektor der dritten Partition der ersten Festplatte installieren, das entspricht Deiner "/dev/sda3".
 
OP
M

mrehm

Hacker
Danke an alle, die mir helfen wollten.
"Grub" kommt also doch von "Gruebeln"

Ich werde dann mal an meinem t23 (dem testobjekt) rumexperimentien, wenn es die die Freizeit erlaubt.
Falls es Ergebnisse gibt: sie werden hier stehen.
(Thread sei damit als "bis auf weiteres geloest" gekennzeichnet)

Gruss

Martin
 
OP
M

mrehm

Hacker
Sehr elegant ist das nicht, aber funktioniert:

Man nehme
von josef-wien am 2009-Jan-16, 19:50
Versuchen wir es einmal direkt: Von der openSUSE-DVD starten, Rettungssystem auswählen, als root anmelden (ohne Paßwort) und dann folgende Befehle ausführen:
Code: Alles auswählen
grub
find /boot/grub/stage1
root <== hierher kommt das, was find liefert, z. B.: root (hd0,2)
setup (hd0)
quit



und fuehre das als root in der konsole von einem x-beliebigem Linux auf der Festpatte aus.

find <== liefert die verschiedenen GRUBs von verschiedenen Linux, bei mir zB.
hd0,0 OpenSuse 11.0
hd0,5 enlightenment17 (OpenSuse11.1)
hd0,7 ELive Debian

root <== trage ich die Partition mit dem gewuenschten BootLoader ein, also (hd0,0) fuer OpenSuse oder (hd0,5) fuer enlightenment17 etc.

beende mit setup, quit und reboot

Voila, der OpenSuseBootloader ist wieder da, mit allen spaeter installierten Linuxen; als default wird OpenSuse gebootet.
Schoenheitsfehler: will ich enlightenment aus dem OpenSuseBootLoader booten, lande ich im BootLoader von enlightenment. Der bootet nach 10 sec automatisch Enlightenment; so what?

Gruss

Martin
 
OP
M

mrehm

Hacker
Wenn es denn so einfach waere...
Auf dem t23 hat das wunderbar geklappt; auf dem t42 ist es zickig: wenn ich hd0,5 = /sda6/OpenSuse eintrage, habe ich im OpenSuseBootLoader keinen Zugriff auf hd0,2 = /sda3/LinuxMint. Umgekehrt wohl, der
Bootloader von LinuxMint gibt mir die BootMoeglichkeit OpenSuse.

Koennte das an meiner Partitionseinteilung liegen?
sda1 = winxp (primaere Partition)
sda2 = erweiterte Partition
sda3 = LinuxMint ( 1. logische Partition in /sda1)
sda5 = LinuxSwap
sda6 = / (OpenSuse11.0)
sda7 = /home (OpenSuse11.0)

/sda3/LinuxMint kommt mir was schraeg vor, ich habe die winxp-Partition verkleinert und kurzerhand linuxMint draufgeknallt.
Sorry for silly questions!

Gruss
Martin
 

josef-wien

Ultimate Guru
mrehm schrieb:
will ich enlightenment aus dem OpenSuseBootLoader booten, lande ich im BootLoader von enlightenment
josef-wien schrieb:
Du wirst nicht umhin kommen, die menu.lst Deines Hauptsystems jeweils anzupassen, wenn Du nur ein Boot-Menü verwenden willst.
Wenn Du Glück hast, brauchst die entsprechende Eintragung der enlightenment-menu.lst nur in die openSUSE-menu.lst zu kopieren (den bestehenden "chainloader"-Eintrag würde ich drinnenlassen). Möglicherweise ist aber eine Modifikation erforderlich (Ubuntu z. B. verwendet einen modifizierten Grub mit Befehlen, die der normale Grub nicht kennt). Gegebenenfalls teile uns Deine menu.lst-Eintragungen mit.

mrehm schrieb:
habe ich im OpenSuseBootLoader keinen Zugriff auf hd0,2 = /sda3/LinuxMint
Das ist dasselbe Thema.

Zur Information:
mrehm schrieb:
sda3 = LinuxMint ( 1. logische Partition in /sda1)

/sda3/LinuxMint kommt mir was schraeg vor, ich habe die winxp-Partition verkleinert und kurzerhand linuxMint draufgeknallt.
sda3 ist ebenso wie sda1 eine primäre Partition, die erweiterte Partition ist bei Dir sda2, die logischen Partitionen beginnen immer ab sda5 (siehe auch http://de.wikipedia.org/wiki/Partition_(Festplatte)).
 
OP
M

mrehm

Hacker
sda3 ist ebenso wie sda1 eine primäre Partition, die erweiterte Partition ist bei Dir sda2, die logischen Partitionen beginnen immer ab sda5

Vollkommen richtig, das schmeisse ich immer noch durcheinander :D

So, ich habe festgestellt, dass auf dem t42 unter OpenSuse11.0 /sda3 LinuxMint nicht als eigenstaendiges Laufwerk erkannt wird, sondern - genau wie sda1 WinXP - im /root-Verzeichnis liegt.

Den entsprechenden BootLoaderEintrag fuer LinuxMint habe ich aus /mint/boot/grub/menu.lst nach /boot/grub/menu.lst kopiert, dann den OpenSuseBootloader von hd0,5 als Standard gesetzt nach der Methode von josef_wien und es klappt bestens:
das System startet mit dem Suse-Bootloader und LinuxMint ist auswaehlbar und bootbar

Besten Dank an alle Ratgebenden, insbesondere Josef!

Gruss

Martin
 
Oben