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
|