Damaged Hard DiskIT
I settori danneggiati sono la forma più comune di danno fisico al disco rigido. Sono i primi segni di un crash del disco non appena si deteriora nel tempo. Un settore danneggiato è un settore sul disco che non può essere scritto o letto (errori di lettura) a causa di danni fisici o incongruenze di controllo di parità bit sul disco (errore CRC = Cyclic Redundancy Check ). Per recuperare i vostri dati, il metodo migliore è quello di copiare i dati dell'unità di un altro hard disk prima di tentare di recuperarlo.
Il nuovo disco deve essere almeno della stessa dimensione (controllare il numero di settori LBA) o maggiore. Se più grande, non è un problema perché il numero di testine per cilindro e settori pro capite sarà lo stesso se entrambi i dischi usano la modalità LBA . Windows potrebbe avere qualche problema nel trattare con settori danneggiati su un HD danneggiato, per cui la soluzione migliore è quella di utilizzare un sistema operativo Linux per copiare i dati su un altro disco rigido.
È inoltre possibile utilizzare TestDisk per analizzare i settori copiati da un disco rigido danneggiato su un drive sano.
Avvio da Knoppix, un LiveCD Linux
Se non si dispone di un sistema operativo Linux installato, scaricare il LiveCD di [http://www.knopper.net/knoppix/index-en.html Knoppix LiveCD , un CD avviabile completamente funzionale con su Linux che potrà gira in memoria!
- Masterizzare il file. Iso su CD
- Avviare da CD-ROM
- Al prompt, inserire
knoppix lang=us
(per lingua US) - Si viene automaticamente collegati, come utente 'knoppix' su una console grafica.
- Lanciare una Konsole/terminal
(Nota:. Knoppix ha una selezione 'Konsole as root' , ma le funzioni di copia / incolla sono disattivate, quindi si raccomanda di usare sempre il metodo descritto di seguito per ottenere l'accesso root)
Knoppix è dotato di TestDisk, PhotoRec, dd e dd_rescue. Per l'accesso a dischi rigidi, è necessario eseguirli come root, quindi selezionare la Konsole e digitate sudo -s
, quindi premere il tasto Invio.
Nota per gli utenti della versione 4.0.2 di Knoppix CD:
Per usare TestDisk in Knoppix 4.0.2, è necessario risolvere il problema delle librerie mediante:
ln -s /usr/lib/libntfs.so.7 /usr/lib/libntfs.so.5
Nota per gli utenti della versione 5.1 di Knoppix CD:
Per usare TestDisk in Knoppix 5.1, è necessario risolvere il problema delle librerie mediante:
ln -s /usr/lib/libntfs.so.10.0.0 /usr/lib/libntfs.so.9
Questi problemi non ci sono per la versione Linux (vedi l'area Download.
Identificazione di un HDD
Identificazione di un HDD Linux
Per elenare gli Hdd e partizioni connesse, usare i comandi fdisk or lshw:
Esempio
lshw -C disk *-disk description: ATA Disk product: ST380013A vendor: Seagate physical id: 0.1.0 bus info: scsi@0:0.1.0 logical name: /dev/sda version: 3.06 serial: 3JVA1WTE size: 74GiB (80GB) capabilities: partitioned partitioned:dos configuration: ansiversion=5 signature=00001a7f
fdisk -l Disk /dev/sda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00001a7f Device Boot Start End Blocks Id System /dev/sda1 1 91 730926 82 Linux swap / Solaris /dev/sda2 92 9729 77417235 83 Linux
Sui sistemi linux successivi a 2.6.20 , i driver PATA/IDE, SATA, SCSI, e USB visualizzeranno /dev/sd? ( dove ? e' la lettera del drive).
Le versioni precedenti i drive PATA/IDE visualizzeranno /dev/hd? ( dove ? e' la locazione sul bus PATA).
Identificazione di un HDD Mac OS X
Per identificare il disco / num di partizione,
- Avviare il programma Terminal , che si trova nella cartella
/Applications/Utilities
. - digitare
diskutil list
Ci sono due tipi di dispositivi:
- dispositivi raw
/dev/rdisk*
, comunicazione diretta con il disco - dispositivi buffered
/dev/disk*
, data trasferimento dati via buffer.
Quando si usa dd o altri programmi di duplicazione, utilizzare sempre raw.
In Mac OS X, le partizioni sono etichettate con "slices". Esempio : un volume in formato GPT è di solito s2, cioè rdisk4s2
.
Duplicazione dischi
Dopo aver verificato in una shell dei comandi (CLI), o dalla console terminale ( non avviare da SO del disco rigido danneggiato), i nomi dei dispositivi per il disco danneggiato e di quello nuovo per copiare i dati, è possibile iniziare a duplicare i dati.
Il metodo che usa 'dd'
Il programma dd è molto potente e può essere usato per scrivere su file , o da file verso partizioni o volumi. Tuttavia, si consiglia di provare a usare ddrescue o dd_rescue, perche dd non è stata concepito per lavorare con dischi danneggiati e quindi sara lento.
- Per copiare un disco come root, eseguire:
dd if=/dev/old_disk of=/dev/new_disk conv=noerror,sync
conv=noerror,sync
e' usato con dischi danneggiati, dove l'intento è quello di sostituire i blocchi danneggiati con placeholders zero e continuare a copiare.
- Per copiare il disco in un file d'immagine:
dd if=/dev/old_disk of=image_file conv=noerror
Per utenti in Mac OS X o Ubuntu, ricordarsi sempre di anteporre sudo
a dd e aggiungere la password utente per convalidare il comando.
Attenzione! Se si copia un disco, la destinazione deve essere anche un disco, non una partizione. Se si copia una partizione, la partizione di destinazione deve essere abbastanza grande. Copiare l'intero disco è consigliato.
I dischi devono essere copiati su confini settoriali. La dimensione del settore della maggior parte dei dischi rigidi è attualmente 512 byte, ma l'industria sta iniziando a muoversi (dal 1999) a 4KB (4096 byte) dimensione del settore. Controllare le specifiche del vostro disco.
NB: Le comunità UNIX / Linux impiegano il termine "blocco" per riferirsi ad un settore o gruppo di settori. Per esempio, l'utility Linux fdisk visualizza le informazioni della tabella delle partizioni utilizzando blocchi da 512 byte mentre usa "settori" per descrivere le dimensioni del disco : 63 settori / tracce. Si desidera che la dimensione del blocco per il programma dd sia una potenza di 2 , e multiplo della dimensione del settore del disco.
La dimensione del blocco di default per dd è di 512 byte ( l'operando bs= viene utilizzato per aumentare la dimensione del blocco. Blocchi di dimensioni più grandi aumenteranno notevolmente la velocità della copia fino a un punto , che dipende da molti fattori, ma 256K - 500K sarà abbastanza buona per la maggior parte dei sistemi. Se la dimensione del blocco si conclude con una ``b, ``k, ``m, or ``g, il numero è moltiplicato per 512, 1024 (1K), 1048576 (1M), or 1073741824 (1G) rispettivamente. Per leggere / scrivere il disco utilizzando un blocco di 1Mb (16 x 512 settori di byte), usare uno fra i seguenti comandi :
bs=1048576
bs=2048b
bs=1024K
bs=1M
Comandi di esempio: (usa i nomi dei dispositivi per il tuo sistema)
- Per copiare un disco in un secondo disco con una dimensione di blocco di 256KB , (settori da 512 x 512 byte): sudo dd bs=262144 if=/dev/hda /dev/hdb conv=noerror,sync
- Per duplicare un intero disco su un altro disco utilizzando una dimensione di blocco da 16KB (settori da 32 x 512 byte) e sostituzione dei blocchi danneggiati con gli zeri: sudo dd bs=16384 if=/dev/rdisk0 of=/diskcopy conv=noerror,sync
- Per copiare un volume / partizione da un disco ad una partizione su un'altra unità con una dimensione di 256KB di blocco:sudo dd bs=256K if=/dev/rdisk0s2 of=/dev/rdisk1s2 conv=noerror,sync
- Per copiare un disco o una partizione in un file, se un percorso non è specificato, il file verrà creato nella directory corrente: sudo dd bs=512K if=/dev/rdisk0s2 /home/john/rdisk0s2.dd conv=noerror
'dd_rescue' Kurt Garloff
Se credi ci sono molti settori danneggiati sul disco, è possibile provare a utilizzare 'dd_rescue'(dd_rescue) al posto di dd.
Il metodo migliore: GNU ddrescue di Antonio Diaz
La soluzione migliore - sia più veloce ed efficiente - sembra essere quella di Antonio Diaz 'ddrescue'
(ddrescue)
# download ddrescue wget http://download.savannah.gnu.org/releases/ddrescue/ddrescue-1.8.tar.bz2 # extract the source code tar xjf ddrescue-1.8.tar.bz2 # compile ddrescue cd ddrescue-1.8 ./configure && make # first, grab most of the error-free areas in a hurry: ./ddrescue -n /dev/old_disk /dev/new_disk rescued.log # then try to recover as much of the dicy areas as possible: ./ddrescue -r 1 /dev/old_disk /dev/new_disk rescued.log
La diagnosi precoce di settori danneggiati
Gli HD moderni possono trovare dei propri problemi grazie a SMART Monitoring.
Vai a TestDisk