LINUXMAKER, OpenSource, Tutorials

Der Superblock der Festplatte ist beschädigt

Ein Lösungsweg aus dem Dilemma heraus

Wer hat das nicht unter Linux schon gehabt, dass Superblocks zerschossen sind. Im Superblock sind Informationen über die Verwaltung des eingesetzten Dateisystems enthalten:

  • Größe des Dateisystems
  • Anzahl der freien Blöcke
  • Zeiger auf eine Liste der freien Blöcke
  • Zeiger auf den ersten freien Block in der Liste der freien Blöcke
  • Größe der Inode-Liste
  • Anzahl freier Inodes
  • Zeiger auf Liste der freien Inodes
  • Zeiger auf den nächsten freien Inode in der Liste der freien Inodes
  • Sperr-Felder für Liste der freien Blöcke / Inodes (zum Beispiel für defekte Blöcke)
  • Anzeigefeld, ob Superblock verändert wurde

Was aber, wenn Du Dich mit einer derartigen Syslog-Meldung konfrontiert siehst und nichts mehr geht?

mount: wrong fs type, bad option, bad superblock on /dev/nbd0p2, missing codepage or helper program, or other error

Meistens kann man dann nicht mehr auf das Dateisystem zu greifen. In meinem Fall war das ein Proxmox-Image einer VM, die sich dann nicht mehr starten ließ.

In meinem Fall habe ich zuerst mit dd eine Kopie des Images auf einer genügend großen anderen Partition erstellt. Das dauert je nach Größe unterschiedlich lang, ist aber notwendig, weil sich mit der Kopie immer besser und freier arbeiten lässt.
Das erste Tool ist

fdisk /dev/nbd0

Auf diese Art und Weise kann ich mir die Verteilung der Partitionen anzeigen lassen. Und mit

e2fsck -f /dev/nbd0p1

führe ich einen Filecheck durch. Mit

mke2fs -n /dev/nbd0p1

werden mir die Superblöcke angezeigt, die ich dann mit

e2fsck -f -y -b <Superblock> /dev/nbd0p1

reparieren lassen kann. Abschliessend lässt sich die Partition auf wieder mounten

mount /dev/nbd0p1 /mnt

und ich komme wieder an die verloren geglaubten Daten heran. Bei mir waren es wichtige Konfigurationsdateien, die ich bei der Neuinstallation der VM dringend gebraucht hatte, immerhin waren das eine Woche Arbeit.