Linux ha in dotazione un semplice ma potente comando che consente di creare immagini RAW 1:1 di partizioni o di interi dischi.
Questo può essere utile sia per normali operazioni di backup per le quali esistono comuque distro come SysRescueCD.
SysRescueCD, con partimage, non effettua la copia RAW della partizione, ma del solo file system, cosa che riduce notevolmente la quantità di dati copiati, ma non rappresenta una vera copia 1:1 del disco o della partizione.
Avere una copia 1:1 può essere utile, per esempio, se si vuole copiare l'intero disco di un notebook comprese le partizioni di ripristino per riaverlo lindo e pinto come lo si è comprato in caso di disastri accidentalio... colposi
.
Tutto questo va fatto da console per sfruttare al meglio la potenza dei comandi impiegati senza la sovrastruttura (ed i limiti di eventuali front-end grafici).
Ecco la guida che ai meno navigati può sembrare ostica, ma con un minimo di confidenza col pinguino risulta abbastanza commestibile.
Il comando "dd" legge byte per byte una qualsiasi periferica o file e ne indirizza il risultato al file o periferica di output.
dd accetta i parametri if= (input file) e of= (output file)
Per clonare un disco bisogna avere i privilegi di root, quindi, una volta aperto un terminale nel vostro gnome o KDE bisogna prima di tutto digitare
oppureCodice:~$ sudo su
e digitare la password di rootCodice:~$ sudo -s
L'esempio prende in considerazione la clonazione di un intero disco rigido reindirizzando il file prodotto ad un'unita disco esterna (USB), il tutto con le notazioni e convenzioni du un sistema *buntu (debian).
Bisogna prima di tutto individuare l'unità disco origine e quella di destinazione
Avremo un otput del tipo:Codice:# fdisk -l
Disco /dev/sda: 82.0 GB, 81964302336 byte
255 testine, 63 settori/tracce, 9964 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Identificativo disco: 0x0eb34caf
Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 1 1958 15727603+ 7 HPFS/NTFS
/dev/sda2 1959 9963 64300162+ f W95 Esteso (LBA)
/dev/sda5 1959 9963 64300131 7 HPFS/NTFS
Disco /dev/sdb: 40.0 GB, 40027029504 byte
255 testine, 63 settori/tracce, 4866 cilindri
Unità = cilindri di 16065 * 512 = 8225280 byte
Identificativo disco: 0xf6b3f6b3
Dispositivo Boot Start End Blocks Id System
/dev/sdb1 * 1 3953 31746081+ 7 HPFS/NTFS
/dev/sdb2 3954 4584 5068507+ 83 Linux
/dev/sdb3 4585 4715 1052257 82 Linux swap / Solaris
/dev/sdb4 4716 4866 1212907+ 83 Linux
Disco /dev/sdc: 4143 MB, 4143972352 byte
33 testine, 63 settori/tracce, 3893 cilindri
Unità = cilindri di 2079 * 512 = 1064448 byte
Identificativo disco: 0xb032b032
Dispositivo Boot Start End Blocks Id System
/dev/sdc1 * 1 3894 4046832 b W95 FAT32
Assumiamo quindi di voler clonare il disco rigido interno /dev/sda e salvare l'immagine "backup" sull'unità USB /dev/sdc1 montata in /mnt/sdc1
NOTA: E' importante che l'unità che si va a clonare sia smontata per evitare che qualcosa vada a cambiarne il contenuto "in corso d'opera" con risultati imprevedibili, quindi ricordatevi di dare un umount a tutte le partizioni montate relative a quell'unità. Nel nostro esempio : sda1 e sda5.
Naturalmente ci servirà comprimere l'immagine per non ritrovarci un file mastodontico che non sapremmo dove mettere.
Per questo abbiamo a disposizione l'ottimo algoritmo di compressione gzip
Per clonare:
Dove dd legge il disco /dev/sda ne invia il risultato a gzip, che a sua volta lo comprime lo scrive nel file.Codice:# dd if=/dev/sda | gzip > /mnt/sdc1/backup.img.gz
Per l'operazione inversa, vale a dire per ripristinare, il comando è:
Dove gzip decomprime il file e ne invia al risultato a dd che lo scrive sulla periferica.Codice:# gzip -dc /mnt/sdc1/backup.img.gz | dd of=/dev/sda
Piccolo problema: spesso le unità esterne sono formattate in FAT32 che supporta file fino a 4GB oppure si vorrà poi conservare lìimmagine su DVD il cui file system supporta massimo 2GB.
Qui soccorre un altro comanduccio presente in Linux: split, che serve appunto a dividere il file in parti di una data dimensione.
Poniamo di voler suddividere il risultatato in parti di 2GB, compatibili sia con i DVD che con FAT32.
Per clonare daremo:
Dove dd legge la periferica, invia a gzip, che invia a split, che divide in parti di 2048MB (2GB) e lo scrive sul disco di destinazione.Codice:# dd if=/dev/sda | gzip -c | split -b 2048m - /mnt/sdc1/backup.img.gz.
Notate che il nome del file di destinazione finisce con un "."
Questo perché split aggiunge alla fine del nome del file "aa" "ab" "ac" e così via per distinguere i vari frammenti.
Per rimettere le cose a posto invece usiamo l'ennesimo comando linux: "cat", che unisce (conCATena) tutto quello che gli viene dato in pasto.
Che preleva i vari pezzi li invia a gzip, che li scompatta e li passa a dd che li scrive sul device.Codice:# cat /mnt/sdc1/backup.img.gz.* | gzip -dc | dd of=/dev/sda
dd consente un'altra utile funzione che è quella di copiare il bootsector di un disco rigido:
Per copiare il MBR
per ripristinare il MBRCodice:# dd if=/dev/sda of=/mnt/sdc1/sda.boot.mbr bs=512 count=1
Codice:# dd if=/mnt/sdc1/hda.boot.mbr of=/dev/sda bs=512 count=1![]()



LinkBack URL
About LinkBacks

o... colposi
.
Rispondi citando

,

Segnalibri