Indice |
Introduzione
Le operazioni che vedremo sono molto semplici - si tratta della copia (clonazione) di una partizione e del successivo recupero, il metodo e' valido anche per interi supporti (dischi).
L'operazione sara' eseguita con i metodi che ritengo piu' semplici/comodi e anche questa volta affronteremo quest'impresa sia in ambiente linux che windows (si - lo so sto trascurando Mac < OS X)
Iku ze!
Linux Way
DD & DDRescue
DD e DDRescue sono due programmi disponibili su linux (oltre che su unix) nati l'uno per la copia e la conversione a basso livello di dati (non chiamiamoli nemmeno file, visto che lavoriamo a un livello piu' basso), l'altro approfittando del potere nascosto del primo ne semplifica l'uso quando l'obiettivo e' il recupero dati, anche perche' con l'avvento delle distribuzioni live e' diventato un vero e proprio salvagente.
Copia/Clonazione
Possiamo copiare l'intero contenuto di una partizione in un file immagine, in un altro disco, in una partizione di dimensioni uguali o maggiori (per preservare l'integrita' del filesystem ed evitare qualsiasi altra anomalia e' consigliabile che le dimensioni siano uguali).
Vediamo come:
Copia su file:
sia /dev/sda1 la partizione da copiare (la prima del primo disco SATA)
e sia /mnt/disco_di_servizio/immagine_disco1.dd - il file su cui copiare la partizione:
dd if=/dev/sda1 of=/mnt/disco_di_servizio/immagine_disco1.dd
Copia su una partizione:
sia /dev/sda1 la partizione da copiare (la prima del primo disco SATA)
e sia /dev/sda2 la partizione destinataria :
dd if=/dev/sda1 of=/dev/sda2
Non specificando altro chiediamo la copia integrale del contenuto, salvo errori.
if sta per input file - il file da leggere ma in questo caso e' la partizione (in linux quasi-tutto e' un file)
of sta per output file - il file su cui scrivere, sia in senso stretto che non.
dd ha molte altre opzioni - alcune influenzano le prestazioni o ne modificano il comportamento a noi interessano principalmente if, e of che abbiamo appena visto,le seguenti possono tuttavia tornarci utili:
ibs,obs imposta la dimensione dei blocchi di lettura/scrittura (valore predefinito: 512 bytes)
skip
comincia la copia non dal primo blocco ma dalla posizione (offset) specificata
seek
stessa cosa ma sulla destinazione
count
imposta la quantita' di blocchi da copiare
E proprio quando le partizioni contengono errori (settori illegibili) ci viene in aiuto DDRescue, anche se non e' una sua esclusiva tuttavia:
dd_rescue /dev/sda1 /mnt/disco_di_servizio/immagine_disco1.dd
Copiera' tutto il contenuto della solita partizione del disco senza fermarsi in caso di errori.
E se volessimo estendere la cosa a tutto il disco ?
Semplice: basta omettere il numero della partizione.
dd if=/dev/sda of=mnt/disco_di_servizio/immagine_disco1.dd & dd_rescue /dev/sda /mnt/disco_di_servizio/immagine_disco1.dd
Ripristino
Si fara' esattamente come nella copia ma invertendo i termini.
if sara' il file o la partizione clonata mentre of sara' il disco da ripristinare.
Una delle utilita' di questo metodo e di questo programma e che se per esempio abbiamo appena configurato una macchina non importa se usa windows, linux o altro e vogliamo evitare il piu' possibile di rifare tutto, tenendo da parte una copia di quanto fatto (in questo caso - l'intera partizione/disco) in pochi minuti il sistema ritornera' indietro nel tempo come se non fosse successo niente dopo la clonazione.
Ovviamente in questo caso non saranno in alcun modo preservati i dati maturati dopo!
Distruzione
Un'applicazione particolare del metodo di copia ci permette una nuova operazione che potremmo chiamare distruzione - naturalmente si tratta del contenuto non del contenitore (il disco) il che applicato a un disco intero lo riporta praticamente alle condizioni in cui era alla nascita.
L'uso di /dev/zero
Impostando come file sorgente (if) /dev/zero otterremo un risultato particolare, poiche' sara' il nostro generatore di zeri, sul file, sulla partizione o sul disco bersaglio ogni singolo byte conterra' il valore 0 (0x00 hex).
L'uso di /dev/random
Impostando come file sorgente (if) /dev/random otterremo un altro risultato, la sovrascrittura con valori pseudo-casuali.
A che punto e' ?
DD non ci dice (se non glielo chiediamo espressamente) cosa sta facendo, si limita a dirci che lo sta facendo.
E allora ?
Semplice: la parola d'ordine e' -USR1, e per dargliela ci serviremo di KILL, il comando per terminare i processi.
Ora: poiche' kill vuole sapere con chi parlare e preferisce farlo dall'identificativo (la carta d'identità perche' tanti si potrebbero chiamare allo stesso modo...)
O lo chiediamo a ps (che ci da l'elenco dei processi) o ce lo facciamo dire da dd nel momento in cui lo chiamiamo:
Continuando dall'esempio precedente:
dd if=/dev/sda of=/mnt/disco_di_servizio/immagine_disco1.dd& pid=$
L'effetto: dd ci restituira' i comandi e inoltre nella variabile d'ambiente pid sara' salvato l'identificativo.
Percio' quando vorremo parlare con dd useremo:
kill -USR1 $pid
che tradotto significa invia il segnale utente 1 al processo contenuto in pid e pid nel nostro caso e' DD.
La risposta che ci dara' e' la quantita' di dati letta/scritta ed il tempo impiegato.
Windows Way
Acronis® TrueImage
Sito Web: http://www.acronis.com/
In T.I. abbiamo a disposizione due metodi la clonazione automatica - disponibile se ci sono piu' dischi, e il backup su file, quest'ultimo prevede sia la copia file per file dei dati per noi importanti che la copia settore per settore (immagine disco).
Cliccando My Computer ci verra' chiesto di selezionare l'unita' da clonare:
Fatta anche questa scelta dovremo solo scegliere il file in cui salvare il backup.
Anche T.I. ci permette di cancellare i dati: usando lo strumento Drive Cleanser, per farlo attivato lo strumento selezionandolo nel menu' si indica il disco e il metodo e ... Via!
DD for Windows
Sito web: http://www.chrysocome.net/dd
Chi si ritrova a dover lavorare su macchine con sistemi diversi puo' gradire la possibilita' di utilizzare lo stesso programma su diverse piattaforme (anche se le versioni live risolvono a monte il problema). In questo caso la versione per Windows di DD ci permette di riciclare le conoscenze acquisite poiche' il suo uso e' praticamente uguale a quanto visto (al momento ha una caratteristica in meno, la possibilita' di convertire i dati, ma per il momento non ci interessa).
Quello che cambia e' il modo in cui sono identificati i dischi:
su linux usavamo /dev/XXXX
su Windows avremo:
\\.\{a->z}: per le unita' montate
percorsi come questo:
\\?\Device\Harddisk1\Partition1
se vogliamo accedere direttamente ('fisicamente')
per conoscere questi percorsi ci viene offerta l'opzione list
digitando:
dd --list
ci verra' mostrato un elenco delle unita' presenti e i relativi percorsi logici e fisici.
In quanto a procedure si fara' come visto su linux.
WinHEX
Sito Web: www.x-ways.net/winhex
WinHEX di per se stesso e' un editor esadecimale (come si comprende dal nome) ma possiede da tempo molte funzioni professionali, quella che interessa a noi e' la funzione di clonazione partizioni, ma vedremo anche come sfruttare le sue capacita' anche per la cancellazione dei dati.
Dunque: con la semplice pressione dei tasti CTRL e D apparira' questa finestra:
I pulsantiServono rispettivamente per la selezione del disco/partizione da leggere e scrivere l'altro per la selezione dei file.
Pertanto per effettuare una copia ci bastera' selezionare l'unita' da leggere e il file o l'unita' su cui scrivere.
Le opzioni di lettura simultanea, di copia dell'intero disco e il funzionamento silenzioso (esclusione dei messaggi d'errore durante l'operazione) ci vengono in aiuto per affrontare diverse situazioni.
Bene - selezionata l'origine e la destinazione della copia dobbiamo solo premere OK per avviare l'operazione.
Anche in questo caso l'operazione di ripristino si ottiene scambiando origine e destinazione, pertanto ora vedremo la cancellazione.
Premiamo il tasto F9, si aprira' una finestra come questa:
Nota: e' possibile creare un'immagine di un disco aperto premendo i tasti Alt-C.
Mentre per procedere con la cancellazione useremo la funzione di riempimento (Ctrl-L), selezioneremo il metodo (numero di passi e valori da scrivere) e cliccheremo su OK.

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)