Aggiungere un secondo disco a un computer Linux, o collegare un disco esterno che deve essere sempre disponibile, è un'operazione che spaventa più di quanto meriti. Le fasi sono sempre le stesse: riconoscere il disco, partizionarlo, formattarlo, montarlo e, se serve, renderlo permanente. L'unico vero rischio è sbagliare disco, e per evitarlo basta procedere con ordine.
Riconoscere i dischi
Linux rappresenta ogni disco come un file in /dev. I nomi seguono una logica precisa:
/dev/sda,/dev/sdb: dischi SATA, USB e SCSI, in ordine di rilevamento; le partizioni sonosda1,sda2;/dev/nvme0n1: il primo SSD NVMe; le partizioni sononvme0n1p1,nvme0n1p2;/dev/mmcblk0: schede SD e memorie eMMC, con partizionimmcblk0p1.
Il comando più chiaro per orientarsi è:
lsblk -f
Mostra l'albero di dischi e partizioni con dimensione, filesystem, etichetta, UUID e punto di montaggio. Prima di qualunque operazione distruttiva conviene lanciarlo, collegare il disco nuovo e lanciarlo di nuovo: la riga che compare è quella giusta. Anche sudo dmesg | tail subito dopo il collegamento conferma il nome assegnato.
Attenzione: le lettere sda, sdb non sono stabili. Possono cambiare da un avvio all'altro se si aggiungono o tolgono dischi. Per questo nelle configurazioni permanenti si usano gli UUID.
Creare una tabella delle partizioni
Su un disco nuovo serve prima una tabella delle partizioni. Lo standard attuale è GPT, che supera i limiti del vecchio MBR su dimensione dei dischi e numero di partizioni. Con parted, supponendo che il disco nuovo sia /dev/sdb:
sudo parted /dev/sdb mklabel gpt
sudo parted -a optimal /dev/sdb mkpart dati ext4 0% 100%
Il primo comando cancella qualsiasi struttura presente sul disco: per questo il controllo con lsblk viene prima. Il secondo crea una partizione che occupa tutto lo spazio, allineata correttamente. Chi preferisce un'interfaccia interattiva può usare fdisk o cfdisk, oppure GParted in ambiente grafico.
Formattare
La partizione creata è ancora vuota: serve un filesystem. Per un disco dati usato solo da Linux, ext4 è una scelta sicura:
sudo mkfs.ext4 -L dati /dev/sdb1
L'opzione -L assegna un'etichetta leggibile. Per un disco da collegare anche a Windows e macOS si usa invece mkfs.exfat.
Montare a mano
Su Linux un disco non ha una lettera: il suo contenuto compare dentro una cartella qualsiasi, il punto di montaggio.
sudo mkdir -p /mnt/dati
sudo mount /dev/sdb1 /mnt/dati
df -h /mnt/dati
Per smontarlo si usa sudo umount /mnt/dati. Se il sistema risponde «target is busy», qualche programma ha ancora un file aperto o un terminale si trova dentro quella cartella; lsof +f -- /mnt/dati mostra chi la sta usando.
Un dettaglio che confonde spesso: se monti un disco sopra una cartella che contiene già dei file, quei file non spariscono ma restano nascosti finché il disco non viene smontato.
Rendere il montaggio permanente
Il montaggio manuale dura fino al riavvio. Per renderlo automatico si aggiunge una riga a /etc/fstab. Prima si ricava l'UUID:
sudo blkid /dev/sdb1
Poi si aggiunge una riga di questo tipo:
UUID=3f2a1c9e-... /mnt/dati ext4 defaults,nofail 0 2
I sei campi indicano: il dispositivo, il punto di montaggio, il tipo di filesystem, le opzioni, un campo storico per il programma dump che oggi si lascia a 0, e l'ordine del controllo all'avvio (1 per la radice, 2 per gli altri dischi, 0 per nessun controllo).
| Opzione | Significato |
|---|---|
defaults |
impostazioni standard di lettura e scrittura |
nofail |
l'avvio prosegue anche se il disco manca |
noatime |
non aggiorna l'ora di ultimo accesso, meno scritture |
ro |
sola lettura |
x-systemd.automount |
monta al primo accesso invece che all'avvio |
Verificare prima di riavviare
Un errore in /etc/fstab può bloccare l'avvio e lasciarti in una shell di emergenza. Prima di riavviare, verifica sempre:
sudo systemctl daemon-reload
sudo mount -a
sudo findmnt --verify
mount -a prova a montare tutto ciò che è elencato e non ancora montato: se segnala un errore, va corretto subito. findmnt --verify controlla la sintassi del file. Nel mio lavoro aggiungo nofail a ogni disco che non sia indispensabile all'avvio: un disco esterno scollegato non deve mai impedire al computer di partire.
Permessi sul nuovo disco
Un filesystem ext4 appena creato appartiene a root. Per renderlo scrivibile dal tuo utente:
sudo chown -R $USER:$USER /mnt/dati
Con exFAT e FAT32 invece i permessi Linux non esistono: proprietario e permessi si impostano al montaggio con le opzioni uid=, gid= e umask=.
In sintesi
lsblk -fprima e dopo il collegamento identifica con certezza il disco giusto.- Le fasi sono sempre: tabella GPT, partizione, filesystem, montaggio.
- I nomi come
sdbpossono cambiare; in/etc/fstabsi usano gli UUID. nofailevita che un disco assente blocchi l'avvio.- Dopo ogni modifica a
/etc/fstab,mount -aefindmnt --verifyprima di riavviare.