Hierboven zagen we de structuur van de MBR (sector 0): boot loader code gevolgd door 4 partitietabel-ingangen van elk 16 bytes, gevolgd door een AA55 kenmerk. Partitietabel ingangen van type 5 of F of 85 (hex) hebben een speciale betekenis: ze beschrijven extended partities: ruimte die verder is gepartitioneerd in logische partities. (Dus een extended partitie is slechts een box, het kan zelf niet worden gebruikt, men gebruikt de logische partities daarbinnen in.) Slechts de lokatie van de eerste sector van een extended partitie is belangrijk. Deze eerste sector bevat een partitietabel met vier ingangen: één logische partitie, één extended partitie en twee ongebruikte. Op deze manier krijgt men een keten met partitietabel sectoren, verspreid over de disk, waar de eerste de drie primaire partities beschrijft en de extended partitie en iedere volgende partitietabel sector beschrijft een logische partitie en de lokatie van de volgende partitietabel sector.
Het is belangrijk dat je dit begrijpt: Als mensen tijdens het partitioneren van een disk iets stoms doen, willen ze weten: Zijn mijn gegevens er nog steeds? En het antwoord is meestal: Ja. Maar als logische partities werden aangemaakt, dan zijn de partitietabel sectoren die deze gegevens beschreven aan het begin van deze logische partities geschreven, en gegevens die zich daar bevonden zijn verloren gegaan.
Het programma sfdisk zal de volledige keten laten zien. B.v.,
# sfdisk -l -x /dev/hda
Disk /dev/hda: 16 heads, 63 sectors, 33483 cylinders
Units = cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/hda1 0+ 101 102- 51376+ 83 Linux
/dev/hda2 102 2133 2032 1024128 83 Linux
/dev/hda3 2134 33482 31349 15799896 5 Extended
/dev/hda4 0 - 0 0 0 Empty
/dev/hda5 2134+ 6197 4064- 2048224+ 83 Linux
- 6198 10261 4064 2048256 5 Extended
- 2134 2133 0 0 0 Empty
- 2134 2133 0 0 0 Empty
/dev/hda6 6198+ 10261 4064- 2048224+ 83 Linux
- 10262 16357 6096 3072384 5 Extended
- 6198 6197 0 0 0 Empty
- 6198 6197 0 0 0 Empty
...
/dev/hda10 30581+ 33482 2902- 1462576+ 83 Linux
- 30581 30580 0 0 0 Empty
- 30581 30580 0 0 0 Empty
- 30581 30580 0 0 0 Empty
#
Het is mogelijk slechte partitietabellen te construeren.
Veel kernels geraken in een loop als een bepaalde extended partitie
naar zichzelf terug verwijst of naar een eerdere partitie in de keten.
Het is mogelijk twee extended partities te hebben in één van
deze partitietabel sectoren zodat de partitietabel keten zich splitst.
(Dit kan bijvoorbeeld gebeuren met een fdisk die zowel 5, F, als
85 niet als een extended partitie herkent, en een 5 naast een F aanmaakt.)
Geen enkel standaard fdisk type programma kan een dergelijke situatie aan, en
er is wat handwerk voor vereist om het te repareren.
De Linux kernel zal een splitsing accepteren op het buitenste niveau.
Dat wil zeggen dat je twee ketens van logische partities kunt hebben.
Soms is dit handig - men kan bijvoorbeeld type 5 gebruiken en dat deze
zichtbaar is voor DOS en het andere type 85, onzichtbaar voor DOS, zodat
DOS FDISK niet zal crashen vanwege logische partities voorbij cylinder 1024.
Meestal heeft men voor het aanmaken van een dergelijke setup sfdisk
nodig.