Marko: Linux - Superblock in ext3 Filesystem reparieren

Hallo Forum,

eine etwas of-topic Frage. Ich hab mit yast eine ext3 Partition verkleinert. Hat auch funktioniert, aber leider hat Yast es offensichtlicht nicht für notwendig gehalten die neue Größe im Superblock des Filesystems einzutragen. Zumindest gibt mir e2fsk jetzt folgendes aus:

The filesystem size (according to the superblock) is 5990236 blocks
The physical size of the device is 5990229 blocks
Either the superblock or the partition table is likely to be corrupt!

Mit welchem Tool kann ich den Superblock manipulieren, Ich denke wenn da die richtige Größe steht sollte es wieder gehen.

Danke und Grüsse

Marko

  1. Hallo Marko,

    eine etwas of-topic Frage. Ich hab mit yast eine ext3 Partition verkleinert. Hat auch funktioniert, aber leider hat Yast es offensichtlicht nicht für notwendig gehalten die neue Größe im Superblock des Filesystems einzutragen. Zumindest gibt mir e2fsk jetzt folgendes aus:

    The filesystem size (according to the superblock) is 5990236 blocks
    The physical size of the device is 5990229 blocks
    Either the superblock or the partition table is likely to be corrupt!

    Mit welchem Tool kann ich den Superblock manipulieren, Ich denke wenn da die richtige Größe steht sollte es wieder gehen.

    Hmm, da scheint eine Berechnung daneben gegangen zu sein, da ist ne Differenz von 7 Blöcken (entspricht vmtl. 3,5 KiB, evtl. das doppelte oder vierfache), das ist so gut wie nichts und entspricht vor allem bestimmt keinem ganzen Zylinder, an dem die Partitionen ausgerichtet werden, d.h. es ist sehr unwahrscheinlich, dass in den 7 Blöcken irgend welche Daten enthalten sind. Allerdings: Da diese Berechnung daneben gegangen ist, könnte auch noch was anderes falsch sein, d.h. die einzig wirklich sichere Möglichkeit, dass keine Daten verloren gehen ist: 1) Dateisystem Readonly mounten, 2) Alles backupen, 3) Dateisystem neu anlegen, 4) Backup zurückspielen.

    Wenn Du ganz mutig sein willst, kannst Du versuchen, per resize2fs /dev/geraet (evtl. noch das -f Flag angeben) das Dateisystem an die physikalische Größe anzupassen. Allerdings empfehle ich das ausdrücklich _nicht_ (sofern das überhaupt klappt).

    Einfach nur im Superblock die Blockgröße zu ändern ist dagegen keine Lösung, da die Blockgröße nicht das einzige ist, woran die Größe der Partition dranhängt, d.h. selbst wenn Du mit einem Hexeditor Deine Festplatte bearbeitest und die Blockgröße (nach Kenntnis des Aussehens des Superblocks; ext3 ist ja dokumentiert) änderst, wird das vermutlich _nicht_ zu einem fuńktionierenden Dateisystem führen (könnte trotzdem, ist aber _sehr_ unwahrscheinlich).

    Daher: Sichere Lösung: Backup + Neu anlegen, Mutige Lösung: resize2fs, Keine Lösung: Hex-Editor und Superblock manuell bearbeiten.

    Viele Grüße,
    Christian

    --
    "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup
    1. Hallo Christian,

      ich hab das jetzt so gelöst, daß ich alles wieder Rückgängig gemacht habe. Jetzt werden zumindest keine Fehler beim Check mehr gemeldet, scheint also wieder zu passen. Wenn ich mutig bin probiere ich es demnächst nochmal und verkleinere das Filesystem dann per Hand, ohne Yast.

      Danke und Gruss

      Marko