mini|Partitionierung gemäß den MBR-Spezifikationen: master boot record (links ein Master Boot Record, rechts ein Volume Boot Record)

Der (kurz MBR) enthält ein Startprogramm für BIOS-basierte Computer (IBM-PC-kompatible Computer) und eine Partitionstabelle. Er befindet sich im ersten Sektor eines in Partitionen aufteilbaren Speichermediums wie beispielsweise einer Festplatte. Das Konzept aus Startprogramm und Partitionstabelle wurde 1983 mit dem IBM PC XT und MS-DOS/​PC DOS 2.0 eingeführt. Als Partitionstabelle hat sich der MBR als De-facto-Standard für Speichermedien aller Art, z. B. USB-Sticks, Speicherkarten oder externe Festplatten, etabliert und wird auch als PC-Partitionsschema bezeichnet.

Seit ca. 2010 wird bei großen Speichermedien (> 2 TiB) zunehmend die GUID-Partitionstabelle (GPT-Partitionsschema) verwendet, die auch als Nachfolger für den MBR entwickelt wurde.

Historische Entwicklung Als der IBM PC entwickelt wurde, waren Speichermedien zunächst nicht in Partitionen unterteilt. Die Urfassung des IBM PC, das Modell 5150 von 1981, hatte zwei 5¼″-160-KiB-Disketten-Laufwerke. Das mitgelieferte Betriebssystem PC DOS 1.0 (MS-DOS 1.14) konnte dann auch nur mit dieser speziellen Konfiguration umgehen.

Das BIOS, eine Neuentwicklung für den IBM PC, erwartete an Position CHS 0:0:1 (Spur 0, Kopf 0, Sektor 1) den 512 Bytes großen Bootsektor, lud diesen in den Speicher und führte ihn aus. PC DOS 1.0 enthält an dieser Stelle einen Bootsektor, der von dieser fixen Konfiguration ausgeht: 160-KiB-Speichermedien mit 8 Sektoren pro Spur.

Mit Erscheinen des IBM PC XT 1983 wurden neuere Diskettenlaufwerke und erstmals auch eine Festplatte eingeführt. Der Bootsektor musste also angepasst werden, da nicht mehr von einer fixen Konfiguration ausgegangen werden konnte. Mit PC DOS 2.0 (MS-DOS 2.0) wurde daher für Disketten der (VBR) eingeführt, der einen (kurz BPB) für die unterschiedlichen Diskettenformate enthält und vom Code im VBR ausgewertet wird. Somit konnten auch Disketten mit 9 Sektoren pro Spur für die neuen 360-KiB-Laufwerke verwendet werden, und weitere zukünftige Diskettengeometrien wurden dadurch ermöglicht. Für die Festplatte wurde der eingeführt, der nun eine Einteilung in mehrere Bereiche erlaubte. Die Bereiche wurden Partitionen genannt, der Vorgang des Einteilens partitionieren. Die Partitionen haben feste Größen, sodass es passieren konnte, dass eine Partition voll wurde, aber auf anderen noch freier Platz war. Ebenfalls mit der Einführung von Festplatten wurde die Möglichkeit geschaffen, Dateien innerhalb jeder Partition in Bereiche abzulegen, die Verzeichnisse genannt wurden. Später wurden die Verzeichnisse auch Ordner genannt. Diese Bereiche stellen keine festen Grenzen dar. Ist ein Verzeichnis voll, so ist zugleich die Partition voll. Zur Unterscheidung von Dateinamen wurde den Verzeichnisnamen ein umgekehrter Schrägstrich vorangestellt, der Backslash („\“). (Siehe FAT-Dateisystem). Weiterhin war es möglich, in Verzeichnissen weitere Verzeichnisse abzulegen, die dann Unterverzeichnisse genannt wurden.

Aus Kompatibilitätsgründen wurde die Konvention beibehalten, den Bootsektor in den Speicher zu laden und auszuführen. Und zwar auch bei Datenträgern mit mehreren Partitionen. Dazu wurde der Bereich für das ausführbare Programm leicht gekürzt und der frei gewordene Teil am Ende durch die Partitionstabelle ersetzt. Die Funktion des Bootloaders ist derart modifiziert, dass der Programmcode im MBR zunächst nur die enthaltene Partitionstabelle auswertet und im Chainloading-Prinzip den eigentlichen Bootloader lädt und ausführt, der sich im ersten Sektor derjenigen Partition befindet, die als aktiv markiert ist. Die System-Firmware (das BIOS) des Computers braucht daher die Struktur mit den Partitionen nicht zu kennen und kann wie bisher das Programm im ersten Sektor der Festplatte ausführen.

