Il comando dd sta per data duplicator (alcune fonti lo chiamano disk dump) ed è uno dei comandi Unix/Linux originali, con origini che risalgono agli anni ‘70. Permette la copia e conversione di file e dispositivi a basso livello, risultando utile per operazioni su dischi, immagini ISO e stream di dati. È però estremamente pericoloso: un singolo errore può sovrascrivere dati importanti in modo irreversibile.
Esistono alternative grafiche multipiattaforma come Rufus e balenaEtcher, oltre a strumenti inclusi in alcune distribuzioni Linux come Popsicle o Fedora Media Writer .
Il comando dd offre però la possibilità di eseguire la stessa operazione direttamente da terminale, senza installare software aggiuntivo.
Scaricare le Immagini ISO
Per creare una chiavetta USB avviabile, il primo passo è scaricare l’immagine ISO dal sito ufficiale del sistema operativo, hypervisor o software desiderato.
Un’immagine ISO è un file che contiene la copia esatta di un disco ottico (CD/DVD). Il nome deriva dal filesystem ISO 9660, lo standard dei supporti ottici. Questi file sono repliche bit-per-bit del contenuto originale e includono bootloader, file di sistema e struttura delle cartelle. Sono il formato ideale per distribuire sistemi operativi, supporti di ripristino e software auto-installante.
Dopo il download, è buona pratica verificare l’integrità del file confrontando il checksum SHA256 con quello pubblicato sul sito ufficiale:
sha256sum nome-file.isoIdentificare il Dispositivo USB
Prima di procedere, è fondamentale identificare correttamente la chiavetta USB. Collegare la chiavetta al PC ed eseguire il comando lsblk per visualizzare i dispositivi di archiviazione collegati:
lsblkL’output mostrerà un elenco simile al seguente. In questo esempio, sdb è un dispositivo da 29GB senza partizioni, corrispondente alla chiavetta USB. Per evitare errori, è consigliabile eseguire lsblk prima e dopo aver collegato la chiavetta, confrontando i risultati per identificare il dispositivo corretto.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 931,5G 0 disk
└─sda1 8:1 0 931,5G 0 part /mnt/folder
sdb 8:16 1 28,7G 0 disk
nvme0n1 259:0 0 931,5G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 930,5G 0 part
└─luks-4g65gvvf-6red-3r7f-p3ed-36gd4hiidwui 254:0 0 930,5G 0 crypt /os/folderCreare la Chiavetta USB Avviabile
Con l’immagine ISO scaricata e il dispositivo USB identificato, è possibile procedere con la scrittura. L’esempio seguente crea una chiavetta avviabile con Proxmox:
Attenzione
L’utilizzo di questo comando andrà a sovrascrivere in modo irrecuperabile i dati presenti nel percorso di destinazione. Verificare di aver selezionato la chiavetta USB corretta e non altri percorsi. Eseguire questo comando a propria discrezione e valutazione.sudo dd if=./folder/proxmox-ve_9.1-1.iso of=/dev/sdb bs=4M status=progress conv=fsyncDi seguito le opzioni utilizzate:
| Opzione | Valore | Descrizione |
|---|---|---|
if= |
Percorso file | File o dispositivo di input, ovvero l’immagine ISO da scrivere |
of= |
Percorso dispositivo | File o dispositivo di output, ovvero la chiavetta USB di destinazione |
bs= |
4M |
Dimensione del blocco di lettura/scrittura. Valori più alti (es. 4M) accelerano il processo |
status= |
progress |
Mostra l’avanzamento del processo con velocità e quantità di dati trasferiti |
conv= |
fsync |
Sincronizza i dati su disco dopo ogni blocco scritto, garantendo l’integrità della scrittura |
L’operazione può impiegare alcuni minuti, a seconda della velocità della chiavetta e della dimensione dell’immagine. Durante la scrittura verrà mostrato l’avanzamento:
944930816 bytes (945 MB, 901 MiB) copied, 45 s, 21,0 MB/sAl termine del processo verrà mostrato un riepilogo con i dati totali trasferiti:
1116471296 bytes (1,1 GB, 1,0 GiB) copied, 53,2874 s, 21,0 MB/s
225+1 records in
225+1 records out