← Tutti gli articoliLinux e strumenti

Linux e strumenti

Ripristinare una chiavetta USB da terminale su Linux

Matteo Galacci ·

Questa procedura rende nuovamente utilizzabile una chiavetta dopo averci scritto una ISO. Usa Linux, Bash e una chiavetta riconosciuta come /dev/sdX. Crea una partizione GPT in exFAT per sistemi moderni Linux, Windows e macOS. Tutti i dati precedenti vengono persi: se devi recuperarli, non procedere.

1. Installa gli strumenti e identifica il disco

sudo apt update
sudo apt install parted exfatprogs
lsblk -o NAME,SIZE,MODEL,TRAN,TYPE,MOUNTPOINTS

I comandi apt valgono per Debian/Ubuntu. Confronta modello, capacità e connessione USB; scollegare gli altri dischi esterni aiuta a distinguerli. Sostituisci sdX con il dispositivo verificato, senza numero di partizione:

DISK=/dev/sdX
lsblk -o NAME,SIZE,MODEL,TYPE,MOUNTPOINTS "$DISK"

Non copiare il nome da un altro computer. Esegui i passaggi uno alla volta e fermati in caso di errore.

2. Smonta le partizioni

Smonta ogni partizione del dispositivo che mostra un punto di mount. Per la prima:

sudo umount "${DISK}1"

Ripeti per eventuali altre partizioni montate, usando i nomi elencati da lsblk. Se non è montata, salta quel comando. Se risulta occupata, chiudi file manager e programmi che la usano: non forzare lo smontaggio. Prima di continuare, MOUNTPOINTS deve essere vuoto per tutto il dispositivo.

3. Ricrea la tabella e la partizione

Da questo punto elimini la struttura precedente del disco selezionato. Dopo l’ultimo controllo di DISK:

sudo wipefs --all "$DISK"
sudo parted --script "$DISK" mklabel gpt
sudo parted --script "$DISK" mkpart dati 1MiB 100%
sudo parted --script "$DISK" set 1 msftdata on
sudo partprobe "$DISK"
sudo udevadm settle
lsblk "$DISK"

Deve comparire una sola partizione, quasi grande quanto la chiavetta. wipefs rimuove le firme: non azzera in modo sicuro tutti i vecchi dati. Se la tabella non viene riletta, fermati e riconnetti il dispositivo, identificandolo nuovamente.

4. Formatta in exFAT

Prima di mkfs controlla con lsblk che la nuova partizione non sia stata montata automaticamente; se lo è, smontala.

PART="${DISK}1"
sudo mkfs.exfat -L USB_DATI "$PART"
lsblk -f "$DISK"

La nuova partizione deve risultare exfat, con etichetta USB_DATI. exFAT supporta file oltre 4 GB; dispositivi vecchi come alcune autoradio potrebbero richiedere invece MBR/FAT32, non coperti da questa procedura.

5. Prova scrittura e rilettura

mount_dir=$(mktemp -d)
sudo mount -o "uid=$(id -u),gid=$(id -g)" "$PART" "$mount_dir"
printf "%s\n" "prova USB" > "$mount_dir/prova.txt"
sync
sudo umount "$mount_dir"
sudo mount -o "uid=$(id -u),gid=$(id -g)" "$PART" "$mount_dir"
cat "$mount_dir/prova.txt"
sudo umount "$mount_dir"
rmdir "$mount_dir"

Devi rileggere “prova USB” senza errori. Ora puoi espellere la chiavetta. Errori di I/O o sola lettura persistente possono indicare un guasto: ripetere la formattazione non lo ripara.

Fonti e approfondimenti