Hallo, Am Die, 13 Jun 2006, ralf.prengel@comline.de schrieb:
Du koenntest als erstes mal folgendes machen:
dd if=/dev/md1 skip=128 count=1 | strings
linuxnfs:/tmp # dd if=/dev/md1 skip=128 count=1 | strings 1+0 records in 1+0 records out 512 bytes (512 B) copied, 0.000186 seconds, 2.8 MB/s linuxnfs:/tmp #
Ok. Gut, da ist schonmal kein Reisswolffs *g*
Wenn ja solltest du dann auf jeden Fall mal 'e2fsck -v -C 0 /dev/md1' aufrufen und erzaehle dann, wie das e2fsck lief, d.h. welche _Art_ Fehler gemeldet wurden.
linuxnfs:/tmp # e2fsck -v -C 0 /dev/md1 e2fsck 1.38 (30-Jun-2005) Group descriptors look bad... trying backup blocks... e2fsck: Bad magic number in super-block while trying to open /dev/md1 [..] linuxnfs:/tmp # e2fsck -b 8193 /dev/md1 e2fsck 1.38 (30-Jun-2005) e2fsck: Bad magic number in super-block while trying to open /dev/md1
Hm. Das ist eigenartig, die Magic-Number in der Ausgabe von 'tune2fs -l' stimmt naemlich... Hm. "sparse_super". Du koenntest nach weiteren SBs suchen: $ for i in `seq 1 10`; do echo "2^13*$i+1"; done | bc | xargs 8193 16385 24577 32769 40961 49153 57345 65537 73729 81921 Diese jeweils bei '-b' angeben und ggfs. weitere errechnen. Ah, halt, nimm 'tune2fs -l' zur Hilfe wo es SBs findet: LANG=C strace -e lseek tune2fs -l /dev/md1 >/dev/null Das gibt mehrere Zeilen wie lseek(3, 1024, SEEK_SET) = 1024 lseek(3, 4096, SEEK_SET) = 4096 lseek(3, 8192, SEEK_SET) = 8192 [..] lseek(3, 32768, SEEK_SET) = 32768 aus. Die letzte sollte dann als Argument fuer das '-b' beim e2fsck passen bzw. diese Zahl + 1. oben also waere z.B. e2fsck -v -C 0 -b 32769 /dev/md1 (bei mir ist's natuerlich ein anderes device). HTH, -dnh PS: ich habe mir zuerst die Ausgabe vom strace ohne den Filter '-e lseek' angeschaut... -- In /etc steht, was Du denkst. In /proc steht, was das OS denkt. [Thomas Blum in doc] -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com