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

[Gelöst] Grub statt in PBR in MBR installieren

joanne

Member
Hi!
Situation: Test-notebook:
/dev/sda: GRUB 2 v1.97 oder höher
/dev/sda1: Kein GRUB 8cd XP
/dev/sda2: Kein GRUB 020 Linux
/dev/sda3: GRUB Legacy erweiterte P.
/dev/sda4: Kein GRUB 6f6e DATA
/dev/sda5: Kein GRUB 00 swap
/dev/sda6: GRUB Legacy root Suse 11.4 LXDE 32bit
/dev/sda7: Kein GRUB 00 home Suse
/dev/sda11: Kein GRUB 00 home Mint
/dev/sda12: Kein GRUB 00 root Mint
Installationsreihenfolge: XP vorinstalliert, dann Mint sda11, 12 mit Grub 1.9 in MBR,...
openSuse sda6, 7 mit Grub in sda6, dabei 2 Einträge entfernt (gener. MBR o.ä.
und 2. Eintrag/ Flag?)
"update-grub" in Mint entdeckte Suse. Booten aller Syteme möglich, jedoch:
Ziel: Suse Grub in den MBR installieren, damit nach reboot Auswahl XP - Suse möglich,
also openSuse Haupt-Distribution. Es geht auch darum, das häufige "update-grub" in Mint zu vermeiden.
joanne
 

josef-wien

Ultimate Guru
joanne schrieb:
Ziel: Suse Grub in den MBR installieren
Und wo liegt das Problem? Das kann YaST, aber manuell geht es natürlich auch.

Alternativ kannst Du einen generischen MBR schreiben und GRUB von openSUSE in die erweiterte Partition installieren, die auf "aktiv" gesetzt werden muß. Falls Du den generischen MBR lieber zu Fuß schreibst:
Code:
dd if=/usr/lib/boot/master-boot-code of=/dev/sda bs=440 count=1
Nachdem Du dann keinen GRUB2 von Linux Mint mehr hast, mußt du den entweder in die Systempartition installieren und einen chainloader-Eintrag darauf in die menu.lst von openSUSE einfügen, oder Du rufst Linux Mint mit kernel und initrd aus der menu.lst von openSUSE auf, oder Du machst beides.
 
OP
J

joanne

Member
Hi!
Bei meiner Suche bin ich immer auf "wieder herstellen" gestoßen (auch beim angegebenen Link "manuell"), dies ist bei mir ja nicht der Fall.
Also keine Wiederherstellung; zuerst würde ich YaSt probieren, falls sicher ist, daß dies auch in meinem Fall funktioniert.
joanne
 

josef-wien

Ultimate Guru
joanne schrieb:
Also keine Wiederherstellung
Das ist eine Frage des Standpunkts.

joanne schrieb:
zuerst würde ich YaSt probieren, falls sicher ist, daß dies auch in meinem Fall funktioniert.
Wenn Du die richtigen Angaben machst, wird es funktionieren. Hüte Dich vor allem davor, gleichzeitig "in den MBR installieren" und "generischen MBR schreiben" auszuwählen. Nach Deiner Aktion findest Du in der Datei /etc/grub.conf den GRUB-Befehl, den YaST (mittels grub --batch < /etc/grub.conf) ausgeführt hat.
 
OP
J

joanne

Member
Hi!
Zwischenbericht (Testnotebook):
1. YaST 2 x gescheitert (keine Fehleingabe) - nach wie vor Grub2 im MBR
- weder Aktivflag noch gener. Bootcode gesetzt
- Speicherort Grub: MBR, benutzerdefiniert -> sda (nur so ließ sich sda anwählen)
Terminal-Ausgabe:
Code:
/home/joanne # cat /etc/grub.conf
setup --stage2=/boot/grub/stage2 --force-lba (hd0) (hd0,5)
setup --stage2=/boot/grub/stage2 --force-lba (hd0,0) (hd0,5)
2. Linupedia: Terminal hat funktioniert...
find /boot/grub/stage1 => u.a. (hd0,5) - die richtige Partition

OpenSuse hat das beste Installationsprogramm, trotzdem bleibt die Frage nach dem
generischen Bootcode - eine gute Erklärung habe ich nicht gefunden.
Der MBR setzt sich doch aus 446 B Bootloader (Teil), 2 B Kennung und der Partitionstabelle
zusammen. Was passiert, wenn man "generisch" wählt?
 

josef-wien

Ultimate Guru
Mit den Zeilen
joanne schrieb:
setup --stage2=/boot/grub/stage2 --force-lba (hd0) (hd0,5)
setup --stage2=/boot/grub/stage2 --force-lba (hd0,0) (hd0,5)
wird GRUB [aus der Partition (hd0,5)] zuerst in den MBR und dann in den Boot-Sektor der Partition (hd0,0) installiert. Welche Platte (hd0) ist, ist im laufenden System in /boot/grub/device.map enthalten. Allerdings geht mir die abschließende Zeile
Code:
quit
ab, und deren Fehlen kann durchaus zu Problemen führen:
http://www.gnu.org/software/grub/manual/legacy/grub.html#Installation-under-UNIX schrieb:
That is very important because quit makes the buffer cache consistent.
Es steht zwar im Linupedia-Artikel, aber einen Satz übersieht man leicht, und darum folgt zur Abwechslung eine andere Formulierung: Ein generischer MBR enthält einen Boot-Code, der eine primäre bzw. erweiterte und auf "aktiv" gesetzte Partition sucht (d. h. es wird geschaut, ob auf den Adressen 0x01BE bzw. 0x01CE bzw. 0x01DE bzw. 0x01EE der Inhalt 0x80 enthalten ist) und von der ersten gefundenen dann den dort enthaltenen Boot-Code ausführt.
 
