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

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (corretto link)
 
(27 versioni intermedie di 8 utenti non mostrate)
Riga 1: Riga 1:
=About MaXeR=
{{Versioni compatibili|Jessie|Stretch|Buster}}
Mi chiamo Claudio, ho 22 anni e studio Informatica presso l'Universit� degli Studi di Verona.
== 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.


==Contatti==
{{Warningbox|Né io, né 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.}}
; Blog : http://www.knio.it


; MaXeR@fsfe.org : http://www.fsfe.org/Members/maxer/
== La situazione ==
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>.


; MaXeR@persone.softwarelibero.it : http://persone.softwarelibero.org/person/MaXeR
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.


; em@il : [mailto:maxer@debianizzati.org maxer@debianizzati.org]<br/>[mailto:maxer@knio.it maxer@knio.it]<br/>[mailto:maxer@fsfe.org maxer@fsfe.org]
Il programma che ci aiuterà in questo è <code>'''ddrescue'''</code> ([[Il Progetto GNU|GNU]] ddrescue).


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


; jabber : maxer@jabber.linux.it
== Procedimento ==
: maxer@jabber.fsfe.org
Il procedimento adottato è semplice: creeremo una immagine delle partizioni da salvare, per poi tentare di recuperare i dati.


; icq : 161200863
=== Creazione dell'immagine ===
'''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:
<pre>
# ddrescue -v /dev/sda1 /mnt/tmp/sda1.img /mnt/tmp/sda1.log
</pre>
dove:
; <code>-v</code>: per visualizzare un resoconto dettagliato delle operazioni e dello stato del recupero;
; <code>/dev/sda1</code>: rappresenta la partizione da recuperare;
; <code>/mnt/tmp/sda1.img</code>: rappresenta il file che conterrà l'immagine della partizione;
; <code>/mnt/tmp/sda1.log</code>: per ottenere, al termine dell'operazione, un file di log con i risultati del recupero.


[http://www.fsfe.org http://www.knio.it/images/a-happy-fellow.png]
=== 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).


=Le Mie Guide=
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!
# [[La struttura della Distribuzione]]
# [[I repository ed il loro utilizzo]]
# [[Introduzione all' Apt System]]
# [[Pulire Debian]]
# [[Applicare una patch ad un pacchetto Debian]]
# [[Apt-build: ottimizzazione dei pacchetti | '''Apt-build''': ottimizzazione dei pacchetti]]
# [[Apt-cdrom | '''Apt-cdrom''': aggiunta di cd/dvd nella lista dei repository]]
# [[Apt-file: ricerca all'interno dei pacchetti | '''Apt-file''': ricerca all'interno dei pacchetti]]
# [[Apt-listbugs: come monitorare i bug | '''Apt-listbugs''': come monitorare i bug]]
# [[Apt-zip: aggiornamenti senza una connessione veloce | '''Apt-zip''': aggiornamenti senza una connessione veloce]]
# [[Make-jpkg: Pacchettiziamo Java Sun| '''Make-jpkg''': Pacchettiziamo Java Sun]]
# [[Apt-Proxy: un proxy per i pacchetti Debian| '''Apt-Proxy''': un proxy per i pacchetti Debian]]
# [[Debmirror: creiamo un mirror Debian |'''Debmirror''': creiamo un mirror Debian]]
# [[Password sicure: la base della sicurezza informatica]]
# [[Come abilitare il completamento automatico 'avanzato']]
# [[Convertire immagini .nrg in immagini .iso]]
# [[mod_bandwidth: Gestione avanzata della banda]]
# [[Mrtg: monitoriamo la banda]]
# [[UsbMount: Gestione automatizzata delle periferiche usb di memorizzazione]]
# [[Powernowd: CpuScaling per AMD]]
# [[ cacti | Cacti per monitorare il sistema ]]
# [[ Debian_on_a_compaq_Presario_2154EA ]]
# [[ Munin ]]
# [[ Debian Fun ]]
# [[LAMP: Linux, Apache, MySQL e PHP]] Collaborazione con [[Utente:Keltik|Keltik]]
# [[ SysV ]]
# [[ jigdo ]]
# [[ Wireless Support ]]
# [[ Apache, SSL e CaCert.Org ]] (stub)
# [[ Pacchetizzare un tema per Bootsplash ]]
# [[ Gestione di un repository con debarchiver ]]
# [[ Ssh e autenticazione tramite chiavi ]]
# [[ Dupload per l'upload dei pacchetti Debian ]]
# [[ Synaptics touchpad ]]
# [[sshfs | Montare una directory remota con sshfs]]
# [[Unison e la sincronizzazione di directory]]
# [[Pbuilder: compilazione in ambienti puliti]]
# [[Madwifi | Installazione Driver Madwifi]]
# [[Repository Debianizzati.Org]]
# [[Kde e mount automatico]]


=Pagine in Lavorazione=
Un semplice:
* [[Errori frequenti nell'uso di apt-get]]
<pre>
* [[Controllare lo stato di un pacchetto]]
# fsck.FILESYSTEM -f /mnt/tmp/sda1.img
* [[Repository non ufficiali]]
</pre>
* [[Copiare-Spostare Debian]] (titolo non definitivo)
(dove a <code>FILESYSTEM</code> va sostituito il tipo di filesystem utilizzato nella partizione) permetterà di effettuare un controllo sull'integrità del filesystem.
* [[Bugreport howto]]
{{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>.}}
* [[Installazione Tomcat]]
{{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>.}}
* [[Java in Debian]]
* [[Alternatives]]
* [[Rileggere la tabella delle partizioni]]
* [[Recuperare i dati da un Hard Disk danneggiato]]


=Ho scritto anche in=
=== Montaggio immagine ===
* [[ Speciale:Contributions/MaXeR | dove ho ficcato il naso ;) ]]
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>.


=Pagine Varie riportate da altre fonti=
=== Recupero dei dati ===
# [[Perch� conviene sviluppare esclusivamente Software Libero]]
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.
# [[Vendere Software Libero]]
 
# [[Perch� il software non deve avere padroni]]
Per il recupero dei dati è sufficiente effettuare una semplice copia.
# [[La comunit� del software libero dopo 20 anni]]
 
# [[Ricompense e Motivazione]]
{{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.
 
Ognuno può, ovviamente, sentirsi libero di riportare la propria opinione o esperienza (magari parlandone prima nella pagina di discussione dell'articolo)!
 
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!
 
== Link ==
===Sul wiki ===
* [[Gestire gli HD: stato di salute, badblocks e ripristino dati]]
 
=== 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:Stemby|Stemby]] 15:41, 4 dic 2017 (CET)
:[[Utente:HAL 9000|HAL 9000]] 09:40, 28 lug 2019 (CEST)
|Numero_revisori=2
}}
 
[[Categoria:Hard Disk]]

Versione attuale delle 12:31, 6 ott 2019

Debian-swirl.png Versioni Compatibili

Debian 8 "jessie"
Debian 9 "stretch"
Debian 10 "buster"

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.

Warning.png ATTENZIONE
Né io, né 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 in esame è quella classica: un hard disk con dei settori danneggiati che inonda con messaggi di errore 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.

Il programma che ci aiuterà in questo è ddrescue (GNU ddrescue).

Occorrente

  • una distribuzione live (se l'hard disk in fin di vita è quello contenente il sistema operativo);
  • ddrescue (apt install gddrescue);
  • un hard disk di dimensione maggiore (o uguale) a quello danneggiato.

Procedimento

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

Creazione dell'immagine

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:

# ddrescue -v /dev/sda1 /mnt/tmp/sda1.img /mnt/tmp/sda1.log

dove:

-v
per visualizzare un resoconto dettagliato delle operazioni e dello stato del recupero;
/dev/sda1
rappresenta la partizione da recuperare;
/mnt/tmp/sda1.img
rappresenta il file che conterrà l'immagine della partizione;
/mnt/tmp/sda1.log
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:

# fsck.FILESYSTEM -f /mnt/tmp/sda1.img

(dove a FILESYSTEM va sostituito il tipo di filesystem utilizzato nella partizione) permetterà di effettuare un controllo sull'integrità del filesystem.

Info.png 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: fsck.FILESYSTEM --help.
Info.png Nota 2
Al momento il programma fsck.ntfs non esiste ancora. È però possibile usare l'analogo programma ntfsfix contenuto nel pacchetto ntfs-3g.


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:

# mkdir /mnt/image

e, successivamente:

# mount -o loop /mnt/tmp/sda1.img /mnt/image

I contenuti sono ora accessibili e consultabili all'interno della directory /mnt/image.

Recupero dei dati

In /mnt/image saranno presenti i dati recuperati, con l'aggiunta di una directory chiamata lost+found, 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.

Info.png 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.

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

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!

Link

Sul wiki

Risorse esterne




Guida scritta da: MaXeR Swirl-auth60.png Debianized 60%
Estesa da:
Verificata da:
Stemby 15:41, 4 dic 2017 (CET)
HAL 9000 09:40, 28 lug 2019 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized