Se utilizzate diversi sistemi operativi sul vostro disco fisso ognuno avrà a disposizione una o più partizioni. La posizione delle partizioni deve essere univoca per tutti i sistemi presenti onde evitare delle conseguenze catastrofiche.
Il MBR contiene la tavola delle partizioni che descrive la posizione delle partizioni primarie. Nella tavola ci sono 4 campi per le 4 partizioni primarie, ogni campo è descritto da una struttura del tipo
struct partizione { char attiva; /* 0x80: avviabile; 0: non avviabile */ char inizio[3]; /* CHS del primo settore */ char tipo; char fine[3]; /* CHS dell'ultimo settore */ int partenza; /* numero identificativo del settore a 32 bit (si conta a partire da 0) */ int lunghezza; /* numero totale dei settori a 32 bit */ };(dove CHS significa Cilindri/Testine/Settori - Cylinder/Head/Sector).
la struttura dà informazioni ridondanti. La posizione di una partizione
si ricava dai campi inizio
e fine
entrambi a 24 bit e dai campi partenza
e lunghezza
questi ultimi a 32 bit.
Linux utilizza solo i campi inizio
e lunghezza
, può quindi gestire partizioni
che abbiano meno di 2^32 settori (circa 2TiB).
Questa dimensione è centinaia di volte più grande dei dischi attualmente disponibili,
probabilmente sarà sufficiente per i prossimi otto anni e forse oltre.
(Le partizioni possono essere molto grandi tuttavia c'è un limite alla dimensione massima di un singolo file che nei sistemi a 32 bit non può essere più grande di 2GiB.)
Il DOS utlizza i campi inizio
e fine
e la chiamata all'INT13
del BIOS per accedere al disco, può quindi indirizzare dischi non più grandi di
8.4 GB pur effettuando la traslazione (le partizioni non possono superare i 2.1 GB perché
occorre tener conto delle restrizioni imposte al filesystem dalla FAT16).
Lo stesso dicasi per Windows 3.11 e WfWG e Windows NT 3.*.
Windows 95 ha il supporto per l'interfaccia all'INT13 Esteso
e utilizza un tipo speciale di partizione (c, e, f invece di b, 6, 5)
per indicare che tale partizione può essere accessibile in questo modo.
Quando si utilizzano questi tipi di partizione i campi inizio
e fine
contengono delle informazioni fasulle (1023/255/63).
Windows 95 OSR2 ha introdotto il fylesystem FAT32 (partizioni
di tipo b o c) che permette partizioni di dimensioni al massimo di 2 TiB.
A cosa sono dovute le stupidaggini che apprendiamo da fdisk
circa la `sovrapposizione' delle partizioni quando in effetti non c'è nulla di sbagliato?
Bene - qualche volta c'è un `errore': se date un'occhiata ai campi inizio
e fine
di tali partizioni, come fa il DOS, queste si sovrappongono (tale `errore' non può essere corretto perché i campi non possono
memorizzare un numero di cilindri superiore a 1024 - ci sarà
sempre `sovrapposizione' non appena avrete più di 1024 cilindri).
Tuttavia, se voi date uno sguardo ai campi inizio
e lunghezza
,
come fa Linux, e come fa anche Windows 95 nel caso di partizioni di tipo c, e o f allora tutto
procede per il meglio.
Concludendo potete ignorare questi avvertimenti quando
usate cfdisk
e sul vostro disco è installato solo Linux.
Occorre prestare attenzione quando il disco è condiviso con il DOS.
Usate il comando cfdisk -Ps /dev/hdx
e cfdisk -Pt /dev/hdx
per controllare la tabella delle partizioni del disco /dev/hdx
.