OP
J

joanne

Member
Hi!
Hauptproblem gelöst!
Zunächst vielen Dank, josef-wien - wieder mal dazu gelernt.
Die Überschreibung - so will ich es mal nennen - des (funktionierenden) Grub2 durch Grub legacy auf meinem netbook hat einwandfrei geklappt - mit den Terminalbefehlen.
Es bleiben jedoch Fragen:
1. Mit YaST hatte ich - notebook - zu MBR noch (wahrscheinlich überflüssigerweise) benutzerdefiniert sda (nicht sda1) gewählt.
Es sieht doch so aus, daß versucht wurde, Grub in MBR und /dev/sda1 zu installieren, obwohl sda1 von mir nicht markiert wurde.
[Beim Installationsprogramm kann man in der Übersicht alles genau kontrollieren - deshalb bester "installer".]
2. "dd"
Ich habe vor den Aktionen den Bootloader bzw. MBR kopiert
(lt. Wiki ubuntuusers.de: http://wiki.ubuntuusers.de/Shell/dd#MBR-Boot-Loader-und-Partitionstabelle-sichern),
allerdings ist mir nicht klar, wozu die freien Sektoren vor der 1. Partition gut sind, zumal ich auf verschiedenen Computern unterschiedliche Werte gefunden habe (Wiki: 63): 63 oder 2048(!?)
joanne
 

josef-wien

Ultimate Guru
joanne schrieb:
Beim Installationsprogramm kann man in der Übersicht alles genau kontrollieren
Verlaß Dich nicht zu sehr darauf: http://www.linux-club.de/viewtopic.php?f=4&t=113638&p=711755&#p711755

joanne schrieb:
allerdings ist mir nicht klar, wozu die freien Sektoren vor der 1. Partition gut sind
Die fiktive Geometrie größerer Festplatten mit "Ausrichtung an Zylindergrenzen" ergibt in der Regel 63 Sektoren pro Spur. Die übereinanderliegenden Spuren bilden einen Zylinder. Der erste Sektor (Sektor 0) der Platte ist für den MBR reserviert, danach folgen noch weitere 62 Sektoren in dieser Spur, bevor die nächste Spur und somit auch der nächste Zylinder erreicht ist. Die erste Partition beginnt daher im Sektor 63. Bei kleineren Medien kann ich aber auch mit 62 Sektoren pro Spur bzw. 32 Sektoren pro Spur aufwarten, hier beginnt die erste Partition ab Sektor 62 bzw. ab Sektor 32.

joanne schrieb:
zumal ich auf verschiedenen Computern unterschiedliche Werte gefunden habe (Wiki: 63): 63 oder 2048(!?)
http://www.linux-club.de/viewtopic.php?f=4&t=113921&p=714154&#p714151

P. S. Für den Fall, daß Du es noch nicht kennst: http://www.linupedia.org/opensuse/Partitionstabelle_sichern_und_wiederherstellen
 
OP
J

joanne

Member
Hi!
Wenn ich jetzt alles verstanden habe, dann ist die Empfehlung im Wiki/ Ubuntuusers.de:
Code:
sudo dd if=/dev/sda of=mbr_sicherung bs=512 count=63
überflüssig, denn es genügt, wie dort vorher angegeben, immer "count=1", um den MBR zu sichern, unabhängig von der Anzahl der freien Sektoren.
joanne
 

josef-wien

Ultimate Guru
Wenn GRUB im MBR installiert ist °), wird standardmäßig (und wenn der Platz ausreicht) in den Sektoren nach dem MBR die Datei *_stage1_5 gespeichert, daher ist im MBR ab Position 0x44 nicht die Nummer des Sektors, an dem sich die Orginaldatei befindet, sondern die Sektornummer 1 enthalten (die 4 Bytes sind von hinten nach vorn zu lesen). Die Beantwortung Deiner Frage hängt also von den jeweiligen Anforderungen an die Katastrophenvorsorge ab.

Meine Empfehlung lautet, die Partitionentabellen zu sichern und GRUB im Bedarfsfall neu zu installieren.

P. S. Meine gestrige Formulierung war mir nicht präzise genug, daher habe ich sie für die Nachwelt überarbeitet.
_______
°) GRUB versucht dies auch bei der Installation in den Boot-Sektor einer Partition, dort ist bei den meisten Dateisystemen aber der Platz nicht vorhanden.
 
OP
J

joanne

Member
Hi josef-wien!
Problem gelöst!
Nochmals vielen Dank. Ich habe jetzt - nach Jahren der Suche - mein Betriebssystem gefunden: openSUSE Tumbleweed;
auch mit dem Forum hier, linux-club.de, bin ich sehr zufrieden.
Ich werde versuchen, möglichst viele Personen von Linux und speziell von openSUSE und diesem Forum zu überzeugen.
joanne
 
Oben