• 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] mbr in die Bootpartition kopieren

Altrocker

Member
Hallo,

ich habe ein vielleicht eigenartiges Problemchen, und ehe ich mein System zerschieße, wollte ich einfach mal fragen...

Also ich habe auf meiner Festplatte zwei verschiedene Distributionen installiert, die über den Bootmanager von Opensuse gestartet werden. Nur fand ich es blöd, nach einem Kernel-Update des Zweitsystems dies immer manuell im Bootloader von Opensue zu ändern, und so habe ich den Bootloader des Zweitsystems (Debian) in den Bootsektor der Root-Partition von Debian (/dev/sda3) installiert und rufe diesen via Chainloader auf.

Nun möchte ich ein weiteres System installieren, dessen Bootloader zwingend in den MBR der Festplatte soll. Ich möchte aber den Opensuse-Bootloader nicht einfach überbügeln, sondern diesen in den Bootsektor der Root-Partition der Opensuse-Installation kopieren und ebenfalls via Chainloader aufrufen.

Nun zu meiner Frage: kann ich den Bootloader einfach mit
Code:
dd if=/dev/sda of=/dev/sda2 bs=512 count=1
kopieren? Denn ich denke, dass in diesen 512 Byte auch die Partitionstabelle steht, und die gehört ja nicht in den Bootsektor der Partition.

Daher: Welchen Teil genau muss ich kopieren? Oder gibt es unter Opensuse die Möglichkeit, einen neuen Bootloader unter Opensuse zu erzeugen und diesen in den Bootsektor der Opensuse-Partition zu schreiben?

Ich hoffe auf eine super Lösung :D

Gruß
Altrocker
 

spoensche

Moderator
Teammitglied
Altrocker schrieb:
Nun zu meiner Frage: kann ich den Bootloader einfach mit
Code:
dd if=/dev/sda of=/dev/sda2 bs=512 count=1
kopieren?
[/code]

Der Befehl ist richtig und im MBR ist auch die Partitionstabelle gespeichert, weil der Bootmanager diese Infos benötigt.
Wenn du einw eiteres Linux installieren willst und es auch den Grub verwendet, was i.d.R. der Fall ist, brauchst du den MBR nicht zwingend sichern, weil u.a. die Menüeinträge vom neuen Grub übernommen werden.

Altrocker schrieb:
Daher: Welchen Teil genau muss ich kopieren? Oder gibt es unter Opensuse die Möglichkeit, einen neuen Bootloader unter Opensuse zu erzeugen und diesen in den Bootsektor der Opensuse-Partition zu schreiben?

Du kannst dir den Bootloader auch per Yast wo anders hinschreiben lassen, was quasi das selbe Resultat ist, asl wennn du es mit dd machst.
 
OP
A

Altrocker

Member
Das hieße, unter Boot Loader Installation den Haken bei "Custom Boot Partition setzen und im Listenfeld z.B. /dev/sda2 wählen?
Schreibt Yast dann den Bootloader direkt dorthin?
 

spoensche

Moderator
Teammitglied
Du willst den Bootloader doch in der Root Partition deines openSuSE installieren oder? Wenn ja brauchst du doch nur "Aus Root-Partition starten" auswählen
 
Richtig, man kann unter "YaST2 → Bootloader → Bootloader-Installation → Speicherort des Bootloaders" das Gewünschte einstellen. Man kann dort sogar mehrere Speicherorte einstellen. Wichtig: Am Ende unten rechts auf "Weitere → Bootloader-Bootcode auf Datenträger schreiben" anklicken! Tut man das nicht, werden nur die Konfigurationsdateien (/etc/sysconfig/bootloader, /etc/grub.conf und /boot/grub/menu.lst) geschrieben, nicht der eigentliche Bootloader.

Alternativ kann man auch /etc/grub.conf von Hand bearbeiten und anschließend "grub-install" ausführen.

PS (eigentlich war ja genau danach gefragt ...): Nein, ein bloßes
Code:
dd if=/dev/sda of=/dev/sda2 bs=512 count=1
wird höchstwahrscheinlich nicht funktionieren, denn wenn man die Stage 1 von Grub in den MBR installiert, wird auch eine Stage 1.5 in die nachfolgenden Sektoren geschrieben (die erste Partition beginnt meist frühestens auf Sektor 63). Ohne die nachfolgenden Sektoren ist so eine Stage 1 nicht lauffähig.
 
Oben