Il programma dd permette di clonare partizioni e dischi utilizzando una qualsiasi distro live di Linux. Per clonare un intero disco è sufficiente eseguire il seguente comando:
1 |
dd if=/dev/sda of=/dev/sdb bs=512 conv=noerror,sync |
dove /dev/sda è il disco sorgente e /dev/sdb il disco di destinazione.
Purtroppo dd non permette di monitorare il progresso dell’operazione in quanto non interagisce con lo standard output finché l’operazione non viene portata a termine. Questo può essere un problema in quanto, a seconda della dimensione del disco e della velocità di trasferimento, per il completamento dell’operazione possono volerci da pochi minuti fino a svariate ore.
Come fare per capire quanto tempo ci vorrà e quanto tempo dobbiamo attendere?
La soluzione sta nel concatenare dd con altri 2 programmi, quasi sempre disponibili su Linux, ovvero pv e dialog.
pv monitora il progresso di un flusso dati attraverso un “pipe”, mentre dialog permette di mostrare una finestra di dialogo con una “progress bar”. Questo è il comando completo, da lanciare per clonare sda su sdb:
1 |
(pv -n /dev/sda | dd of=/dev/sdb bs=128M conv=notrunc,noerror) 2>&1 | dialog --gauge "Clonazione in corso, attendere prego..." 10 70 0 |
Buona fortuna!