Molti sistemi di backup permettono di effettuare copie di sicurezza dei propri dati ma tutti quanti sappiamo quanto possa essere complicato creare un clone del proprio hardisk e della propria installazione e, soprattutto, configurazione software. Ce ne rendiamo conto soltanto dopo aver messo in pericolo il proprio sistema operativo (sia windows che linux) dovendo ricorrere ad una reinstallazione da zero: recupera i drivers di tutte le periferiche, i software e la loro configurazione e personalizzazione, ecc. ecc.

Il sistema ottimale sarebbe poter effettuare una copia fisica di tutto il supporto: esistono soluzioni commerciali e soluzioni free. In questo caso non parlerò di nessuna delle due soluzioni ma di una più complicata ma a portata di mano in ogni situazione: una distribuzione Ubuntu Live su CD-ROM o chaivetta USB.

In tutti i sistemi linux esiste un comando chiamato dd (disk dump) che permette di leggere un intero disco, una determinata partizione del disco o un file contenente il backup del disco o della partizione e di scriverlo byte per byte su un altro supporto o su un file. E’ molto importante fare attenzione a come si scrivono i dati perché si rischia di copiare un disco vuoto sul disco buono!!

Una volta fatta partire la distro live, se il computer è anche connesso ad internet, installare una piccola utility per implementare anche l’indicatore di progressione della copia. Per installare questa opzione digitare

sudo apt-get install pv

A questo punto bisogna decidere cosa copiare e dove copiarlo. Se si vuole clonare un disco su un altro bisogna assicurarsi che il disco di destinazione sia di uguale dimensione o superiore.

Per vedere l’elenco dei dischi presenti nel sistema digitare  il comando:

sudo blkid

Un esempio di output può essere come questo:

/dev/sda1: UUID=”439bc623-583f-4cdc-xxxx-1afe77f44b80″ TYPE=”ext4″
/dev/sdb1: UUID=”c8a689d1-aa34-4ad9-xxxx-917a8561de55″ TYPE=”ext4″
/dev/sdc1: LABEL=”BACKUP” UUID=”5E7A706B4558xxxx” TYPE=”ntfs”

Nel mio caso so che i due dischi Linux (che hanno il filesystem formattato EXT4 in questo caso) sono identici come dimensione. Supponiamo che il primo, sda1, sia quello di origine e che sdb1 sia quello di destinazione.

Per procedere con la clonazione dell’intero disco usare questo comando:

sudo dd if=/dev/sda of=/dev/sdb

Se abbiamo installato anche l’utility pv possiamo vedere come procede la copia cambiando la linea di comando con:

sudo dd if=/dev/sda |pv| sudo dd of=/dev/sdb

Per procedere con la clonazione della sola prima partizione invece usare:

sudo dd if=/dev/sda1 of=/dev/sdb1

Se abbiamo installato pv invece:

sudo dd if=/dev/sda1 |pv| sudo dd of=/dev/sdb1

Naturalmente ricordiamoci di non sbagliarci nell’indicare il giusto device di if = sorgente e il giusto device di of = destinazione.

Consiglio vivamente di eseguire il comando con l’installazione di pv in quanto la copia di un disco, soprattutto se di grosse dimensioni, può durare molte ore. Per eseguire il backup del mio disco da 250Gb del portatile su un disco esterno collegato tramite USB 2.0 ho impiegato più di 12 ore!! E’ quindi consigliabile fare queste operazioni durante l’orario notturno in modo da ridurre al minimo il “danno” da impossiblilità di utilizzazione del proprio PC!

12 ore possono sembrare un’eternità ma vi assicuro che, in confronto a dover reinstallare da capo tutto un sistema e configurarlo come lo era prima di un crash, è una soluzione molto più veloce di quanto si possa pensare.

Con questo sistema si possono clonare sia installazioni windows che linux. Nel caso di installazioni LINUX il disco ottenuto potrà, nella stragrande maggioranza dei casi, risultare bootabile al volo su altri pc anche tramite una connessione USB. Nel mio caso, il portatile da 250Gb per intenderci, ho potuto prendere l’hardisk esterno, collegarlo ad un PC desktop ed eseguire il boot da USB. Con windows, che effettua mille controlli sull’hardware dove è stato installato la prima volta, questa operazione è praticamente impossibile e, credo, sia impossibile anche pensare ad un boot da USB.

Una piccola precisazione: i parametri if e of possono contenere device fisici o files. Quindi potrò eseguire il backup di una partizione su un file con un comando tipo:

sudo dd if=/dev/sda1 of=/mnt/partizione_sda1.img

oppure con pv con il comando

sudo dd if=/dev/sda1 |pv| sudo dd of=/mnt/partizione_sda1.img

A voi la scelta di cosa e come salvare!! L’importante è ricordarsi sempre di fare copie dei propri dati e installazioni.

Consiglio di non eseguire questi comandi se non siete sicuri del loro funzionamento e, soprattutto, se siete stanchi: rischiare di buttare tutto dalla finestra c’è sempre!!!