# Partitietabel

Een harde schijf kan zijn ingedeeld in een aantal partities. De gegevens daarvan worden opgeslagen in de partitietabellen.

## MBR

De belangrijkste partitietabel bevindt zich in sector 0 van de harde schijf. Dat is ook het master boot record. Meestal zijn er nog meer partitietabellen op de harde schijf.
Het master boot record bestaat uit:
| offset (hex) | inhoud | inhoud | aantal bytes |
| 000 | bootprogramma | bootprogramma | 446 |
| 1BE | partitietabel | entry 1 | 16 |
| 1CE | partitietabel | entry 2 | 16 |
| 1DE | partitietabel | entry 3 | 16 |
| 1EE | partitietabel | entry 4 | 16 |
| 1FE | signature (55 AA) | signature (55 AA) | 2 |
De andere sectoren met partitietabellen zien er net zo uit, maar het bootprogramma ontbreekt. Deze sectoren bevatten dus veel ongebruikte ruimte.
Een partitietabel bestaat uit vier regels van 16 bytes. De inhoud van een regel is:
| Offset | Beschrijving | Register bij aanroep van INT 0x13, functie 0x02 |
| 0 | Boot flag, geeft aan of de partitie "bootable" is 0x80 = actief; 0x00 = inactief |
| 1 | Eerste head voor deze partitie | DH |
| 2 | Eerste sector voor deze partitie | CL |
| 3 | Eerste cilinder voor deze partitie | CH |
| 4 | System ID, wijze waarop partitie geformatteerd is. Bij een uitgebreide partitie staat hier 0x0F. Bij GPT (zie hieronder) staat her 0xEE. |
| 5 | Laatste kop voor deze partitie |
| 6 | Laatste sector voor deze partitie |
| 7 | Laatste cilinder voor deze partitie |
| 8-11 | Eerste sector waar deze partitie begint. |
| 12-15 | Aantal sectoren voor deze partitie. |
Vanouds werd een harde schijf geadresseerd met cilinder, kop en sector. Dit zijn dus de gegevens in de bytes 1, 2, 3, 5, 6 en 7. De bytes 8-15 hadden nauwelijks een functie.
Tegenwoordig is het omgekeerd, want de schijven zijn te groot om met drie bytes voor cilinder, kop en sector geadresseerd te worden. Deze zes bytes zijn bij moderne schijven dan ook niet meer van belang, ze worden alleen nog gebruikt om te testen of de regel in gebruik is. De bytes 8-15 bevatten een doorlopend sectornummer en zijn voldoende voor schijven tot 2 TiB. Zie Harde schijf.
Bevindt een partitie zich in een uitgebreide partitie, dan wordt het begin van de partitie (bytes 8-11) gerekend vanaf het begin van de uitgebreide partitie, niet vanaf het begin van de schijf. Dit biedt mogelijkheden voor schijven tot 4 TiB: men kan een uitgebreide partitie maken die de tweede helft van de schijf in beslag neemt.

### Uitgebreide partities

Uit het bovenstaande blijkt dat een partitietabel ruimte biedt aan maximaal vier partities. Om meer partities mogelijk te maken, worden er uitgebreide partities gemaakt. De partitietabel op sector 0 beschrijft dan maximaal 3 primaire partities en één uitgebreide partitie. Deze uitgebreide partitie begint ook weer met een partitietabel.

### Voorbeelden van partitietabellen

We zien hierin onder andere:
* De eerste byte op een regel is 80 (rood). Deze partitie is als "bootable" gemarkeerd en wordt dus gebruikt voor het opstarten van de computer.
* De vijfde byte van een regel is 07. Deze partitie is met NTFS geformatteerd.
* De vijfde byte van een regel is 0F (blauw). Dit is een uitgebreide partitie.
* De eerste partitie begint op sector 0x800 (groen). Dit doet vermoeden dat de schijf met Windows Vista gepartitioneerd is.

## GPT

Met het hiervoor beschreven MBR kan een schijf van maximaal 4 miljard sectoren beheerd worden. Met de gebruikelijke sectorgrootte van 512 bytes betekent dat dat een schijf maximaal 2 TiB groot kan zijn. Met de komst van grotere schijven was een nieuw systeem nodig: GPT. In GPT zijn er acht bytes gereserveerd voor een sectornummer, wat voldoende moet zijn voor schijven maximaal 8 miljard TiB.
Het MBR, sector 0, bevat bij GPT geen partitietabel meer. Op de plaats van regel 1 staat
In een normaal MBR zou dat betekenen: een partitie van type EE die de hele schijf van 2 TiB omvat.
Sector 1 bevat de header, met onder andere een versienummer, een verwijzing naar de laatste sector van de schijf (waar een kopie van de header staat) en een checksum.
De sectoren daarna bevatten de eigenlijke partitietabel. Elke entry is 128 bytes lang.
| Offset | Beschrijving |
| 00-15 | Partitietype |
| 16-31 | Unieke identifier |
| 32-39 | Eerste sector waar deze partitie begint |
| 40-47 | Laatste sector van partitie |
| 48-55 | Attributen (o.a. read-only) |
| 056-127 | Naam van partitie |
* ↑ Informatie over partities.