Recuperare i dati da un Hard Disk danneggiato: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
provata con Stretch
m (primo inserimento)
 
(provata con Stretch)
(26 versioni intermedie di 9 utenti non mostrate)
Riga 1: Riga 1:
{{stub}}
{{Versioni compatibili|Wheezy|Jessie|Stretch|Unstable_2015}}
== Introduzione ==
Dopo aver affrontato sulla mia pelle il rischio di perdere dei dati in seguito alla rottura di un hard disk, ho deciso di scrivere qualche appunto sulla tecnica usata per recuperare i dati.
Dopo aver affrontato sulla mia pelle il rischio di perdere dei dati in seguito alla rottura di un hard disk, ho deciso di scrivere qualche appunto sulla tecnica usata per recuperare i dati.


= Introduzione =
{{Warningbox|Né io, Debianizzati.Org siamo responsabili per eventuali danni provocati seguendo queste istruzioni. Non fate nulla se non siete sicuri di quello che fate e, cosa ancora più importante, leggete la documentazione dei comandi che verranno suggeriti.}}
Premetto che nè io, Debianizzati.Org siamo responsabili per eventuali danni provocati seguendo queste istruzioni. Non fate nulla se non siete sicuri di quello che fate e, cosa ancora più importante, leggete la documentazione dei comandi che verranno suggeriti.


= La situazione =
== La situazione ==
La situazione in esame è quella classica: un hard disk con dei settori danneggiati che innonda con messaggi come questi:
La situazione in esame è quella classica: un hard disk con dei settori danneggiati che inonda con messaggi di errore la shell o i log come <code>/var/log/messages</code> o <code>/var/log/syslog</code>.
<pre>
messaggio
</pre>
la shell o i log come /var/log/messages o /var/log/syslog.


Nella maggior parte dei casi i dati sono recuperabili, ma bisogna seguire una procedura che ci permetterà di non infierire sul disco fisso più del dovuto, diminuendo il più possibile le possibilità di aumentare i danni.
Nella maggior parte dei casi i dati sono recuperabili, ma bisogna seguire una procedura che ci permetterà di non infierire sul disco fisso più del dovuto, diminuendo il più possibile le possibilità di aumentare i danni.


Il programma che ci aiuterà in questo è dd_rescue.
Il programma che ci aiuterà in questo è <code>'''ddrescue'''</code>.


= Occorrente =
== Occorrente ==
* una distribuzione live (se l'hard disk in fin di vita è quello contenente il sistema operativo
* una distribuzione live (se l'hard disk in fin di vita è quello contenente il sistema operativo);
* dd_rescue (apt-get install dd_rescue)
* <code>ddrescue</code> (<code>apt-get install gddrescue</code>);
* un hard disk di dimensione maggiore (o uguale) a quello danneggiato.
* un hard disk di dimensione maggiore (o uguale) a quello danneggiato.


= Procedimento =
== Procedimento ==
Il procedimento adottato è semplice: creeremo una immagine delle partizioni da salvare, per poi tentare di recuperare i dati.
Il procedimento adottato è semplice: creeremo una immagine delle partizioni da salvare, per poi tentare di recuperare i dati.


== Creazione dell'immagine ==
=== Creazione dell'immagine ===
'''dd_rescue''', a differenza di '''dd''', non si blocca in caso di errori, ma continua il suo lavoro. Questo, quindi, ci permetterà di avere una immagine con gli stessi errori causati dai bad block del disco rotto.
'''ddrescue''', a differenza di '''dd''', non si blocca in caso di errori, ma continua il suo lavoro. Questo, quindi, ci permetterà di avere una immagine con gli stessi errori causati dai bad block del disco rotto.


Il comando è semplice:
Il comando è semplice:
<pre>
<pre>
# dd_rescue -v -l /mnt/tmp/hda1.log /dev/hda1 /mnt/tmp/hda1.img
# ddrescue -v /dev/sda1 /mnt/tmp/sda1.img /mnt/tmp/sda1.log
</pre>
</pre>
dove:
dove:
; /dev/hda1 : rappesenta il device da recuperare
; <code>-v</code>: per visualizzare un resoconto dettagliato delle operazioni e dello stato del recupero;
; /mnt/tmp/hda1.img : rappresenta il file che conterrà l'immagine
; <code>/dev/sda1</code>: rappresenta la partizione da recuperare;
; -v : per visualizzare un resoconto dettagliato delle operazioni e dello stato del recupero
; <code>/mnt/tmp/sda1.img</code>: rappresenta il file che conterrà l'immagine della partizione;
; -l /mnt/tmp/hda1.log : per ottenere, al termine dell'operazione, un file di log con i risultati del recupero.
; <code>/mnt/tmp/sda1.log</code>: per ottenere, al termine dell'operazione, un file di log con i risultati del recupero.
 
=== Correzione di eventuali errori del filesystem ===
L'immagine ottenuta rappresenta una copia 1:1 della partizione recuperata. Questo vuol dire che contiene ancora eventuali errori dovuti al danneggiamento dei blocchi ed alla corruzione del filesystem (situazione molto probabile in questi casi).
 
Anche in questo caso la logica di Linux "everything is a file" torna utile: l'immagine può essere utilizzata come se fosse una normale partizione, permettendoci, quindi, di effettuare dei check sull'integrità dei dati!
 
Un semplice:
<pre>
# fsck.FILESYSTEM -f /mnt/tmp/sda1.img
</pre>
(dove a <code>FILESYSTEM</code> va sostituito il tipo di filesystem utilizzato nella partizione) permetterà di effettuare un controllo sull'integrità del filesystem.
{{Box|Nota 1|Verrà effettuato un controllo! Per effettuare operazioni di correzione è necessario rieseguire il comando con delle opzioni specifiche (variano in base al filesystem). Per informazioni: <code>fsck.FILESYSTEM --help</code>.}}
{{Box|Nota 2|Al momento il programma fsck.ntfs non esiste ancora. È però possibile usare l'analogo programma <code>ntfsfix</code> contenuto nel pacchetto <code>ntfs-3g</code>.}}
 
=== Montaggio immagine ===
Una volta creata e trasportata (NFS, dispositivo removibile, SFTP, FTP) l'immagine su un hard disk in buono stato di salute possiamo montarla per poterne estrarre i contenuti non danneggiati.
Creiamo una directory in cui monteremo il contenuto del file .img:
<pre>
# mkdir /mnt/image
</pre>
e, successivamente:
<pre>
# mount -o loop /mnt/tmp/sda1.img /mnt/image
</pre>
I contenuti sono ora accessibili e consultabili all'interno della directory <code>/mnt/image</code>.
 
=== Recupero dei dati ===
In <code>/mnt/image</code> saranno presenti i dati recuperati, con l'aggiunta di una directory chiamata <code>lost+found</code>, contenente tutti i file (o pezzi di essi) danneggiati o che l'operazione di ripristino non è stato in grado di reinserire nel filesystem in modo corretto.
 
Per il recupero dei dati è sufficiente effettuare una semplice copia.
 
{{Box|Nota|I file che si stanno spostando potrebbero essere danneggiati (a causa dei blocchi danneggiati presenti nell'hard disk rotto). Un controllo addizionale sull'integrità dei file (va eseguito a mano, sfortunatamente) è necessario.}}
 
== Conclusione ==
Questa pagina non abbraccia tutti i possibili scenari, ma quello più frequente e/o probabile.


== Correzione di eventuali errori del filesystem ==
Ognuno può, ovviamente, sentirsi libero di riportare la propria opinione o esperienza (magari parlandone prima nella pagina di discussione dell'articolo)!


== Montaggio immagine ==
Va, comunque, sottolineata l'importanza di una copia di backup dei propri dati: non sempre si è così fortunati da riuscire a recuperare tutti i dati!


== Recupero dei dati ==
== Link ==
===Sul wiki ===
* [[Gestire gli HD: stato di salute, badblocks e ripristino dati]]


= Conclusione =  
=== Risorse esterne ===
* [http://antoniodeluci.wordpress.com/2007/01/07/recuperare-dati-da-supporti-danneggiati/ Recuperare dati da supporti danneggiati]: guida pubblicata sul blog O.S. Revolution


{{Autori
|Autore= [[Utente:MaXeR|MaXeR]]
|Estesa_da=
|Verificata_da=
:[[Utente:HAL 9000|HAL 9000]] 20:03, 18 mag 2015 (CEST)
:[[Utente:Stemby|Stemby]] 15:41, 4 dic 2017 (CET)
|Numero_revisori=2
}}


= Faq =
[[Categoria:Hard Disk]]
914

contributi

Menu di navigazione