La limitation est due à la conception originale du BIOS. À cette époque, les gens ne pensaient pas que plus de quatre systèmes d'exploitation différents seraient installés sur un seul disque. Il y avait également une mauvaise compréhension de la norme par les implémenteurs de système d'exploitation, notamment Microsoft et Linux, qui mappaient par erreur les systèmes de fichiers avec des partitions (primaires) au lieu de subdiviser leur propre partition en tranches comme BSD et Solaris, ce qui était l'objectif initial.
Le nombre maximum de partitions logiques est illimité par la norme mais le nombre de partitions accessibles dépend du système d'exploitation. Windows est limité par le nombre de lettres de l'alphabet, Linux avait 63 emplacements avec le pilote IDE (hda1 à hda63) mais les versions modernes standardisent les pilotes sd qui supportent par défaut 15 emplacements (sda1 à sda15). Avec quelques ajustements, cette limite peut être surmontée mais peut confondre les outils (voir http://www.justlinux.com/forum/showthread.php?t=152404 )
En tout cas, cela devient l'histoire avec EFI/GPT. Les Linux récents supportent GPT avec lequel vous pouvez avoir 128 partitions par défaut. Pour utiliser pleinement les disques volumineux (2 To et plus), vous aurez de toute façon besoin de GPT.
Sen, en réponse à @jlliagre, il convient de noter que certains systèmes d'exploitation créeront une seule partition, mais créeront essentiellement des sous-partitions dans cet espace.
C'est analogue, mais pas égal, à faire :
parted rm 1 /dev/sda
...
parted rm 7 /dev/sda
parted mkpart primary $start $end /dev/sda
parted mkpart primary $start1 $end1 /dev/sda1
Vous pouvez ensuite utiliser kpartx pour accéder à ces sous-partitions :
kpartx -a /dev/sda1
La ou les sous-partitions apparaîtraient comme :
/dev/sda1p1
Bien sûr, ce n'est pas exactement ainsi que FreeBSD et les systèmes similaires procèdent à leur découpage, mais c'est essentiellement la même chose.