È uscito il Corso Java Completo
Torna al blog

Partizioni del disco: come funzionano e come gestirle

Come funzionano le partizioni del disco: MBR e GPT, i file system ext4, NTFS ed exFAT, lo schema giusto per Linux e come ridimensionare senza perdere dati.

Edoardo Midali

Edoardo Midali

Developer · Content Creator

10 min di lettura

Arrivi alla schermata di installazione di Linux, ti chiede come vuoi partizionare il disco e per la prima volta capisci che non hai idea di cosa rispondere. Oppure hai un hard disk esterno che su Windows funziona e sul Mac è in sola lettura. Sono lo stesso argomento. In questo articolo trovi cosa sono le partizioni, che differenza c'è tra MBR e GPT, quale file system usare per cosa, come montare i dischi su Linux e come ridimensionare senza fare disastri.

Cos'è

Una partizione è una porzione di un disco fisico che il sistema operativo tratta come se fosse un disco a sé, con un proprio file system e un proprio contenuto.

Un disco da 1 TB può presentarsi come un unico spazio da 1 TB, oppure come tre spazi separati da 500, 400 e 100 GB. Fisicamente è sempre lo stesso pezzo di hardware: la divisione è scritta in una tabella all'inizio del disco.

Perché dividerlo? Per tenere sistema e dati separati, per installare più sistemi operativi sulla stessa macchina, per usare file system diversi, o per limitare il danno quando qualcosa riempie il disco.

La tabella delle partizioni: MBR e GPT

I primi settori del disco contengono la mappa: dove inizia e dove finisce ogni partizione. Esistono due formati.

MBRGPT
Età1983Fine anni '90, standard oggi
Dimensione massima disco2 TB8 ZB (di fatto nessun limite)
Partizioni4 primarie (o 3 + estesa)128
Copie della tabellaUna solaUna all'inizio e una alla fine
FirmwareBIOS legacyUEFI
Checksum di integritàNoSì (CRC32)

La copia di riserva di GPT non è un dettaglio. Con MBR, se i primi settori si corrompono, la mappa del disco è persa e i dati ci sono ancora ma nessuno sa più dove. GPT tiene una seconda copia in fondo al disco e può ricostruirsi.

La regola pratica è breve: su qualsiasi macchina degli ultimi dieci anni, GPT. MBR ha senso solo per compatibilità con hardware o sistemi molto vecchi. Il legame con il firmware è spiegato in BIOS e UEFI.

Per vedere com'è messo un disco su Linux:

lsblk -f                    # dischi, partizioni, file system, punti di montaggio
sudo fdisk -l /dev/sda      # tabella delle partizioni
sudo parted /dev/sda print  # mostra anche il tipo di tabella (msdos o gpt)

Su Windows, diskmgmt.msc mostra la stessa cosa in forma grafica; il tipo di tabella si legge nelle proprietà del disco, scheda Volumi.

I file system: quale usare per cosa

La partizione è il contenitore, il file system è il modo in cui i file vengono organizzati dentro. Sono due decisioni diverse.

File systemDove nasceUsalo perAttenzione
ext4LinuxIl sistema Linux, sempreWindows non lo legge senza software aggiuntivo
btrfsLinuxSnapshot, compressione, dischi grandiPiù complesso, RAID 5/6 ancora sconsigliato
XFSLinuxServer, file molto grandiNon si può rimpicciolire
NTFSWindowsIl disco di Windows, dischi esterni usati con WindowsmacOS lo legge ma non ci scrive
exFATMultipiattaformaChiavette e dischi esterni condivisiNessun journaling: staccare male corrompe
APFSmacOSIl disco del MacIlleggibile fuori da macOS
FAT32OvunqueSolo la partizione EFI e vecchie chiavetteFile singoli massimo 4 GB