Funktionen Der (MBR) besteht bei startfähigen Datenträgern aus zwei Teilen: einem Startprogramm () – jenes Programm im Bootsektor, das im Chainloading-Prinzip den Bootloader eines Betriebssystems auf einer der Partitionen startet. einer Partitionstabelle – in diesem Zusammenhang wird auch oft von einem Partitionssektor () gesprochen.

Auf IBM-PC-kompatiblen Computern wird die Partitionstabelle im Normalfall vom Startprogramm ausgewertet – dieses übernimmt die Funktion eines Bootloaders für BIOS-basierte x86-Computer.

Auf Datenträgern, von denen kein Betriebssystem gestartet werden kann oder soll, wird von einem bereits laufenden System nur die Partitionstabelle verwendet – ein eventuell vorhandenes Startprogramm wird dabei nicht genutzt. Dies ist zum Beispiel der Fall, wenn ein USB-Stick, der eine MBR-Partitionstabelle enthält, an einem Computer oder einem anderen Gerät mit USB-Schnittstelle verwendet wird.

Bei der GUID-Partitionstabelle (), die bei modernen Systemen zunehmend den MBR als dessen Nachfolger ersetzt, wird der aus Kompatibilitätsgründen enthaltene MBR zum Schutz mit einer den gesamten Speicherbereich belegenden Partition erstellt, damit die in den darauffolgenden Datenblöcken vorhandene GUID-Partitionstabelle und die darin definierten Partitionen nicht unbeabsichtigt überschrieben werden ().

Startvorgang (Booten) Um mit dem historischen IBM PC kompatibel zu bleiben, wird von einem BIOS im Zuge des Startens () normalerweise der erste Sektor eines angeschlossenen Speichermediums gelesen und ausgeführt. Dieser Sektor wird daher auch als Bootsektor bezeichnet. Beim übernimmt das Startprogramm die Kontrolle, indem es die Partitionstabelle auswertet und ein ausgewähltes Betriebssystem startet. Im Standard-MBR von MS-DOS/​PC DOS 2.0 ist dies der , der die erste aktive (als bootfähig gekennzeichnete) Partition findet und anschließend den Bootsektor dieser Partition ebenfalls lädt und ausführt.

