Avanti Indietro Indice

6. Geometria dei dischi fissi, delle partizioni e 'sovrapposizione'

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.


Avanti Indietro Indice