Recupero dati HD SATA (lungo)

2007-05-24 Per discussione straluna
Ciao *,
ho una bella gatta da pelare.
Dovrei recuperare dei dati dallo HD di un amico che ieri, dopo un
reboot dovuto a interruzione di corrente, pare essersi danneggiato (no
backup!)

Questa la situazione:

/dev/sda è il disco incriminato mentre /dev/sdb è un mio disco che ho
utilizzato ieri sera per tentare il recovery (senza successo).

Quel che mi interessa è recuperare la /home che corrisponde a /dev/sda6.

fdisk -l /dev/sda e sfdisk -d /dev/sda funzionano e mi restituiscono
quanto segue (metto solo /dev/sda6 per brevità):

#fdisk -l /dev/sda

Disk /dev/sda: 80.0 GB, 800 bytes
255 heads, 63 sectors/track, 9726 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot  Start End  Blocks   Id  System
/dev/sda62615504619535008+  fd  Linux raid
autodetect


#sfdisk -d /dev/sda

/dev/sda6 : start= 41993973, size= 39070017, Id=fd

Ebbene sì, il disco faceva anche parte di un array raid (mirror) che
aveva già visto morire mesi fa il secondo disco.

Ad ogni modo il filesystem è ext3 e riesco a montare tutte le
partizioni tranne /dev/sda6 (Murphy!) e /dev/sda1.

Nello specifico quando provo a montare /dev/sda6 mi saltano fuori
errori di questo tipo:

Buffer I/O error on device sda6, logical block 10
Buffer I/O error on device sda6, logical block 11
Buffer I/O error on device sda6, logical block 12
ecc

e anche errori di quest'altro tipo

ata1.00: cmd c8/00:20:f5:c6:80/00:00:00:00:00/e2 tag 0 cdb 0x0 data
16384 in res 51/40:00:ff:c6:80/00:00:00:00:00/e2 Emask 0x9 (media error)


Ho provato a fare una copia raw su /dev/sdb1 con dd_rescue in questo
modo:

dd_rescue /dev/sda6 /mnt/rescue.img

Come da copione dd_rescue salta gli errori di cui sopra e va avanti
modello bulldozer, recupera  5.6Gb fino a che anche lui si
arrende.
Ho provato a montare in loop (mount -o loop,ro rescue.img /mnt/rescue)
la rescue.img da 5.6Gb ma niente da fare, ottengo la seguente risposta:

Ext3-fs error (device loop1): ext3_check_descriptors: Block bitmap for
group 1 not in group (block0)! 
Ext3-fs: group descriptors corrupted!
mount: wrong fs type, bad option, bad superblock on /dev/loop1

Quello sopra è l'errore che mi incuriosisce di più, c'è modo di
riparare il group descriptor?
Potrebbe aver senso, sempre che ci si riesca, tentare di riassegnare
alla partizione /dev/sda6 il Fs Type 83 - Linux FS al posto del Linux
raid autodetect? Non dovrebbe cambiare nulla a parer mio ma si sa
mai

Ultima prova che ho fatto è lanciare un fsck.ext3 su rescue.img ma
niente da fare.

Avete idee o suggerimenti tipo opzioni da passare a dd_rescue o
altro prima di staccare il biglietto per Lourdes? 
Eventualmente sapreste segnalarmi una ditta Italiana seria che si
occupa di data-recovery (camera bianca e quelle robe lì) senza spendere
un capitale?

Grazie di aver letto fino a qui.

ciao,
a.



Re: Recupero dati HD SATA (lungo)

2007-05-24 Per discussione Fabio Napoleoni
straluna ha scritto:
 Nello specifico quando provo a montare /dev/sda6 mi saltano fuori
 errori di questo tipo:
 
 Buffer I/O error on device sda6, logical block 10
 Buffer I/O error on device sda6, logical block 11
 Buffer I/O error on device sda6, logical block 12
 ecc

Situazione simile un paio di settimane fa.

 Ho provato a fare una copia raw su /dev/sdb1 con dd_rescue in questo
 modo:
 
 dd_rescue /dev/sda6 /mnt/rescue.img
 
 Come da copione dd_rescue salta gli errori di cui sopra e va avanti
 modello bulldozer, recupera  5.6Gb fino a che anche lui si
 arrende.
 Ho provato a montare in loop (mount -o loop,ro rescue.img /mnt/rescue)
 la rescue.img da 5.6Gb ma niente da fare, ottengo la seguente risposta:
 
 Ext3-fs error (device loop1): ext3_check_descriptors: Block bitmap for
 group 1 not in group (block0)! 
 Ext3-fs: group descriptors corrupted!
 mount: wrong fs type, bad option, bad superblock on /dev/loop1

Ho usato la tua stessa procedura, con l'unica differenza che invece che
chiamare dd_rescue direttamente ho usato questo script [1], il risutato
è stato piuttosto buono. Ho recuperato praticamente tutto il disco.
L'unico inconveniente è che quando sono andato ad eseguire fsck, mi
segnalava un buco sull'inode che conteneva root, quindi quando l'ho
montato in loop mi sono perso tutta la struttura del filesystem
ritrovandomi praticamente tutti i files in /lost+found.

 Avete idee o suggerimenti tipo opzioni da passare a dd_rescue o
 altro prima di staccare il biglietto per Lourdes? 

Prova quello script, magari ti ricostruisce un file immagine più completo.

In bocca al lupo.

[1]http://www.kalysto.org/utilities/dd_rhelp/index.en.html

-- 
Fabio Napoleoni
[EMAIL PROTECTED]


 Computer Science is no more about computers than astronomy is
 about telescopes
 Edsger W. Dijkstra



-- 
Per REVOCARE l'iscrizione alla lista, inviare un email a 
[EMAIL PROTECTED] con oggetto unsubscribe. Per
problemi inviare un email in INGLESE a [EMAIL PROTECTED]

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]