Wie funktionieren Bootsektoren und mehrere Laufwerke?


17

Ich verstehe das Konzept eines Bootsektors nicht ganz. Ich hatte gehofft, jemand könnte das für mich klären.

Wenn Sie zwei Festplatten haben, auf denen jeweils ein Betriebssystem installiert ist, hat jede Festplatte einen eigenen Bootsektor? Benötigt jedes Laufwerk eine MBR-Partition?

Ich habe Linux und Windows auf zwei separaten Laufwerken. Ich hatte Probleme bei der Installation von Linux und Grub, und jetzt habe ich mich endlich entschieden, den Windows-Bootloader zum Starten zu verwenden. Wäre Windows Grub losgeworden, als ich / fixmbr verwendet habe, oder bleibt es dort auf dem Bootsektor des anderen Laufwerks?

Antworten:


17

Wils Antwort ist vage richtig, aber technisch nicht korrekt. Ja, ein Laufwerk benötigt keinen MBR. Ohne ein Laufwerk können Sie nicht von diesem Laufwerk booten und Sie können keine Partitionen auf diesem Laufwerk erstellen . ABER...

Der Begriff Master Boot Record wird häufig verwendet, um auf zwei Dinge Bezug zu nehmen: Es handelt sich eigentlich nur um den ersten und wird im Allgemeinen falsch auf den zweiten angewendet:

  1. Eine Position, insbesondere der erste 512-Byte-Sektor eines partitionierten Datenspeichergeräts ("LBA-Sektor 0"). Dieser Speicherort enthält die ersten 440 Byte des Bootloader-Codes (den Bootloader der ersten Stufe) und die primäre Partitionstabelle. Weitere Informationen zum Aufbau eines typischen MBR finden Sie im Wikipedia- Artikel zum MBR.

  2. Der an diesem Ort gespeicherte Bootloader-Code. In einem BIOS-System ist dies der erste Code, der ausgeführt wird, wenn das BIOS von einem Laufwerk gestartet wird. Siehe MBRs und System-Bootstrapping und First-Stage-Bootloader : Auf i386-Systemen lädt dieser Code den Second-Stage-Bootloader , der im Volume-Bootdatensatz der aktiven Partition gespeichert ist und der das eigentliche Booten des Betriebssystems ausführt.

Der Volume Boot Record- oder Partitions-Bootsektor ist der erste Sektor einer Partition, in dem ein auf dieser Partition installiertes Betriebssystem seinen Haupt-Bootstrapping-Code speichert. Ein VBR wird auch auf nicht partitionierten Datenspeichergeräten (Disketten, USB-Sticks oder sogar Festplatten, die in nicht partitionierten Rollen verwendet werden) verwendet.

Mehrfach-Boot-Systeme verwenden einen Boot-Manager (z. B. Grub). Ein Boot-Manager legt seinen eigenen Bootloader-Code im MBR ab und bietet ein Menü, aus dem ein Benutzer ein Betriebssystem zum Booten auswählen kann. (In technischer Hinsicht wählt der Benutzer den zu verwendenden Bootloader der zweiten Stufe.)


So beantworten Sie Ihre Fragen direkt:

  • Zwei Festplatten mit jeweils einem Betriebssystem haben jeweils einen eigenen MBR .

    • Beide MBRs enthalten mindestens eine Partition.
    • Jede Partition auf diesen Festplatten hat einen eigenen VBR. Die Partitionen, die Betriebssysteminstallationen enthalten, speichern ihre Bootloader der zweiten Stufe in diesen VBRs. Partitionen, die nur Daten enthalten, haben (wahrscheinlich) keinen gültigen Startcode in ihrer VBR.
    • Wenn dieses System gestartet wird, enthält mindestens einer dieser MBRs einen gültigen Bootloader der ersten Stufe, der jedoch nur für das Laufwerk erforderlich ist, von dem das BIOS zu starten versucht.

  • Als Sie Linux auf Ihrem zweiten Laufwerk installiert haben, hat es wahrscheinlich den ersten Bootloader von Grub in den MBR des Windows-Laufwerks geschrieben. Es kann hat auch das Boot erste Stufe Lader in den MBR von einem eigenen Antrieb geschrieben, aber wenn das BIOS nie versucht zu booten Sie von dem Linux - Laufwerk, werden Sie nie bemerken. Wenn Sie / fixmbr verwenden, schreibt Windows den Bootloader der ersten Stufe auf dem MBR des Systemlaufwerks neu.

    • Ich weiß ehrlich gesagt nicht, ob das Dienstprogramm Bootrec.exe von Win-7 auch in die MBRs anderer Laufwerke schreibt. Dies ist wahrscheinlich möglich, aber wahrscheinlich nicht die Standardaktion.
    • Ich weiß auch nicht, ob das Installationsprogramm von Ubuntu 9.04 Grub standardmäßig auf den MBRs beider Laufwerke installieren würde. Auf Wunsch ist dies auch von Hand möglich. In einigen Situationen wäre es eine gute Sache - wenn Sie das Windows-Laufwerk trennen und versuchen würden, vom Linux-Laufwerk zu booten, würden Sie nicht booten, wenn Grubs Startcode der ersten Stufe nicht vorhanden wäre.

