linux user group brescia

immagine del castello

Archivio della mailing list

dd ddrescue testdisk photorec

Maurizio Paolini paolini a dmf.unicatt.it
Gio 11 Gen 2007 16:56:31 UTC
On Thu, Jan 11, 2007 at 02:04:34PM +0100, Francesco Petrogalli wrote:
> la situazione diventa sempre piu' disperata, pero' una cosa sono riuscito a farla. ho messo con ddrescue il contenuto dell'hard disk rovinato su un file immagine
> 
> ddrescue /dev/hdc immagine.img
> 
> ora ho questo grande file, ~40GiB, e con sfdisk trovo le varie partizioni
> ******************************************************************
> debian:/home/leonardo# sfdisk -d /mnt/ti_prego/hdc
> # partition table of /mnt/ti_prego/hdc
> unit: sectors
> 
> /mnt/ti_prego/hdc1 : start=       63, size= 80292807, Id=83
> /mnt/ti_prego/hdc2 : start=        0, size=        0, Id= 0
> /mnt/ti_prego/hdc3 : start=        0, size=        0, Id= 0
> /mnt/ti_prego/hdc4 : start=        0, size=        0, Id= 0

Apparentemente c'e' una sola partizione (hdc1).  Ora e' chiaro che
il contenuto della partizione e' sicuramente recuperabile dalla tua
immagine (con un "dd skip=??? ..."); ma si tratta di capire esattamente
a che punto inizia.  All'inizio c'e' il MBR, che mi pare sia grosso
512kb, ma non sono sicuro che la partizione inizi subito alla fine
dell'MBR, e in effetti lo "start=63" suggerirebbe un inizio al
blocco 63; l'unita' di misura piu' plausibile e' il Kb (guardando
la size, quindi un primo tentativo potrebbe essere

# dd skip=63 bs=1024 if=immagine.img of=hdc1.img

ho provato un "hexdump -C" su una mia partizione e ottengo:
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000400  40 07 50 00 4e 01 50 00  10 00 04 00 ac 45 31 00  |@.P.N.P......E1.|

e quindi ci sono 400 (esadecimale) zeri all'inizio della partizione,
conviene provare a vedere cosa c'e' al kilobyte 63 di immagine.img.

Di per se non sarebbe nemmeno necessario estrarre la partizione dal
file per montarla, poiche' il loop mount prevede l'opzione "offset";
d'altra parte, una volta capito dove inizia e se hai spazio disco
disponibile e' meglio tirarla fuori, cosi' si puo' provare anche con
altri tools (e forse un banale e2fsck).

> debian:/home/leonardo#
> **************************************************************
> debian:/home/leonardo# sfdisk -l /mnt/ti_prego/hdc
> Disk /mnt/ti_prego/hdc: cannot get geometry
> 
> Disk /mnt/ti_prego/hdc: 0 cylinders, 0 heads, 0 sectors/track
> Warning: The partition table looks like it was made
>   for C/H/S=*/255/63 (instead of 0/0/0).
> For this listing I'll assume that geometry.
> Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
> 
>    Device Boot Start     End   #cyls    #blocks   Id  System
> /mnt/ti_prego/hdc1          0+   4997    4998-  40146403+  83  Linux
> /mnt/ti_prego/hdc2          0       -       0          0    0  Empty
> /mnt/ti_prego/hdc3          0       -       0          0    0  Empty
> /mnt/ti_prego/hdc4          0       -       0          0    0  Empty
> debian:/home/leonardo#
> ****************************************************************
> 
> 
> il tutorial http://osrevolution.wordpress.com/2007/01/07/recuperare-dati-da-supporti-danneggiati/
> mi dice a questo punto di leggere start e size di sfdisk -d e di riavviare ddrescue leggendo di nuovo il sopporto magnetico hdc sui settori indicati.
> ma perche' dovrei farlo? non posso lavorare direttamente sullla mia immagine di hdc? il disco "muore sempre di piu'", e tutte le volte che ci faccio qualcosa aumentano gli errori......
> 
> non e' che posso prendere i settori dell'iimagine specificati dallo start e size di sfdisk -d mediante dd? non so nulla di "teorico" su queste cose, quindi mi affido alla vostra esperienza!!!

Hai perfettamente ragione; i dati li hai gia tutti, si tratta solo di capire dove
la partizione ha inizio...

mp




Maggiori informazioni sulla lista Lug