# Master boot record

In de architectuur van de IBM PC is het master boot record (MBR) de bootsector, dat is de allereerste sector van een harde schijf of een ander digitaal opslagmedium waarmee een pc opgestart kan worden, zoals een Live-USB. Er staat een reeks opdrachten in die nodig is om het besturingssysteem te laden (booten).
De bootstrappingfirmware in het ROM BIOS laadt en voert het master boot record uit. Het MBR van een schijf bevat normaliter de partitietabel, die de PC dan gebruikt om het bootrecord op de partitie die gemarkeerd is met de active flag te laden en uit te voeren. Door dit ontwerp kan het BIOS elk besturingssysteem laden zonder dat het specifiek hoeft te weten waar het moet zoeken op een partitie.
Doordat het MBR vrijwel direct na het opstarten wordt ingelezen, hebben veel computervirussen zich in het tijdperk voor de virusscanner makkelijk kunnen verspreiden door de MBR-code te wijzigen.

## Opstartprocedure

Tijdens de opstartprocedure maakt het voor het BIOS eigenlijk geen verschil of er van diskette of van harde schijf wordt gestart.

### Vanaf diskette

De oudste pc's hebben geen harde schijf, alleen diskettes. De opstartprocedure is simpel: Het BIOS leest de eerste sector van een diskette (de bootsector) naar locatie 0000:7C00 en voert de daarin staande instructies uit. Die instructies zorgen dan voor het verdere opstarten.
Om zeker te weten dat er een uitvoerbaar programma in de eerste sector staat, staat aan het einde van de sector de magische waarde 55 AA. Is een diskette met willekeurige gegevens gevuld, dan zou het wel erg toevallig zijn als er 55 AA aan het einde van de eerste sector stond. Staat er een andere waarde, dan ziet het BIOS dat het geen uitvoerbaar programma betreft.
Op diskettes waar op geen besturingssysteem staat bevat de bootsector meestal wel een kort programma met een mededeling dat de diskette geen besturingssysteem bevat en dat deze vervangen moet worden met een opstartdiskette.

### Vanaf harde schijf

Opstarten van een harde schijf gaat net zo, althans wat het BIOS betreft. Het BIOS leest de eerste sector van de schijf, het MBR, naar locatie 0000:7C00 en voert de daarin staande instructies uit. Ook nu staat er 55 AA in de laatste twee bytes van de sector. Daarmee is de taak van het BIOS voltooid.
Maar een harde schijf kan gepartitioneerd zijn, en bestaat dan uit een aantal partities die elk geformatteerd zijn als een diskette, inclusief bootsector. In het MBR staan nu geen opstartinstructies maar een doorverwijzing naar een partitie. De instructies in het MBR laden de bootsector van een van de partities naar locatie 0000:7C00 (waardoor dus het eerder geladen MBR wordt overschreven) en voeren de daarin staande instructies uit. Het MBR gedraagt zich dus als een transparant verdeelstation om een van de partities te kiezen.

## Lezen van een schijf

Men zou uit het bovenstaande kunnen concluderen dat het mogelijk is een diskette te partitioneren, en dat het partitioneren van een harde schijf niet verplicht is. Dat klopt echter alleen voor de opstartprocedure. Is er eenmaal opgestart, dan kunnen de gegevens op de schijven worden gelezen, en nu maakt het BIOS onderscheid tussen een harde schijf en een diskette. Wordt er een harde schijf gelezen, dan houdt het BIOS rekening met de partitionering.

## Indeling van het master boot record

| 446 bytes | Code Area |
| 64 bytes | partitietabel |
| 2 bytes | bootsignatuur (0xAA55) |
| totaal 512 bytes ||

## Voorbeeld van een master boot record

Code area. Hier staan het opstartprogramma en (goed leesbaar) een aantal foutmeldingen:
Partitietabel, zie aldaar voor meer uitleg:
Bootsignatuur, hier staat altijd 55AA. Staat dat er niet, dan is de partitietabel ongeldig: