preLINUX
Una memoria di massa può essere suddivisa in uno o più dischi logici chiamati partizioni ognuna delle quali può contenere un Sistema Operativo diverso. Il primo hard disk presente nei personal computer aveva una capacità di 10Mb e, chiaramente, non c'era alcuna necessità di suddividerlo in più parti. Anche in questi casi è necessario tuttavia dichiarare che si vuole utilizzare una sola partizione che comprenda tutto l'hard disk. In pratica definire una partizione vuol dire stabilire i confini, in termini di cilindro iniziale e finale, che delimitano l'area che il sistema operativo può utilizzare per conservare i dati, anzi, per essere più precisi, le coordinate CHS di inizio e fine.
# sfdisk -l Disk /dev/sda: 14593 cylinders, 255 heads, 63 sectors/track Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/sda1 * 0+ 7582 7583- 60910416 c W95 FAT32 (LBA) /dev/sda2 7583+ 14592 7010- 56307794+ 5 Extended /dev/sda5 7583+ 9163- 1580- 12691349+ 83 Linux /dev/sda6 9163+ 9408 246- 1975963+ 82 Linux swap / Solaris /dev/sda7 9409+ 14592 5184- 41640448+ 83 Linux
I simboli + e – associati ai cilindri che delimitano le partizioni, indicano che si tratta di valori approssimati. Una stima sulla posizione esatta di inizio e fine partizione andrebbe effettuata, specificando come unità di misura il settore al posto del cilindro, aggiungendo -u S alla riga di comando.
Osservando l'output completo del comando sfdisk si può notare che il disco di esempio (/dev/sda), è diviso in diverse partizioni. Per esempio l'ultima partizione /dev/hda7 comincia dal cilindro 9409 e termina al cilindro 14592.
L'esigenza di suddividere un disco in più partizioni è la conseguenza di diversi fattori. Solo per citarne alcuni:
A differenza dei primi dischi montati sui computer, gli attuali hanno capacità molto elevate. La suddivisione in più partizioni permette un raggruppamento più razionale dei dati conservati.
La suddivisione di un disco in, per esempio, due partizioni una per il sistema operativo e una per i dati, permette, per esempio, di aggiornare il sistema operativo, anche riformattando la partizione, senza perdere i dati che risiedono in una partizione diversa non interessata dalle modifiche.
La necessità o curiosità di provare più sistemi operativi porta a destinare, ad ogni sistema operativo installato, una o più partizioni distinte. Ogni sistema operativo infatti, per esempio, organizza lo spazio disponibile in modo diverso da qualsiasi altro.
Ogni sistema operativo rende disponibile un proprio strumento per generare le partizioni. Le informazioni relative alle partizioni in cui è stato suddiviso un disco vengono scritte nel primo settore del disco. Il settore 1 del cilindro 0 della testina 0, di 512 byte, chiamato MBR (Master Boot Record) contiene, fra l'altro, la tabella delle partizioni in cui sono conservate, appunto, tali informazioni.
Il modo in cui sono gestite le partizioni è rimasto praticamente invariato dai primi personal computer. Nella tabella delle partizioni c'è posto per la descrizione di soltanto quattro partizioni. Tale numero, esagerato ai tempi della nascita dei primi personal (si è già accennato al fatto che il primo disco aveva una capacità di 10Mb), si è rivelato insufficiente in rapporto alle capienze dei dischi attuali e alle esigenze di partizionamento di un sistema multi-boot. Per problemi legati alla compatibilità con l'hardware e il software precedente la limitazione delle quattro partizioni si è aggirata in questo modo:
In un disco possono esserci solo quattro partizioni primarie di cui solo una può essere attiva. La partizione attiva è la partizione da cui viene effettuato il boot.
Una delle partizioni ammissibili può essere una partizione estesa. Questo è un sotterfugio per aggirare il limite delle quattro partizioni senza modificare la tabella delle partizioni. La partizione estesa è, sostanzialmente, un contenitore di partizioni.
Nella partizione estesa possono essere generate tante partizioni logiche quante ne servono. In realtà un limite al numero delle partizioni logiche possibili esiste (24) ma è talmente elevato da non costituire un vero e proprio limite.
Nella tabella delle partizioni è presente la descrizione delle partizioni primarie, quando invece si tratta di partizione estesa, la descrizione, contiene l'indicazione di dove si trova su disco la tabella della partizione estesa che, a sua volta, contiene la descrizione della prima partizione logica e l'indicazione di dove si trova la prossima tabella della partizione estesa con la descrizione della seconda partizione logica e così via.
L'esempio di output di sfdisk trattato in precedenza, per quanto riguarda le partizioni presenti
... Device Boot Start End #cyls #blocks Id System /dev/sda1 * 0+ 7582 7583- 55793745 c W95 FAT32 (LBA) /dev/sda2 7583+ 14592 7010- 56307794+ 5 Extended /dev/sda5 7583+ 9163- 1580- 12691349+ 83 Linux /dev/sda6 9163+ 9408 246- 1975963+ 82 Linux swap / Solaris /dev/sda7 9409+ 14592 5184- 41640448+ 83 Linux
può essere riassunto, per maggiore chiarezza, graficamente
/dev/sda1 è una partizione primaria, la presenza di * nella colonna Boot indica, inoltre, che si tratta della partizione attiva.
/dev/sda2 è una partizione estesa che va dal cilindro 7583 al cilindro 14592 (terza riga riportata dell'esempio)
/dev/sda5, /dev/sda6 e /dev/sda7 sono partizioni logiche contenute nella /dev/sda2. Infatti la /dev/sda5 comincia dal cilindro 7583 e la /dev/sda7 termina nel cilindro 14592 che sono, appunto, i confini della /dev/sda2.
Si sarà notato che la numerazione delle partizioni logiche comincia da 5 (/dev/sda5 è la prima) nonostante non esistano le partizioni 3 e 4. In realtà la cosa è meno strana di quello che sembra: basta pensare al fatto che ci possono essere 4 partizioni primarie di cui una, che potrebbe essere la quarta, estesa. Nella partizione estesa possono esserci partizioni logiche la cui numerazione comincia, quindi, da 5.
http://ennebi.solira.org