[linux-l] fsck

Tobias Schlottke toby at cpth.de
Mi Mär 5 14:26:55 CET 2003


On Wed, 5 Mar 2003, Jan-Benedict Glaw wrote:


> Der superblock wird IMHO auch geschrieben, wenn Du die platte r/o
??? Wat soll'n dat? Wer denkt sich denn so'n Mist aus!
Moooment... dann könnte man aber keine CD oder
schreibgeschützte Diskette mounten?

> mountest. Wenn Du dann z.B. UDMA forciert hast, das aber leider irgendwo
> fehlerhaft geschehen ist (z.B. wegen des etwas antiquierten Kernels,
> schlechtes Kabel, ...), dann hast Du Dir selbst bei diesem r/o-mount
> Schrott auf die Platte geschrieben.

Mmmmhh, ich hab den Rechner runtergefahren, in ein
anders Zimmer getragen und dann nach einer Woche wieder
eingeschaltet.
Den Superblock könnte ich mir natürlich durchaus
schonmal viel früher zersägt haben..... fällt ja nur
beim Mounten/fsck auf.


> *Wann* kommt das. Wie erfragst Du den "Status" der Platte?
> Die Fehlermeldung kann auch bedeuten, daß das Kommando in der Platte
> nicht implementiert ist.

So erfrage ich den Status:

hdparm -C /dev/hdd
Wenn die Platte an ist, kommt da auch active/idle raus.

Wenn ich die Platte ausschalte und den Status erfrage,
kommt der Fehler. Wenn ich lese kommt der reset und die
Platte fährt hoch. Danach kann ich wieder den Status
erfragen. Verhält sich aus meiner Sicht alles sehr
logisch und nachvollziehbar.

> Spricht also eher dafür, daß Du Dir schleichende Daten-Korruption
> eingefangen hast. Hast Du mal irgendwelche hdparm-Befehle mit der Platte
> ausprobiert, die ev. zu Schrott führen könnten (z.B. DMA anschalten,
> readahead setzen, APM-Settings geändert, am Platten-Cache 'rumgefummelt,
> rw-Cache angeschaltet, PIO geändert, XFer-Mode geändert, ...)? Das alles
> sind Kommandos, die hochgradig gefährlich sein können, je nach Kabel,
> Platte, Chipset, und Kernel.

Naja... der Rechner lief ne ganze Zeit. Ich dreh DMA
immer per Hand nach dem Booten an, hab mich vielleicht
mal vertippt. Eher unwahrscheinlich, aber möglich.

> Gut. Also sind vermutlich schlechte Daten auf die Platte geschrieben
> worden. Du solltest, bevor Du *irgenndetwas* mit dem Ding machst,
> zuerstmal ein komplettes Image von der gesamten Platte anfertigen. Wenn
> Du jetzt 'was falschmachst, dann machst Du sonst versehentlich nur noch
> mehr kaputt...

Hast ja recht, aber das Ding hat 40G...

> Auf so einer Platte liegen mehrere Superblocks. e2fsck hat Dir einen
> weiteren (8xxx) genannt. Wenn Du mit dumpe2fs auf der anderen Platte
> naschsiehst, dan bekommst Du da die Liste der dort vorhandenen
> Superblocks. Die kannst Du alle auch noch durchtesten. ..aber erst,
> nachdem Du ein Image der Platte angelegt hast!

Nach eingehdem Studiums von man dumpe2fs:
Das Tool sollte doch nie schreiben, oder?

Ich habe die folgendenen Tests mit der Knoppix CD
gemacht (in der Hoffnung auf aktuellere fs Tools).

Die Fehlermeldung von dumpe2fs sieht da ein Tick anders
aus:
Invalid Argument while trying to open /dev/hdd1
Couldn't find valid filesystem superblock.

Mmmmhhhh

Ich hab nochmal folgendes probiert (auch unter Knoppix)
dd if=/dev/hdd of=/dev/null bs=512 count=100
Wie bereits gesagt, geht.

aber:
dd if=/dev/hdd1 of=/dev/null bs=512 count=100

geht nicht. Kriege ich 0 Bytes read.

Ist das normal?
Scheint nicht so zu sein. Wie gesagt, ich habe eine
zweite gleiche Platte. Da kann ich auf /dev/hdc1
lesen.

Wenn ich auf /dev/hdd lesen kann und das geht, dann muß
ich doch auch auf /dev/hdd1 lesen können. Wo ist denn
da technisch der Unterschied? Find ich alles sehr
merkwürzig.

Gruß,
Toby





Mehr Informationen über die Mailingliste linux-l