Newsgroup: it.comp.os.linux.iniziare
Titolo: recupero partizione cancellata

Ho la partition table un po' incasinata.
Riporto l'output di fdisk in modalitŕ normale e avanzata, piů un df -k
la situazione del mio hdd č questa:
boot      50M
suse      14G
slackware 5G
comune    10G
fatcomune 10G
swap      1G
totale    40G
purtroppo l'ordine fisico delle partizioni non coincide con l'ordine
logico.
stavo cancellando la swap e la suse, e l'ho fatto con l'fdisk di linux.
purtroppo ci č andato di mezzo partition magic che al caricamento ha
riconosciuto un errore nella partition table e l'ha voluto correggere.
in tal modo perň č partita la fat, nel senso che non c'č piů nella
tabella delle partizioni.
Il mio intento č ora quello di recuperarla.
Dopo tutto il lavolo era rimasto
/dev/hda1 /dev/hda3 e /dev/hda5
Ho ricreato /dev/hda6 specificando i cilindri che vanno dall'inizio
della estesa fino alla /dev/hda5, e mi sono ritrovato i 14G di suse, e
montandola infatti c'erano ancora i file intatti dentro. Questa era
semplice perchč inizia e finisce rispetto a ben determinati riferimenti.
Ho creato la hda7 con lo spazio rimanente del disco (20G). Anche qui
l'inizio della partizione č ben determinato e coincide con l'inizio di
/comune, e infatti se la monto vedo benissimo i suoi file.
Ora il difficile.
Il problema č determinare dove finisce la partizione /comune che, per
essere sicuro che venisse presa tutta, ho preso anche ciň che vi č
dopo. Ma dopo di questa viene la /fatcomune. Se io riuscissi a
determinare dove finisce /comune, potrei riuscire a determinare dove
comincia /fatcomune, e il gioco č fatto.
Non mi interessa dove finisce, perchč tanto dopo un piccolo backup dei
dati importanti, ripartizionerei tutti i 40G da capo eliminando tutte
le incongruenze Come posso fare secondo voi?
Sarebbe anche sufficente capire in che punto della _partizione_
/comune, si trova il magicnumber della partizione cosě da dare un bel
dd per prelevare quella parte di disco, metterla in un file, e leggerla
come loop device (forse č piů semplice che indovinare la geometria
giusta della partizione). Ma come si puň leggere un determinato punto
del disco? fare una ricerca su di esso in raw mode? come dire a dd da
dove cominciare a leggere?
Grazie, Matteo
(Ovviamente non avevo un backup fatto in quanto molti dati ce li avevo
appena messi)
disk /dev/hda : 255 head, 63 sectors, 5005 cylinders
       Units = cylinders of 16065 * 512
device  boot    start   end     blocks   id system
/dev/hda1       1       7       56196    83 Linux
/dev/hda3       8       5005    40146435  f Win95 Ext'd (LBA)
/dev/hda5       1796    2433    5124703  83 Linux
/dev/hda6       8       1795    14362078 83 Linux
/dev/hda7       2434    5005    20659558 83 Linux
Partition table entries are not in disk order
disk /dev/hda : 255 head, 63 sectors, 5005 cylinders
Nr Af Hd  Sec Cyl  Hd  Sec Cyl   start     size     id
1  00 1   1   0    254 63  6     63        112392   83
2  00 0   0   0    0   0   0     0         0        00
3  00 0   1   7    254 63  1023  112455    80292870 0f
4  00 0   0   0    0   0   0     0         0        00
5  00 1   1   1023 254 63  1023  287242283 10249407 83
6  00 1   1   7    254 63  1023  62        28724153 83
7  00 254 63  1023 254 63  1023  63        41319117 83
Filesystem  1k-blocks  Used    Available Use%
/dev/hda1   54416      8449    43720     16%    /boot
/dev/hda5   5044156    3886924 952244    80%    /slackware
/dev/hda6   14140676   1323496 12242700  10%    /suse
/dev/hda7   10146644   6303896 3430524   65%    /comune - /fatcomune - swap

 [cut]