Dopo aver visto qui come installare una distribuzione GNU/Linux con partizionamento manuale e home separata, vediamo di imparare come partizionare e formattare da terminale!
Come sempre, non è assolutamente necessario ricorrere a strumenti a riga di comando per svolgere operazioni di questo tipo sulla vostra distribuzione GNU/Linux: con tutta probabilità, sono già preinstallati programmi con un’interfaccia grafica intuitiva per gestire dischi e partizioni. Installare un buon editor di partizioni grafico come GParted, inoltre, è sicuramente alla portata di tutti. 😁
DISCLAIMER: La stessa soglia di attenzione richiesta quando si maneggiano dischi e partizioni in modalità grafica è, ovviamente, richiesta anche nel partizionare e formattare da terminale! Questa regola vale sempre e su qualunque sistema operativo. Non ci assumiamo quindi alcuna responsabilità per eventuali perdite di dati da voi causate!
Se preferite la visione di un video sul tema, eccolo di seguito:
In questa guida faremo uso dei comandi lsblk, fdisk, cfdisk e mkfs. Si tratta di strumenti presenti di default su qualsiasi distro GNU/Linux e forniti dal pacchetto util-linux. In particolare, il comando mkfs vi permetterà di “creare” uno dei tanti filesystem compatibili con Linux. Se necessario, è anche possibile estendere il numero di filesystem installando un apposito pacchetto (es. dosfstools per filesystem MS-DOS FAT).
lsblk
Cominciamo! Il comando lsblk vi mostrerà semplicemente tutti i dispositivi attualmente “visti” dal kernel Linux, quindi NON potete ancora far alcun danno! 😂
Su un sistema con unico disco e senza alcuna memoria esterna collegata, vedrete un output simile al seguente:
Come si può notare, sarà presente una lista di nomi di dischi, con le loro partizioni. Inoltre vedrete diverse informazioni, quali le dimensioni di ogni disco/partizione e il punto di mount (ovvero il percorso sul sistema su cui una partizione viene effettivamente montata ed utilizzata).
Se su questo sistema aggiungiamo un secondo disco o colleghiamo una pendrive o qualche altra memoria esterna, ecco che lsblk vi mostrerà anche quest’ultima (con un nome che probabilmente sarà sdb). Per capire come le memorie vengano chiamate su Linux, vi rimandiamo all’articolo su come installare una distribuzione GNU/Linux con partizionamento manuale.
Adesso che sappiamo come visualizzare dischi e partizioni, passeremo al partizionamento vero e proprio! Spetta a voi optare per la prima soluzione (fdisk) oppure la seconda (cfdisk), ma vi consigliamo di non saltare la lettura della prima.
Partizionare e formattare da terminale: fdisk
Il comando fdisk permette di creare tabelle di partizioni MBR (Master Boot Record), GPT (GUID Partition Table) ed altre e di dividere un disco in diverse partizioni. Niente paura! Il prossimo comando sarà ancora del tutto innocuo… 😉
Infatti digitando “fdisk -l“, però con i privilegi di amministrazione, non vedrete altro che la lista di tutte le tabelle di partizioni e le partizioni stesse. Nell’immagine qui sotto un unico disco, con tabella delle partizioni MBR (dos) e quattro partizioni.
Esattamente come lsblk, anche fdisk vi mostrerà qualunque altra memoria esterna, dopo averla collegata al computer.
È anche possibile vedere l’output per un singolo dispositivo, digitando “fdisk -l nome_dispositivo“. Ad esempio:
sudo fdisk -l /dev/sdb
Se, invece, omettiamo il flag “-l“, ecco che ci troveremo ad una schermata del genere:
fdisk ci avvisa di stare cauti prima di scrivere le modifiche sul disco e ci segnala eventualmente anche dell’altro, a cui dovremmo prestare attenzione.
Se il dispositivo che ci accingiamo a partizionare è attualmente usato dal sistema, fdisk ci avvertirà che non è una buona idea partizionarlo prima di smontare le sue partizioni. E se questo dispositivo fosse il disco primario su cui avete installato il vostro sistema operativo… FERMI TUTTI! Non procedete a meno che non sappiate esattamente cosa state facendo.
Se ad esempio si tratta di una pendrive, invece, dovremo uscire dal nostro fdisk con “q” e smontare la/e partizione/i attualmente montata/e con “umount nome_partizioni”. Per esempio:
sudo umount /dev/sdb1 # per smontare la prima partizione della memoria sdb
Ma tornando alla schermata di fdisk sopra mostrata, ecco che avrete la possibilità di richiamare la guida di aiuto con “m”. Di seguito proponiamo i comandi più comuni che ci potranno servire:
p # mostra le partizioni
d # elimina una partizione
n # crea una nuova partizione
t # cambia il tipo di partizione
o # crea una nuova tabella MBR (DOS) vuota
g # crea una nuova tabella GPT vuota
w # scrive le modifiche sul disco ed esce
q # esce senza salvare le modifiche
Quindi, volendo eliminare una partizione esistente, basterà premere “d” e scegliere il numero della partizione da eliminare.
Invece, per crearne una nuova bisognerà premere “n”, assegnarle un numero (lasciate quello di default), settare il primo settore (lasciate quello di default) e settare l’ultimo settore. Quà dovrete lasciare quello di default, per dare tutto lo spazio rimanente alla nuova partizione, oppure specificare voi le dimensioni della nuova partizione. Per specificare le dimensioni digitate qualcosa del genere:
+20G # per creare una partizione di 20 giga
In alternativa potete specificare le dimensioni dello spazio libero che dovrà rimanere dopo l’ultimo settore della nuova partizione:
-4G # per creare una partizione di dimensioni massime, ad esclusione degli ultimi 4 giga che rimarrano liberi
Nella creazione di una nuova partizione con tabella MBR, prima della richiesta del numero della nuova partizione, fdisk vi domanderà se volete una partizione primaria o una estesa. In questo caso dovrete semplicemente tenere in conto che il numero massimo di partizioni primarie è quattro! Se rimarrete entro questo limite, potete tranquillamente utilizzare solo partizioni primarie. Altrimenti, dopo la terza partizione primaria, dovrete creare una partizione estesa e ripetere i passi per creare nuove partizioni: in questo modo creerete delle partizioni logiche, contenute in questa partizione estesa, e potrete superare il limite delle 4 partizioni.
Bene! Adesso vediamo come cambiare il tipo di una partizione.
Il tasto da premere è “t”: dopo aver indicato il numero della partizione a cui cambiare il tipo, vi verrà chiesto di specificare il codice corrispondente al tipo voluto. Ad esempio 83 per “linux”, 82 per “swap”. Per una lista completa dei codici potete digitare “L”.
Invece per partire da una tabella di partizioni vuota su cui, poi, creare nuove partizioni con “n”, il comando sarà rispettivamente “o” per tabelle MBR (DOS) e “g” per tabelle GPT. Per dispositivi come pendrive utilizzeremo sempre MBR, per il disco primario su un PC moderno utilizzeremo GPT. Se siete insicuri lasciatevi guidare da fdisk:
Dopo aver apportato tutte le modifiche del caso, controllate con “p” se è tutto corretto e, solo successivamente, salvate le modifiche con “w”. È questo salvataggio il passaggio cruciale: è vostra responsabilità salvare una tabella di partizioni che abbia senso e non causi perdite di dati su partizioni preesistenti.
OK…ma fdisk mi sembra complicato! C’è un’alternativa? 😅
Partizionare e formattare da terminale: cfdisk
L’alternativa user-friendly è il comando cfdisk.
Non ci ripeteremo sui concetti su tabelle delle partizioni MBR e GTP, su partizioni primarie, estese, eccetera. Daremo per scontato che avete letto la sezione su fdisk.
cfdisk fornisce un’interfaccia curses intuitiva, che ricorda una vera e propria interfaccia grafica. Vi mostreremo solamente uno screenshot, dato che ormai non avrete più bisogno di ulteriori spiegazioni:
Muovetevi nell’interfaccia tramite i tasti direzionali. Buon divertimento! 👍
Anche cfdisk, come fdisk, permette di partire da una tabella di partizioni vuota. Per farlo dovete usare il comando con l’opzione “-z”:
sudo cfdisk -z /dev/sdb # apre un dialogo per scegliere tra MBR (DOS), GTP o altre tabelle
Partizionare e formattare da terminale: mkfs
Dopo aver creato le vostre partizioni, avrete bisogno di formattarle (ovvero di creare un filesystem su esse). Per far ciò utilizzeremo il comando mkfs, utile anche nel caso di partizioni preesistenti non create tramite fdisk o cfdisk.
In realtà esiste un comando mkfs.filesystem per ogni filesystem supportato. Su alcune ditribuzioni GNU/Linux potrebbe essere necessario installare un pacchetto aggiungivo per ottenere il supporto ad un nuovo filesystem: ad esempio il pacchetto dosfstools per il supporto al MS-DOS FAT.
Ma vediamo alcuni esempi su come usare questo comando:
sudo mkfs.ext4 /dev/sdb1 # crea un filesystem ext4 sulla prima partizione del disco sdb
sudo mkfs.ext4 -L LABEL /dev/sdb1 # come il precedente ma assegna l'etichetta "LABEL" alla partizione
sudo mkfs.vfat -F32 -n LABEL /dev/sdb1 # per una partizione in FAT32 con etichetta "LABEL"
Abbiamo voluto riportare solo pochi esempi che utilizzino il filesystem più utilizzato su Linux (ext4) oppure il vecchio FAT32, il quale viene ancora largamente usato su dispositivi esterni come pendrive.
Diamo per scontato che sappiate già come muovervi con altri tipi di filesystem o che facciate le vostre ricerche, prima di rivolgervi a filesystem meno comuni (come btrfs).
Se invece avete creato una partizione di tipo swap, esiste il comando mkswap:
sudo mkswap /dev/sdb2 # prepara un'area di swap su sdb2
Conclusioni
Complimenti! Hai imparato a partizionare e formattare da terminale. 😎
Ora potresti dover montare queste partizioni, qualora non l’abbia già fatto automaticamente la tua distro. È facile:
sudo mount /dev/sdb1 /mnt # per montare sdb1 ad esempio su "/mnt"
Dopodiché potrai usare la partizione!
Per partizioni swap basterà dare:
sudo swapon /dev/sdb2 # attiva sdb2 come area di swap
Finito! Se ti stai appassionando ai comandi da terminale, non perderti la nostra top 30 dei comandi su Linux.
Per il resto non esitare ad andare sul nostro forum.
Lascia un commento