Vielen Dank für diese sehr ausführliche Antwort
:-)

1
@GiH gern geschehen. Danke, dass Sie diese Frage gestellt haben. Es kann als grundlegende Einführung in MBRs und Bootloader für zukünftige Leser dienen.
Quack Quixote

Haben Sie eine Quelle für "Der Begriff Master Boot Record wird oft verwendet, um sich auf zwei Dinge zu beziehen - es ist eigentlich nur der erste und wird im Allgemeinen falsch auf den zweiten angewendet:" Ich bin sicher, dass es richtig ist, und ich habe es gelesen Irgendwo .. aber interessant, wenn Sie eine Quelle dafür haben. Gibt es einen Begriff für den Nicht-Bootloader-Teil des MBR, da es sich hier um einen Begriff für Bootloader handelt? Und wenn es um GPT geht, beinhaltet GPT einen Bootloader und eine Partitionstabelle, und welche Terminologie unterscheidet GPT von der Partitionstabelle?
Barlop

3

Ein Laufwerk benötigt keinen MBR. Ohne diesen können Sie jedoch nicht von diesem Laufwerk booten.

Für den Anfang bootet der Computer von der Festplatte, auf die das BIOS angewiesen ist. Das ist die einzige Scheibe , die benötigt einen MBR (Dies ist auf BIOS - basierte Maschinen zB die meisten auf dem Markt, nicht EFI).

Wenn Sie einen MBR haben, wird der Computer im Wesentlichen darüber informiert, dass das Laufwerk bootfähig ist (und nicht die gefürchtete Meldung "No disk or disk error" oder eine ähnliche Meldung zurückgibt). Anschließend wird der Bootloader geladen.

Wenn der Bootloader geladen wird, wird er im Grunde genommen das tun, wozu er angewiesen ist. Dies kann sein, andere Bootloader (zum Beispiel das Laden des Windows-Bootloaders durch Grub) oder Betriebssysteme zu laden. Sie können zum Beispiel Laufwerk / Partition auswählen.

Sie müssen also nur den MBR (und den Bootloader) auf dem tatsächlichen Startlaufwerk haben.


Ok, aber ist es möglich, dass meine beiden Laufwerke einen MBR haben, seitdem ich zuvor gearbeitet habe? Grundsätzlich versuche ich herauszufinden, ob mein Linux-Laufwerk Speicherplatz auf einem MBR verschwendet, weil ich grub nicht verwende, oder wenn ich den Windows-Bootloader installiert habe, wurden grub und der MBR entfernt? Entschuldigung, wenn meine Frage verwirrend ist ...
GiH

1
Sie können nur einen MBR haben, da es sich nicht um eine Datei, sondern um einen Speicherort handelt. Wenn Sie ein anderes Betriebssystem auf einem anderen Laufwerk installiert haben, ist es möglich, dass Sie es noch auf dem anderen Laufwerk haben, aber es ist so unbedeutend klein. Ich würde mir wirklich keine Sorgen machen (wir reden über ein paar hundert Bytes (ich denke, max ist ~ 500), wenn das, auf einem Laufwerk mit vielen Milliarden Bytes!). Es ist jedoch möglich, dass Sie die Grub-Dateien noch haben - aber auch hier ist es sehr klein.
William Hilsum

3
@GiH, verschwenden von Speicherplatz - Nein, der MBR stellt auch die Partitionstabelle für das Laufwerk bereit , sodass Speicherplatz reserviert wird (nicht vom Betriebssystem verwendet wird), unabhängig davon, ob er einen gültigen Startdatensatz enthält oder nicht. Sie können sich das als geringen Overhead für Ihre Dateisysteme vorstellen. Im Vergleich zu modernen Festplattenkapazitäten ist die Menge an "verschwendetem" Speicherplatz zu gering, um sich Sorgen zu machen.
Quack Quijote

1

MBR (Master Boot Record) ist der erste Sektor, auf den geschrieben werden kann. Es hat eine feste Position und Größe (sehr klein), so dass Sie nur einen MBR pro Festplatte haben können.

MBR ist der erste Sektor, der nach dem Laden des BIOS in der Startsequenz gelesen wird. Es kann zum Booten eines Betriebssystems oder zum Laden eines Bootloaders wie grub oder lilo verwendet werden, um das zu ladende System auszuwählen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.