Le due scelte che risolvono il 90% dei casi:

  • Disco interno con Linux → ext4. È noioso, maturo e non ti tradisce. btrfs vale la pena solo se vuoi davvero gli snapshot.
  • Disco esterno che gira tra Windows, Mac e Linux → exFAT. È l'unico che scrivono tutti senza installare nulla. Smontalo sempre in modo pulito prima di staccarlo: senza journaling, un'estrazione a caldo durante una scrittura può rendere illeggibile l'intero volume.

Il limite dei 4 GB di FAT32 è il motivo per cui una chiavetta si rifiuta di accettare un film o un'immagine ISO: non è piena, è il file system.

Uno schema sensato per Linux

Ecco la parte dove circolano più consigli obsoleti. Uno schema che funziona bene su un desktop o portatile moderno:

PartizioneDimensioneFile system
EFI (/boot/efi)512 MB – 1 GBFAT32
root (/)Tutto il restoext4
swapfile di swap, non partizione

Sì, è quasi tutto in una partizione sola. Ed è la scelta giusta per la maggior parte delle persone.

Serve una partizione separata per /home?

Quasi mai, se sei un utente normale. Il vantaggio classico — reinstallo il sistema e tengo i dati — funziona, ma ha un costo concreto: devi decidere oggi quanto spazio dare a ciascuna. Sbagli la stima, e ti ritrovi con / pieno e 300 GB liberi in /home che non puoi usare. Riempire / su Linux significa aggiornamenti che falliscono e servizi che si fermano.

Ha senso se: reinstalli spesso il sistema per lavoro, oppure vuoi tenere /home cifrata separatamente, oppure /home sta su un disco fisico diverso (SSD per il sistema, HDD grande per i dati). Altrimenti, una partizione sola e un backup fatto bene ti coprono meglio.

Serve ancora la swap?

Sì, ma non come partizione dedicata. Un file di swap fa esattamente lo stesso lavoro e puoi ridimensionarlo in trenta secondi, invece di dover ripartizionare il disco.

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
free -h                       # verifica

Quanta: con 16 GB di RAM o più bastano 2–4 GB, giusto per non far intervenire il killer della memoria quando qualcosa sfugge di mano. L'unica eccezione seria è l'ibernazione, che richiede swap almeno pari alla RAM perché deve scriverci dentro tutta la memoria.

Il chmod 600 non è decorativo: il file di swap contiene pezzi di memoria del sistema e non deve essere leggibile da chiunque. Sui permessi c'è la guida a chmod.

Montare i dischi e /etc/fstab

Su Linux una partizione non ha una lettera: viene montata in una directory. Manualmente:

sudo mkdir -p /mnt/dati
sudo mount /dev/sdb1 /mnt/dati

Al riavvio sparisce. Per renderlo permanente si scrive in /etc/fstab, e qui serve una regola: usa sempre l'UUID, mai /dev/sdb1. I nomi dei dispositivi dipendono dall'ordine di rilevamento e cambiano quando aggiungi un disco o cambi porta; l'UUID resta attaccato al file system.

sudo blkid /dev/sdb1
# /dev/sdb1: UUID="a1b2c3d4-..." TYPE="ext4"

Riga da aggiungere in /etc/fstab:

UUID=a1b2c3d4-e5f6-7890-abcd-ef1234567890  /mnt/dati  ext4  defaults,nofail  0  2

nofail è l'opzione che ti salva. Senza, se quel disco un giorno non c'è — esterno scollegato, cavo allentato — l'avvio si ferma in modalità di emergenza. Con nofail, il sistema salta il montaggio e parte lo stesso.

Prova sempre prima di riavviare:

sudo mount -a    # monta tutto ciò che è in fstab: se sbaglia, sbaglia adesso

Un fstab rotto è una delle poche cose che rendono un server irraggiungibile dopo un riavvio, ed è un errore fastidioso da correggere su un VPS senza accesso alla console. Il montaggio è gestito da systemd, che genera unità a partire da fstab: per questo un errore lì blocca l'avvio anziché essere ignorato.

