7. Problemi relativi al filesystem

7.1. Riparazione di un superblock danneggiato

[Nota]Nota

Quanto segue è applicabile soltanto ai filesystem ext2 ed ext3. Se state utilizzando un altro filesystem vi preghiamo di consultare la documentazione relativa.

Il superblock è il primo blocco di ogni partizione ext2FS o ext3FS, e contiene dati importanti riguardo il filesystem stesso, come le dimensioni, lo spazio libero rimasto, etc. (il metodo usato è simile a quello delle partizioni FAT). Una partizione il cui superblock è danneggiato non può essere montata. Per fortuna i filesystem ext2FS e ext3FS conservano diverse copie del superblock sparse su tutta la partizione.

Avviate il vostro sistema con un disco di avvio. La posizione delle copie di backup dipende dalla dimensione dei blocchi del filesystem: per filesystem con blocchi di 1 kB si trovano all'inizio di ogni blocco di 8 kB (8192 byte), per filesystem con blocchi di 2 kB si trovano all'inizio di ogni blocco di 16 kB (16384 byte), e così via. Per sapere la posizione esatta in cui si trovano le copie del superblock potete usare il comando mke2fs -n [nome_partizione]. Supponendo che il filesystem abbia blocchi di 1 kB, ad esempio, la prima copia di backup si trova al byte numero 8193; per effettuare il ripristino del superblock usando questa copia dovreste digitare e2fsck -b 8193 /dev/hda4, sostituendo hda4 con il nome della vostra partizione danneggiata. Se anche la prima copia risulta danneggiata, provate quella successiva al byte numero 16385, e così via, fino a trovarne una intatta. Riavviate infine il computer per rendere effettive le modifiche.

7.2. Ripristino di file cancellati

In questa sezione discuteremo di alcuni metodi per recuperare file e directory cancellati. Ricordate che gli strumenti che eseguono questo tipo di operazione non hanno poteri magici, e la loro efficacia dipende dalla quantità di tempo trascorsa dal momento in cui avete cancellato i file che adesso volete recuperare.

Potrebbe capitarvi di avere la necessità di recuperare file o directory che avete cancellato accidentalmente; esistono alcuni programmi che permettono di farlo, progettati per il filesystem ext2 di GNU/Linux, ma non sono in grado di recuperare file cancellati mesi addietro, a causa del modo in cui viene usato lo spazio su disco: lo spazio contrassegnato come «libero» sarà già stato sovrascritto. Quindi il modo migliore per difendersi da cancellazioni accidentali (o meno) dei vostri dati è sempre effettuare regolarmente dei backup.

[Nota]Nota

Non esistono (al momento attuale) strumenti per recuperare file cancellati su filesystem reiserfs. Tenete d'occhio il sito web di ReiserFS per essere aggiornati sulle ultime novità riguardo tale filesystem.

Un possibile strumento di recupero file è Recover, che utilizza una procedura interattiva. Potete trovarlo nel CD-ROM contribs o sul sito web Rpmfind. Una volta installato il suo pacchetto RPM, avviatelo con il comando recover e rispondete alle domande che vi porrà; con le vostre risposte potete limitare la ricerca di file e directory cancellati considerando solo quelli cancellati in un certo intervallo di tempo, in modo da ridurre la durata dell'operazione[19].

Una volta terminata la fase di ricerca, il programma vi chiederà dove volete salvare le directory e i file recuperati; indicate una directory a vostra scelta, e i vostri dati vi verranno copiati. Notate che non sarà possibile recuperare i nomi dei file, ma soltanto il loro contenuto; in seguito potrete esaminarli o cercare di rinominarli finché non avrete individuato quelli desiderati. Sempre meglio che nulla.

[Nota]Nota

Esistono anche dei mini-HOWTO che trattano proprio del recupero di file cancellati su ext2: Linux Ext2fs Undeletion (e la relativa traduzione italiana) e Ext2fs Undeletion of Directory Structures.



[19] Potete anche cercare tutti i file cancellati usando l'opzione -a, ma il tempo necessario sarà molto più lungo.