Root-Partitions Installationsoptionen

MortuS

Commodore Special
Mitglied seit
21.11.2001
Beiträge
426
Renomée
2
Standort
Bogota
Hallo!

Ich hätte mal eine theoretische Frage zur Installation von Linux.

Wenn man seine Root-Partition als primäre Partition auf der Festplatte anlegt, so kann man sich ja aussuchen ob man es in den MBR oder in den Boot-Sektor der Partition legt.
Aber kann man den Boot-Loader auch in den Boot-Sektor eines logischen Laufwerkes (also eine Partition in einer erweiterten Partition) installieren?
Habe bereits gehört dies geht nicht wegen des Bios, weil dieses dann nicht in der Lage ist, den Boot-Sektor des logischen Laufwerkes zu laden.
Dass es mit der Installation im MBR läuft ist denke ich klar.

Aber geht es auch mit der Installation in den Boot-Sektor?
(Es ist normalerweise egal, aber in meinem Fall nicht, da das installierte Windows oft neu installiert wird und ich nicht jedesmal den Boot-Sektor neu schreiben möchte)
 
Es geht, der MBR muss das aber unterstützen, mit dem BIOS hat das nix zu tun.

Mal ein kurzer Abriss wie der Bootvorgang bei x86 funktioniert: Das Bios lädt den ersten Sektor der ersten HDD (der MBR genannt wird), guckt ob da 2 Bytes (Offset 510 und 511) auf 0x55AA gesetzt sind. Ist dem so ist der MBR als bootfähig gekennzeichnet, er wird geladen und ausgeführt.

Der MBR ist dann entweder ein kleines Stück code, das den Bootsektor einer als bootfähig markierten Partition lädt, oder ein Bootloader wie Grub.
 
Ok, also es geht.

Aber deine Erklärung hat mir nicht näher gebracht warum es auch mit logischen Laufwerken funktioniert. Kann ein Zeiger auf den Boot-Sektor einer erweiterten Partition im MBR stehn? Oder kann man die auch aktiv setzen und es geht wegen dem Bootflag?
 
Der MBR guckt für jede Partition ob das Bootable Flag in der Partitionstabelle gesetzt ist, ist dem so lädt er sie ja. Ob das Bootable Flag nun bei einer primären oder logischen Partition steht ist wurscht, es kommt auf den MBR an, ob der auch die logischen Partitionen durchguckt (die sind etwas anders organisiert als primäre Partitionen).

Sprich es bedarf nur eines MBRs der auch nach logischen Partitionen sucht, die Bootmanager tun das normalerweise alle. Der MBR den zB. fdisk installiert afaik nicht.
 
Der MBR guckt für jede Partition ob das Bootable Flag in der Partitionstabelle gesetzt ist, ist dem so lädt er sie ja. Ob das Bootable Flag nun bei einer primären oder logischen Partition steht ist wurscht, es kommt auf den MBR an, ob der auch die logischen Partitionen durchguckt (die sind etwas anders organisiert als primäre Partitionen).

Sprich es bedarf nur eines MBRs der auch nach logischen Partitionen sucht, die Bootmanager tun das normalerweise alle. Der MBR den zB. fdisk installiert afaik nicht.

Der MBR macht garnix, höchstens der Bootloader, der im MBR steht. ;)
 
Also, als erstes möchte ich sagen:
Mein nachfolgender Post ist nicht sarkistisch gemeint

Oha, wusste gar nicht dass der MBR so ein Eigenleben hat.
Ich dachte da würde höchstens beim aktiv-setzen ein billiger Zeiger auf den Speicherbereich des Boot-Sektors der aktiven Platte gesetzt werden, und wusste nur nicht, ob das auch über den nötigen Umweg in ein logisches Laufwerk funktioniert, weil das erweiterte Laufwerk ja nur eine weitere Liste von Zeigern ist, von der aus man ja kaum wissen kann wie es weitergeht.

Aber wenn im MBR nun ein dermaßen tolles Programm steht, wieso überschreiben das dann soviele Leute? Und wie kann ich diesen "ursprünglichen" MBR wiederherstellen?

@PuckPoltergeist:
ja stimmt schon, im MBR und nicht der MBR, aber bei so Themen ist das beschreiben immer irgendwie viel komplizierter als das Problem selbst ;D
 
Naja, sooo komplex ist der MBR (bzw. das Programm darin ;)) auch nicht. Die Größe ist auf 512 Byte - Größe der Partitionstabelle (afair 128 Byte) limitiert.

Bei einem Bootmanager muss der MBR desswegen Daten von irgendwo auf der HDD (oder sonstirgendwoher) nachladen, was dann der eigentliche Bootmanager ist. Und desswegen überschreibt zB. Grub wenn er in den MBR installiert wird selbigen, löschst du aber Grub ist noch die Routine im MBR, die eigentlich die Daten von Grub lädt.
Und die startet dummerweise nicht die Bootsektoren von den als bootfähig markierten Partitionen, ergo muss ein "original" MBR her, also einer der genau das tut.
 
jup, soweit ist mir das auch klar.

Also zusammenfassend kann man sagen: Manche MBR's können auf gesetzte Bootflags in logischen Laufwerken zugreifen und manche nicht.

Oder nicht?!
 
Und die startet dummerweise nicht die Bootsektoren von den als bootfähig markierten Partitionen, ergo muss ein "original" MBR her, also einer der genau das tut.

Das, was du hier als "original" MBR bezeichnest, ist der Schund, den MS mit DOS ausgeliefert hat. Es gibt kein default-Verhalten, bei einem Rechnerstart, abgesehen davon, dass das BIOS den Code startet, der im MBR liegt.
Wenn du eine komplett jungfräuliche Festplatte anschließt, und dann versuchst den Rechner zu booten, wird dir das BIOS sagen, dass kein OS installiert ist. Der Bootvorgang funktioniert erst, wenn ein Bootloader im MBR installiert wurde, und der ist immer OS-spezifisch. Wenn du jetzt den Loader von DOS als "original" MBR bezeichnen willst ok, aber das Zeuchs ist immer OS-spezifisch.
 
Das ist auch der Schund den MS mit Dos ausliefert, aber zB. auch das was IBM mit OS/2 ausliefert. Und im Grunde genommen ist das nur eine Umsetzung der Spezifikation der Partitionstabelle, da diese ja die Bootable Flags definiert und auch definiert, was das eigentlich zu bedeuten hat ;).
 
Zurück
Oben Unten