Ridimensionare senza perdere dati

Si può fare, e nella maggior parte dei casi va bene. Ma è l'operazione in cui si perdono più dati, quindi in ordine:

  1. Fai un backup. Non "ho quasi tutto su Drive": un backup vero, verificato. Vale la pena rileggere come fare un backup prima di partire.
  2. Non ridimensionare una partizione montata. Avvia da una live USB (GParted Live, o l'ISO di Ubuntu in modalità prova).
  3. Controlla il file system prima, altrimenti stai spostando dati già danneggiati:
    sudo e2fsck -f /dev/sda2
    
  4. Ridimensiona, con GParted se preferisci l'interfaccia grafica, o da riga di comando.
  5. Non interrompere. Uno spostamento di partizione su un disco grande può durare ore. Se sei su un portatile, tienilo attaccato alla corrente.

Le insidie principali:

  • Crescere è quasi sempre sicuro, rimpicciolire no. Ridurre significa spostare dati reali, ed è lì che le cose vanno storte.
  • Puoi estendere una partizione solo verso spazio non allocato adiacente. Se lo spazio libero è dall'altra parte del disco, serve prima spostare qualcosa — cioè l'operazione più rischiosa.
  • XFS non si rimpicciolisce, in nessun modo. Unica via: copiare, ricreare, ripristinare.
  • Un'interruzione di corrente a metà di uno spostamento è il classico caso in cui il backup smette di essere teoria.

Se il disco è già pieno di dati importanti e serve solo più spazio, spesso la soluzione onesta è aggiungere un secondo disco e montarlo, non ridisegnare la geometria di quello che hai.

Errori comuni

  • Formattare la partizione sbagliata. /dev/sdb non è sempre lo stesso disco tra un riavvio e l'altro. Prima di ogni comando distruttivo, lsblk -f e conferma con la dimensione e l'etichetta, non con la lettera.
  • dd con l'output invertito. Scrivere una ISO sul disco di sistema invece che sulla chiavetta cancella tutto in silenzio, senza chiedere conferma. Rileggi la riga due volte prima di premere invio.
  • Cancellare la partizione EFI perché "è piccola e non so cosa sia". Il computer non si avvia più.
  • Cancellare la partizione di ripristino del produttore durante un dual boot: recuperabile, ma perdi il ripristino di fabbrica.
  • Convertire MBR in GPT su un disco con Windows installato senza poi sistemare l'avvio: il sistema non parte più.

Il denominatore comune è sempre lo stesso: nessuno di questi errori dà problemi se hai un backup recente. Se ti stai avvicinando ora alla riga di comando, i comandi Linux essenziali sono il punto di partenza.

In sintesi

Una partizione è una fetta di disco trattata come un disco a sé. La tabella dice dove stanno le fette, il file system decide come sono organizzati i file dentro.

Usa GPT, sempre, su qualsiasi macchina moderna: nessun limite di 2 TB, 128 partizioni e una copia di riserva della tabella.

Le scelte pratiche di file system sono due: ext4 per il disco Linux, exFAT per i dischi esterni che devono girare tra sistemi diversi.

Non complicare lo schema di partizionamento: EFI più una root sola vanno benissimo, /home separata serve raramente, e la swap oggi è un file — che puoi cambiare in trenta secondi invece di ripartizionare.

In /etc/fstab usa l'UUID, aggiungi nofail e prova con mount -a prima di riavviare.

E la regola che vale più di tutte le altre messe insieme: backup prima di toccare le partizioni. Il ridimensionamento funziona quasi sempre — ed è proprio quel "quasi" il motivo per cui il backup esiste.

Se stai partizionando per installare Linux, il passo precedente è scegliere la distribuzione: lo trovi in cos'è una distro Linux. Se invece stai pensando a più dischi per la ridondanza, leggi prima RAID: cosa significa — e in particolare la parte sul perché non sostituisce un backup.