Introduzione

Prima di poter utilizzare una scheda SD o un'unità USB, è necessario formattarla e partizionarla. In genere la maggior parte delle unità USB e delle schede SD vengono preformattate utilizzando il file system FAT e non devono essere formattate immediatamente. Tuttavia, in alcuni casi, potrebbe essere necessario formattare l'unità.

In Linux, è possibile utilizzare uno strumento grafico come GParted o strumenti da riga di comando come fdisk o parted per formattare l'unità e creare le partizioni richieste.

In questo tutorial, ti mostreremo come formattare un'unità USB o una scheda SD su Linux usando l'utilità parted.

È importante notare che la formattazione è un processo distruttivo e cancellerà tutti i dati esistenti. Se sull'unità UDS sono presenti dati sulla scheda SD, assicurarsi di eseguirne il backup.

Per formattare una unità USB bisogna prima di tutto smontare il dispositivo. Per maggiori informazioni leggere questo tutorial: Come montare (mount) e smontare (umount) file system su Linux.

Di seguito un esempio per smontare un unità USB /dev/sdb:

sudo umount /dev/sdb

Installare parted

GNU Parted è uno strumento per la creazione e la gestione di tabelle delle partizioni. Il pacchetto parted è preinstallato sulla maggior parte delle distribuzioni Linux al giorno d'oggi. Puoi verificare se è installato sul tuo sistema digitando:

parted --version
parted (GNU parted) 3.2
Copyright (C) 2014 Free Software Foundation, Inc.
...

Se parted non è installato sul tuo sistema, puoi installarlo usando il gestore pacchetti della tua distribuzione.

Installare parted su Ubuntu e Debian

Aggiornare l'elenco dei pacchetti disponibili:

sudo apt update

Installare parted:

sudo apt install parted

Installare parted su CentOS e Fedora

sudo yum install parted

Identificazione del nome della scheda USB o SD

Inserisci l'unità flash USB o la scheda SD nella tua macchina Linux e trova il nome del dispositivo usando il comando lsblk:

lsblk

Il comando stamperà un elenco di tutti i dispositivi a blocchi disponibili:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sdb      9:42   1  14.4G  0 disk 
└─sdb1   9:43   1   1.8G  0 part /media/data
...

Nell'esempio sopra, il nome del dispositivo SD è /dev/sdb, ma questo può variare sul tuo sistema.

Puoi anche usare il comando dmesg per trovare il nome del dispositivo:

dmesg

Una volta collegato il dispositivo, dmesg  mostrerà il nome del dispositivo:

...
[  +0.000232] sd 1:0:0:0: [sdb] 30218842 512-byte logical blocks: (15.5 GB/14.4 GiB)
...

Cancellazione sicura dei dati (opzionale)

Prima di formattare l'unità, è possibile cancellare in modo sicuro tutti i dati su di esso sovrascrivendo l'intera unità con dati casuali. Ciò garantisce che i dati non possano essere recuperati da nessuno strumento di recupero dati.

Fare molta attenzione prima di eseguire il comando seguente e cancellare irrevocabilmente i dati dell'unità. Usare il comando dd e scrivere il percorso dell'unità di destinazione dopo  of=:

sudo dd if=/dev/zero of=/dev/sdb bs=4096 status=progress

A seconda delle dimensioni dell'unità, il completamento del processo richiederà del tempo.

Una volta che il disco è stato cancellato, il comando dd stamperà  “No space left on device”:

15455776768 bytes (15 GB, 14 GiB) copied, 780 s, 19.8 MB/s 
dd: error writing '/dev/sdb': No space left on device
3777356+0 records in
3777355+0 records out
15472047104 bytes (15 GB, 14 GiB) copied, 802.296 s, 19.3 MB/s

Creare una partizione e formattare

I file system più comuni sono exFAT e NTFS su Windows, EXT4 su Linux e FAT32 che possono essere utilizzati su tutti i sistemi operativi.

Ti mostreremo come formattare l'unità USB o la scheda SD su FAT32 o EXT4. Utilizzare EXT4 se si intende utilizzare l'unità solo su sistemi Linux, altrimenti formattarla con FAT32. Una singola partizione è sufficiente per la maggior parte dei casi d'uso.

Formatta con FAT32

Innanzitutto, crea la tabella delle partizioni eseguendo il comando seguente:

sudo parted /dev/sdb --script -- mklabel msdos

Crea una partizione Fat32 che occupi l'intero spazio:

sudo parted /dev/sdb --script -- mkpart primary fat32 1MiB 100%

Formatta la partizione di avvio su FAT32:

sudo mkfs.vfat -F32 /dev/sdb1
mkfs.fat 4.1 (2017-01-24)

Al termine, utilizzare il comando seguente per stampare la tabella delle partizioni e verificare che tutto sia impostato correttamente:

sudo parted /dev/sdb --script print

L'output dovrebbe assomigliare a questo:

Model: Kingston DataTraveler 3.0 (scsi)
Disk /dev/sdb: 15.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  15.5GB  15.5GB  primary  fat32        lba

La formattazione è terminata.

Formatta con EXT4

Crea una tabella delle partizioni GPT emettendo:

sudo parted /dev/sdb --script -- mklabel gpt

Eseguire il comando seguente per creare una partizione EXT4 che occupa l'intero spazio:

sudo parted /dev/sdb --script -- mkpart primary ext4 0% 100%

Formatta la partizione su ext4:

sudo mkfs.ext4 -F /dev/sdb1
mke2fs 1.44.1 (24-Mar-2018)
/dev/sdb1 contains a vfat file system
Creating filesystem with 3777024 4k blocks and 944704 inodes
Filesystem UUID: 72231e0b-ddef-44c9-a35b-20e2fb655b1c
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done   

Verifica stampando la tabella delle partizioni:

sudo parted /dev/sdb --script print

L'output dovrebbe assomigliare a questo:

Model: Kingston DataTraveler 3.0 (scsi)
Disk /dev/sdb: 15.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  15.5GB  15.5GB  ext4         primary  

Conclusione

La formattazione di un'unità USB o di una scheda SD su Linux è un processo piuttosto semplice. Tutto quello che devi fare è inserire l'unità, creare una tabella delle partizioni e formattarla con FAT32 o il tuo file system preferito.