dischi e partizioni

Dischi e partizioni con riferimenti a Gnu/Linux

Il partizionamento è alle basi dell’informatica di base ma in molti non conoscono a pieno i concetti, vediamo di rinfrescarci la memoria.

Un disco deve necessariamente essere diviso in una o più partizioni, cioè suddivisioni logiche. Quindi ogni disco, anche con un solo sistema operativo installato, presenta una tavola delle partizioni.
Al momento esistono due tipi di partizionamento MBR e GPT.

Partizionamento MBR

Nel partizionamento MBR il Master Boot Record (l’MBR appunto) è conservato nei primi 512 byte del disco e, oltre a contenere la tavola delle partizioni, specifica quale delle partizioni presenti sul disco è quella di avvio.
La partizione di avvio può essere solo una e deve essere una partizione primaria, senza di essa il sistema operativo Windows non è in grado di iniziare la fase di avvio. Questo limite non è sussiste negli altri sistemi operativi, GNU/Linux può essere avviato da qualsiasi tipo di partizione.

Il partizionamento MBR prevede la creazione di massimo 4 partizioni primarie, una delle quali può essere estesa. Una partizione estesa non contiene dati bensì altre partizioni, le partizioni logiche che possono essere fino a 64.
Riepilogando abbiamo 3 tipi di partizioni:

  • primarie: permettono l’avvio del sistema operativo Windows (se impostato il “Flag Avviabile)” e possono essere fino a 4
  • estesa: è una partizione primaria che non contiene “fisicamente” dati ma altre partizioni (non è possibile impostarvi il “Flag Avviabile”)
  • logiche: nascono da partizioni estese, possono essere fino a 64, non permettono l’avviamento del sistema operativo Windows (non è possibile impostarvi il “Flag Avviabile”).

Non possono esistere partizioni logiche senza partizioni estese.

Il sistema di partizionamento MBR ha un limite importante, che si inizia a notare solo adesso che i dischi crescono di dimensione, le partizioni non possono superare i 2 terabyte.

Partizionamento GPT

Il GPT (GUID Partition Table) è relativamente recente, fa parte dello standard EFI (Extensible Firmware Interface) e necessita nella maggior parte dei casi di una matherboard con BIOS UEFI (Unified Extensible Firmware Interface) o di un BIOS tradizionale che lo supporti.
Superato il limite di partizioni primarie, estese e logiche utilizza degli “identificativi globali” (GUID) per riferirsi al contenuto di ciascuna partizione presente all’interno del disco.
Utilizzando GPT è possibile creare un numero di partizioni teoricamente illimitato anche se la maggior parte dei sistemi operativi ne riduce il numero a 128.
Non è però soltanto questa la differenza tra GPT e MBR: mentre MBR limita la dimensione di ciascuna partizione a 2 Terabyte, GPT consente di arrivare addirittura sino a 9,44 Zettabyte ossia ad oltre 9 miliardi di Terabyte (quanti porno ci stanno in 9 Zettabyte?).
Il sistema di partizionamento GPT conserva le informazioni sull’organizzazione del disco non solo all’inizio ma anche alla fine dell’unità, l’importante caratteristica permette di ripristinare il corretto caricamento dei sistemi operativi nel caso in cui i dati del blocco d’intestazione iniziale dovessero rovinarsi.
Per compatibilità con i vecchi BIOS la tavola delle partizioni GPT contiene anche un classico MBR.

Quale partizionamento utilizza il mio disco?

Per avere questa informazione su Windows si utilizza da prompt di MSDOS il comando:

diskpart

mentre su GNU/Linux si usa il comando:

sudo fdisk -l device

Scopriremo quale device mettere nel prossimo paragrafo.
Vediamo il risultato sul mio portatile tuttofare con disco meccanico (/dev/sda):

partizionamento gpt
Partizionamento GPT

Nella sesta riga appare “Disklabel type: GPT” quindi la mia tavola è di tipo GPT. Come specificato le partizioni non sono in ordine di posizione “fisica sul disco ma di numero e hanno un tipo specifico (il GUID). La confusione viene dal fatto che ho modificato molte partizioni in corso d’opera (le partizioni Windows erano molto più grandi all’inizio).
Vediamo il risultato sul mio Raspberry Pi che ha creato una tavola MBR su una scheda SD (dev/mmcblk0):

partizionamento mbr
Partizionamento MBR

Qui oltre al “Disklaberl type: msdos” è presente anche una partizione estesa (la p2) contenente 3 partizioni logiche (5, 6 e 7).

Il kernel Linux, la cartella /dev e i dischi

Il kernel Linux associa a tutti i device presenti sulla macchina un file speciale all’interno della cartella /dev. Tutti non è un’esagerazione in quanto sono presenti file che vanno dai bus, alla scheda video, alla scheda di rete, fino ad arrivare nel nostro caso a dischi e partizioni.
Curiosità: la cartella /dev contiene anche altri file che come vediamo qui possono essere molto divertenti.

Dischi fissi meccanici, dischi fissi a stato solito, chiavette USB, schede SD e partizioni

I dischi fissi meccanici collegati via SATA (lo standard ormai) e le chiavette USB (emulate SATA) hanno identificativo sd con ultimo carattere aggiuntivo variabile.
Mi spiego meglio, il primo device collegato (o rilevato, come nel caso del disco di avvio) è /dev/sda, il secondo /dev/sdb e così via. Quando scolleghiamo un disco esterno o una chiavetta USB il file nella cartella /dev viene liberato ed è quindi riassociato alla prima occasione.

Per i dischi alla stato solido (MMC) e le schede SD la gestione è diversa dai dischi meccanici. Il primo device collegato (o rilevato come nel caso del disco di avvio) diviene /dev/mmcblk0, il secondo /dev/mmcblk1 e così via.

Le partizioni sono numerate, quindi la prima partizione su disco meccanico o chiavetta USB è /dev/sda1, la seconda /dev/sda2, ecc.
Su disco MMC o scheda SD si aggiunge il carattere p prima del numero della partizione, quindi /dev/mmcblk0p1, /dev/mmcblk0p2, ecc.
Come si nota anche negli screenshot precedenti, nel partizionamento MBR le partizioni primarie sono numerate da 1 a 4 (la estesa è considerata come primaria) mentre le logiche sono numerate dal 5 in poi.

Punti di mount

Ecco le mie partizioni montate sul mio portatile con partizionamento GPT, si nota la separazione della cartella /home e il montaggio automatico della partizione contente il boot EFI. Non è mia abitudine montare le partizioni Windows.

partizioni mount
Partizioni montate

Autore dell'articolo: fabrizio

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *