Newsgroup: it.comp.os.linux.software
Titolo: Quale programma per riparare una FAT32 rovinata?

Salve, 
cosa consigliate oggi come strumento (sotto Linux - meglio se debianlike)
per analizzare prima e riparare poi un filesystem FAT32?
Credo di avere una tabella di partizione sputtanata, ma non escludo che pure
una parte del filesystem sia stata riscritta (indovina un po'? mentre ero
sotto windows).
Il disco è un seagate da 80 GB Eide, e vi accedo da Knoppix/Mepis da un
altro disco. Quella che pare essere defunta è la seconda partizione
primaria (pare che venga riconosciuta correttamente la dimensione, ma non
si riesce a sapere - da QTparted - l'occupazione). Se cerco di montarla mi
dice che non riesce a leggere il superblock.
Leggevo qui di un po' di strumenti che hanno tra i compiti la riparazione di
tabelle delle partizioni
http://it.tldp.org/HOWTO/Filesystems/x206.html
Ma il documento mi sempra eccessivamente parco di informazioni.
Tra l'altro risale al 2000.
Consigli da chi usato uno di questi strumenti di recente?
Mi piacerebbe poter vedere dentro i settori del disco per sapere se c'è
stata una riscrittura, e poi valutare se le copie nei settori di backup
sono valide.
TestDisk?
saluti,
Peltio
che se non altro ha il backup aggiornato dei dati e quello di circa un mese
da del sistema operativo.

 TestDisk?
[cut]
Ecco, vedo che l'avevi già trovato... provarlo no eh?
Ciao
-- 
none

provarlo no eh?
Eh, già. NOn vedo l'ora di fare esperimenti con programmi che
non conosco e di cui non ho sentito opinioni a riguardo. Specie quando
non sono riuscito a trovare un disk editor decente che permetta di salvare
immagini di settori a scelta.
Comunque ora che ho liberato una partizione EXT3 e ho fatto una copia
(non so quanto fedele) con dd_rhelp posso anche provare le opzioni più
avanzate.
Grazie per la conferma.
saluti,
Peltio

 man dd
"Fatto, non succede niente".
(cit.)
Riconosco di non essere ancora uscito del tutto dalla mentalità uindous
dove anche per cambiare gli attributi ai file c'è un programma da 4 MB
con interfaccia grafica apposita, ma quello che cercavo è un editor che
mi permetta di navigare nella struttura CHS del disco (nel senso che
fornisco il valore di cilindro, testina e settore, e mi venga mostrato
l'intero settore permettendomi di andare avanti e indietro e magari
fornendomi l'interpretazione in termini di tabella di partizione o di
settore di avvio [1]. Ho letto il man e l'info coreutils di dd ma mi pare
che in questo caso dovrei sapere a priori la posizione (in blocchi o in
kB) del settore che voglio dumpare.
Forse pippandolo in cat con opzione more si ottiene quello che cerco? Ma
come faccio a fargli visualizzare la delimitazione dei settori, e un
indicatore di C H ed S?
Perchè in realtà io so la posizione di alcuni settori da cui iniziare a
guardare ma quello che cerco sono i settori di backup che stanno qualche
settore pià avanti.
Comunque ora ho una copia fatta con dd_rhelp su un altro disco e in questa
ci navigo con l'editori binario fornito con Knoppix. Una cosa che mi turba
è: il file che occupa 1.9 GB viene mostrato come se occupasse solo 5.7 MB.
La cosa non mi stupisce più di tanto perchè se è una copia identica
della partizione, presumo che il SO si immagini che termini al primo EOF
del primo file. Tuttavia, quando ho fatto la copia con dd_rhelp, è stato
salvato anche un file di log. Ora mi chiedo: non è che questo file è
stato salvato 5.7 MB dopo l'inizio dell'immagine? Presumo di no. Ma se ora
su quel disco ci dovessi copiare un file qualunque (ad esempio il log di
un programma di recupero dati) questo verrebbe scritto dove? Dopo il primo
EOF dell'immagine?
saluti,
Peltio
che purtroppo TestDisk non mi permette di analizzare la partizione salvata
perchè vuole l'immagine di un disco completo con tanto di settore 0 e
tabella di partizione.
[1] Sotto DOS c'è un PTSE che fa queste cose ma non permette di salvare i
settori selezionati su file.

 Usato con successo un paio di volte da amici.
Ti risulta sia possibile usarlo sull'immagine di una sola partizione?
Perchè non funge e se faccio un fsck.vfat _dell'immagine_ creata da
dd_rhelp trovo che vengono corretti un mare di errori (su nomi di file
assurdi che vengono rinominati) ma al termine non è ancora possibile
montare la partizione (ho usato un mount -o loop immagine /mnt/immagine)
(questa procedura l'avevo provata su un floppy bacato e aveva recuperato
tutto)
Usando testdisk _sul dispositivo_, invece, mi mostra subito dopo Analyze
una tabella di partizione perfetta, e se navigo nella partizione
incriminata mostra correttamente tutti i file e le cartelle (incluse le
strutture annidate). Boot sector e backup boot sector sono rilevati
identici e ok. Salvo con Write, esco ricevendo la conferma che il
programma è uscito normalmente, riavvio e... E' tutto come prima:
impossibile montare il dispositivo, bad fs, bad superblock.
A questo punto devo usare il menu Advanced per ricostruire la FAT, come
indicato su 
http://www.cgsecurity.org/phpwiki/index.php/MenuAdvanced
Ma mi sarebbe piaciuto farlo su una copia della partizione e non sulla
partizione vera. Non c'è modo di spiegare a test disk di analizzare solo
una partizione su un file immagine?
saluti,
Peltio

 una partizione su un file immagine?
Va beh, visto che al massimo rischiavo di reinstallare i programmi che
avevo installato dall'ultimo backup ho provato lo stesso: ha riparato la
FAT, e al successivo dd_rhelp l'immagine č di quasi 2 GB come atteso.
La monta tranquillamente, ci vedo tutte le cartelle e i file ma...
Non riesce a smontarla : (, dice che č ancora attiva.
Ho fatto un 
	lsof | grep /mnt/Sys2b
e scopro che ci sono due file aperti, uno dei quali č grosso 174 GB o
giů di lě (secondo la FAT).E che nomi:
  7487 root 17r REG 7,0 1852142702  12173 /mnt/Sys2b/win/?^U.&
  7487 root 18r REG 7,0         49  12174 /mnt/Sys2b/win/pk^A^B^W^C\n
Ora qual'č la cosa migliore da fare? Tentare di cancellarli da shell
(usando uno dei trucchi che ho dimenticato su come passare nomi di file
impossibili), oppure entrare con un editor esadecimale nell'immagine del
disco (e poi se funge sul disco stesso) e modificare l'entry della FAT in
modo da eliminare lě il file?
Se la soluzione consigliata č la seconda, ci sono editor che permettono
di intepretare la struttura delle FAT?
saluti,
Peltio