PDA

Visualizza la versione completa : Error 16: Inconsystent file system structure


mykol
17-11-2007, 00:04
Ciao, sul mio vecchio laptop ho installate knoppix 5.1 e puppylinux.

A volte (senza un motivo apparente) oppure (sempre a volte) dopo un arresto non corretto, al riavvio, scegliendo da grub di avviare knoppix (/dev/hda2) dopo circa 1 minuto, appare il seguente messaggio:

Error 16: Inconsisten filesystem structure

e premendo un taso ricompare grub.

Se, a questo punto, avvio PuppyLinux, monto /dev/hda2 (ci impiega circa 2 minuti !), rinomino la directory /boot/grub in (ad esempio) /boot/grub.bak e poi la ri-rinomino in /boot/grub, riavvio, knoppix si avvia e funziona normalmente senza errori.

Cioè basta ri-rinominare o copiare con altro nome e ricopiare come /boot/grub la dir di grub e tutto funziona.

Escludendo l'intervento di fantasmi, cosa ne pensate ?

E' da tempo che sta cosa va avanti ...

ntd
17-11-2007, 10:57
Innanzitutto, onore al merito: per trovare il workaround che hai descritto devi averci lavorato parecchio. Questo è lo spirito giusto per diventare un hacker: hai la mia stima!

Questo quanto farei io:

Tutto da PuppyLinux:

Controllerei che grub sia legacy (la versione vecchia e stabile), ossia 0.97 o precedente:


grub --version


Dopo il "mount /dev/hda2", controllerei i messaggi del kernel:


dmesg


e verificherei se effettivamente il filesystem Knoppix è corrotto, come suggerito dalla documentazione grub:
http://www.gnu.org/software/grub/manual/grub.html#Stage2-errors (errore 16)

Comincerei un controllo approfondito della partizione /dev/hda2. Gli strumenti da usare dipendono dal tipo di filesystem (e2fck per ext2/ext3, reiserfsck per reiser ecc...). Leggere la documentazione e provare sono i metodi da adottare.

Se il filesystem hda2 è ext2, valuterei seriamente l'aggiornamento ad un filesystem con il journalling, tipo ext3 o meglio reiserfs.

mykol
17-11-2007, 11:45
grazie dei suggerimenti, ma non penso che il FS sia corrotto perchè ri-rinominando (oppure copiando ad esempio "grub" come "grub.bak", cancellando "grub" e rinominando "grub.bak" come "grub" tutto torna a funzionare perfettamente fino al prossimo spegnimento scorretto (od alla prossima volta che gli salta in testa).

Non credo nemmeno che sia un problema di disco perchè è da molto tempo che lo fa ed a quest'ora dovrebbe aver dato altri problemi.

Ho anche provato a copiare la dir "grub" come "grub.bak", cancellare "grub", quasi riempire la partizione copiandovi vari filmati, ricopiare "grub".bak come "grub", ma nulla, al prossimo spegnimento non corretto riecco il problema.

Tutto questo ipotizzando che la dir "grub" si trovi in una area del disco con qualche problema.
Neppure un fsck rileva anomalie.
Non resta altro che pensare ai fantasmi !

"16 : Inconsistent filesystem structure
This error is returned by the filesystem code to denote an internal error caused by the sanity checks of the filesystem structure on disk not matching what it expects. This is usually caused by a corrupt filesystem or bugs in the code handling it in GRUB. "

Proverò a vedere la versione di grub ...

ntd
17-11-2007, 12:26
Opzione 1: hardware
Opzione 2: software
Opzione 3: fantasmi

Non fare mai supposizioni su dove il filesystem ti metterà i files: stiamo parlando di ext2/ext3/reiser, non di pietosa fat (spero). Inoltre, il file "grub" non viene usato nel boot se lo hai istallato correttamente: vengono usati i file di stage. Quindi puoi fare quello che vuoi al file "grub", anche eliminarlo, e il sistema eseguirà il boot ugualmente.

Se vuoi controllare realmente se la tua partizione ha problemi fisici, esegui questo (vale per tutti i devices):


dmesg -c
md5sum /dev/hda2
dmesg


Se ti da un qualsiasi errore hai trovato il problema e va trattato di conseguenza. Se non da errore, la tua partizione non ha problemi hardware: eliminato opzione 1.

Se usi ext2 per Knoppix, aggiornalo a ext3 o sostituiscilo con reiserfs: il journalling è importante, specialmente se succede spesso che il sistema venga spento in stato inconsistente. Se il problema persiste, eliminato (parzialmente) opzione 2.

ecc...

andy caps
17-11-2007, 18:40
:bhò: lo fa a molti comunque questo giochetto

la cosa piu semplice senza fare grosse manovre è reinstallare grub

grub-install /dev/hda ad esempio


il problema è proprio che grub ha le informazioni sui filesystem che risiedono normalmente nell' mbr e con il riavvio forzato a volte è come se perdesse queste informazioni

ntd
17-11-2007, 19:12
Ho scavato un pò su internet ed effettivamente il problema esiste (ed ognuno si fa le proprie ipotesi). La teoria ufficiale:
https://savannah.gnu.org/bugs/?17957

ipotizza che la sorgente del problema sia l'uso dell'opzione 'savedefault' in menu.lst, giustificando (secondo me a ragione) che questa opzione effettua un accesso alla struttura del filesystem richiedendo che sia clean.

Soluzione: eliminare l'opzione savedefault da menu.lst

francofait
17-11-2007, 19:28
La soluzione reale come per tutti i SO evitare a priori arresti non corretti del SO , con ext2 è già una fortuna poi riuscire in qualche modo a ripartire.

ntd
17-11-2007, 19:48
Originariamente inviato da francofait
La soluzione reale come per tutti i SO evitare a priori arresti non corretti del SO , con ext2 è già una fortuna poi riuscire in qualche modo a ripartire.

Vero, ma se l'ENEL mi toglie la corrente devo poter riavviare senza bisogno di una distro live su CD.

mykol
17-11-2007, 21:24
@ntd è vero, compare anche qualcosa relativamente a "savedefualt"

Ottima notizia, provo a commentare quell'opzione

mykol
18-11-2007, 00:40
ho commentato "savedefault" e poi l'ho fermato staccando la corrente.
E' ripartito lentamente (grub ha impiegato 30 secondi a visualizzare il menù, poi ha fatto il check della partizione com'è giusto) e poi è ripartito senza problemi.

Ho ripetuto la manovra per alcune volte, sempre con lo stesso risultato.

Ma a cosa serve sto "savedefault" ?

Grazie del suggerimento.

Loading