Im Allgemeinen ist es daher nicht das BIOS, das die aktive Partition sucht und den Bootsektor (VBR) dieser Partition startet. Einige Hersteller entwickelten jedoch BIOS-Varianten mit zusätzlichen Funktionen wie einem Auswahlmenü, um das Starten von einer beliebigen Partition zu erlauben; auch Funktionen, die weitere herstellerspezifische Programme von einer Partition nachladen, sind verbreitet. Dies bietet beispielsweise IBM/Lenovo auf vielen Laptops der ThinkPad-Reihe in Form einer „Servicepartition“, deren Programme direkt aus dem BIOS heraus gestartet werden können.ThinkPad T60Service und Fehlerbehebung (PDF; 1,6 MB), Lenovo, zugriff: 24. Juni 2013 Bei vielen Compaq-Modellen wiederum ist das BIOS-Setup nur über externe Programme erreichbar: Die Taste , die vom Anwender während der BIOS-Phase gedrückt werden muss, um das BIOS zu konfigurieren, ist dabei nur dann verfügbar, wenn auch ein nur dafür vorgesehenes DOS-Betriebssystem inklusive Setup- und Diagnoseprogrammen in einer speziellen Partition (Typ 0x12freedesktop.org Bug #24999: Hide Compaq recovery partition type 0x12 (englisch)) auf der ersten Festplatte vorhanden ist. (englisch) Alternativ lässt sich dieses BIOS nur noch über eine Startdiskette mit den entsprechenden Programmen konfigurieren. (englisch), Foreneintrag auf alt.sys.pc-clone.compaq vom 26. September 2005

Obwohl der IBM PC ursprünglich jede Art von Bootcode unterstützte, prüfen manche BIOS-Varianten vor dem Start, ob eine gültige Partitionstabelle vorhanden ist. Wenn ein PC-System nur den MBR verwendet, merkt der Anwender davon in fast allen Fällen nichts, doch führt dies z. B. bei der Verwendung von GPT-formatierten Datenträgern dazu, dass der Startvorgang durch jenes BIOS unterbrochen wird oder ein Starten dadurch sogar grundsätzlich unmöglich ist. Auch können auf solchen BIOS-Varianten keine Betriebssysteme gestartet werden, die keinen MBR verwenden oder benötigen (wie z. B. FreeBSD oder Eigenbau-Betriebssysteme). Selbst wenn ein gültiger MBR vorhanden ist, prüfen manche BIOS-Varianten zusätzlich, ob eine aktive Primärpartition existiert und ob diese einen Bootsektor enthält. Dieses Verhalten führt dazu, dass ein Betriebssystem, dessen Bootloader im MBR selbst installiert wird und das deswegen keine Partition als aktiv markiert, nicht starten kann und das BIOS stattdessen eine meist uneindeutige Fehlermeldung ausgibt. (englisch) vom 4. Februar 2010, abgerufen am 5. Februar 2014

Synonyme Neben der Bezeichnung finden sich auch folgende alternative Bezeichnungen für den MBR: oder bzw. Partitionssektor

Aufbau des MBR Adresse Funktion / Inhalt Größe(Bytes) hex dez 0x0000 0 Startprogramm () (Programmcode) 440 0x01B8 440 Datenträgersignatur(seit Windows 2000) 4 0x01BC 444 Null(0x0000) 2 0x01BE 446 Partitionstabelle 64 0x01FE 510 55hex Bootsektor-Signatur(wird vom BIOS für den ersten Bootloader geprüft) 2 0x01FF 511 AAhex Gesamt: 512

Startprogramm (Bootloader) Der Bootloader des Master Boot Record ist ein kleines Programm, das vom BIOS aufgerufen wird. Dieses lädt den Bootloader immer im 8086-kompatiblen 16-Bit-Modus . Beim Standard-MBR von MS-DOS/​PC DOS 2.0 heißt dieses Startprogramm , sucht in der Partitionstabelle nach „sichtbaren“ und „aktiven“ Partitionen und lädt anschließend den Bootsektor der ersten aktiven Partition und führt diesen aus. Im Chainloading-Verfahren wird dann das eigentliche Betriebssystem geladen.

Der wurde bei jedem Betriebssystem von Microsoft ein wenig verändert, entspricht aber im Wesentlichen immer noch dem ursprünglichen Programmcode von MS-DOS 2.0. Da er grundsätzlich jedes Betriebssystem auf der ersten aktiven Partition starten kann, wird ein mit enthaltenem auch als Standard-MBR bezeichnet.

Der Bootloader kann jedoch durch speziell dafür vorgesehene Programme ersetzt bzw. erweitert werden. Populär sind vor allem Bootmanager, die das vorher enthaltene Startprogramm auslagern und im MBR ersetzen, um stattdessen ein Auswahlmenü oder ähnliches anzuzeigen und so z. B. das Starten von beliebigen Partitionen ermöglichen. Auch gibt es , welche BIOS-Limitierungen durch GeometrieumsetzungMicrosoft Knowledge Base: umgehen sollen (z. B. um bereitzustellen). Derartige Programme nutzen oft eine eigene Partition oder einen reservierten (unpartitionierten) Bereich auf der Festplatte, von dem weitere Dateien oder weiterer Programmcode nachgeladen wird.

Auch Bootviren nutzen den Bootloader des MBR, um vor dem eigentlichen Betriebssystemstart bereits aktiviert zu sein.

Ein fehlender oder defekter Bootloader führt dazu, dass vom Datenträger überhaupt nicht gestartet werden kann, selbst wenn in einer der Partitionen ein Betriebssystem mit intaktem Bootsektor vorhanden ist. Da einige Bootloader zusätzliche Dateien nachladen, liegt ein Defekt auch dann vor, wenn zwar der MBR und die Partition des Betriebssystems intakt sind, aber die Dateien des Bootloaders fehlerhaft sind oder fehlen.

Das Startprogramm verschiedener Betriebssysteme Da das Startprogramm () nur zum Starten () eines IBM-PC-kompatiblen Computers vorhanden sein muss, wird es normalerweise bei der Installation eines Betriebssystems in den MBR geschrieben. Dies kann auf unterschiedliche Weise geschehen. DOS und Windows beispielsweise schreiben den Master Boot Code immer auch beim Erstellen einer Partitionstabelle durch das Dienstprogramm fdisk. Ist jedoch bereits ein MBR vorhanden, so wird mit fdisk normalerweise der nicht verändert, bei der Installation eines Betriebssystems hingegen schon. Bei den meisten Linux-Distributionen wird der Bootloader im MBR nur durch das Installieren eines spezifischen Linux-Bootloaders initiiert, wenn für diesen als Installationsort der MBR angegeben wurde.

Verbreitete Startprogramme im MBR sind: Master Boot Code – generisch, von Microsoft seit MS-DOS 2.0: lädt einen Bootsektor von der ersten aktiven Partition mbr und mbr-installmbr-install herunterladen – ebenfalls generisch und von TestDisk verwendet mbrbm – generischmbrbm.sourceforge.net bootany – generisch, Teil von BSD/OS booteasy – generisch, von FreeFDISK (FreeDOS-FDISK) verwendetBOOTEASY.ASM auf GitHub diverser MBR-Bootcode von PC-Unix, z. B. NetBSD LILO GRUB