• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]bad magic number in super-block

Conax

Hacker
Ja heute ist wieder einer dieser Tage. Nachdem mein PC beim booten (im BIOS) mindestens 10 mal stehen geblieben ist wollte ich der sache auf den Grund gehen. Also erstmal alle Laufwerke etc. abgeklemmt folge ich konnte wieder ins BIOS (hab dann auch gleich mal Sicherheitshalber die default Werte geladen). Danach habe ich alle Laufwerke wieder angestöpselt und es stellte sich heraus das mein DVD-Laufwerk/Brenner das Problem ist (ist noch ein altes ide Gerät mit Flachbandkabel). Tja doch die Beseitigung eines Problems bescherte mir schnell ein neues denn beim booten erscheint nun folgende Fehlermeldung (ich denke das notgedrungene an und ausschalten bekam der Platte nicht gut).

Hier mal die Fehlermeldung:
Code:
fsck.ext4: Bad magic number in super-block while trying to open /dev/sda1
/dev/sda1:
The superblock could not be read or does not describe a correct ext2 filesystm. If the device is valid and it really contains an ext2 filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternative superblock:
e2fsck -b 8193 <device>

fsck failed. Mounting root device read-only.
Mounting root /dev/sda1
mount -o ro,acl,user_xattr -t ext4 /dev/sda1 /root
[ 1.826900] EXT4-fs (sda1): VFS: Can't find ext4 filesystem
mount: wrong fs type, bad option, bad superblock on /dev/sda1.
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

could not mount root filesystem --exiting to /bin/sh

Achja ich nutze opensuse 12.1 und mein home Verzeichnis ist verschlüsselt auf der zweiten Festplatte. Also ssd Platte als Systemplatte und das home verzeichnis ist auf einer normalen.
 

SUSEDJAlex

Advanced Hacker
starte den Rechner mit der Bootoption "init 3"
nach dem er fertig geladen ist, unmount alle partitionen und rufe dies auf

Code:
e2fsck -b 8193 <device>

LG SUSEDJAlex
 
OP
C

Conax

Hacker
Danke für die Antwort hätte da aber noch ein paar Fragen.

Bei mir zeigts in grub bootloader wenn ich F5 (Init Programm) drücke nur die Auswahl zwischen Default, Systemd, System V und Shell. Was davon ist jetzt init 3?

oder soll ich das einfach booten bis zur Fehlermeldung und dann init 3 eingeben (damit es den runlevel wechselt muss man glaube ich root sein)?

Beim unmounten reicht da "umount /dev/sda" (weil das müsste ja die komplette Platte sein) oder muss man die einzelnen Partionen also "umount /dev/sda1" etc. auch unmounten?

Danke
 

SUSEDJAlex

Advanced Hacker
bei Grub Bootloader ist unten eine Zeile und dort hängst du hinten ran

Code:
init 3

oder starte das im abgesicherten Modus ( das ist der zweite Eintrag von der Liste )

LG SUSEDJAlex
 
OP
C

Conax

Hacker
ah ok jetzt weiss ich was du meinst.

also ich hab jetzt mal e2fsck -b 8193 /dev/sda1 eingegeben und da kam die Rückmeldung "command not found".
 

SUSEDJAlex

Advanced Hacker
Ähm sorry mein fehler

also okay wenn du drin bist im "init 3"

Code:
umount /dev/sda
fsck.ext2 -p

Bitte das Ergebnis hier posten....

LG SUSEDJAlex
 
OP
C

Conax

Hacker
bei beiden kommt die Meldung command not found.

sicher das es unmount und nicht umount heist?

wenn ich umount /dev/sda eingebe kommt nämlich die Meldung "not mounted"
 

SUSEDJAlex

Advanced Hacker
habe es registriert und geändert.... -> richtig: umount /dev/sdaX ( X = deine Partition wo root liegt bzw. wo dessen Fehler ist....)
d.h. für dich: umount /dev/sda1

wirklich ist das not mounted - > / dev/sda -> geht echt nicht....

LG SUSEDJAlex
 
OP
C

Conax

Hacker
zumindest gibt er mir not mounted aus wenn ich "umount /dev/sda". Wenn der PC mir das so ausgibt dann muss ich davon ausgehen das es so ist.

Ich glaub das wird jetzt auf die schnelle eh nix mehr ist ja schon spät. Ich geh jetzt erstmal schlafen muss morgen früh raus.

Danke jedenfalls für deine Hilfe
 

josef-wien

Ultimate Guru
Versuche
Code:
fsck
oder
Code:
fsck.ext4
(da die Systempartition "fehlerhaft" und somit nicht eingehängt ist, können nur die in der initrd enthaltenen Programme verwendet werden).

Nach den bisherigen Beiträgen vermute ich das Problem woanders. Bist Du sicher, daß die Platten wieder an den ursprünglichen Anschlüssen stecken? Mit welcher Angabe ist die Systempartition im Bootloader eingetragen?

P. S. Mit dem Boot-Parameter init=xxx wird das Initialisierungsprogramm festgelegt. init allein ist falsch und wird vom Kernel glücklicherweise ignoriert. Um in einem bestimmten runlevel zu starten, ist nur dessen Ziffer einzugeben, aber soweit kommt es ohne brauchbare Systempartition gar nicht.
 

SUSEDJAlex

Advanced Hacker
@josef-wien:

erstens hat der TE GRUB installiert ( NICHT Grub2 !!! )
zweitens ist er ins Runlevel 3 gekommen.... ( nach dem er meine Tipp gefolgt ist )
drittens hat er ext2 drin.... ( sorry nach dem Schlaf liest es sich viel leichter, ja es ist ext4 )

( bitte lesen !!! )

so er wird sich heute im laufe des Tages melden....
Aber ich vermute dass seine Verwaltungsgeschichte im Eimer ist...( damit meine ich die Sache von Super-Block )

( Eine Bitte: Gucke mal in meine Signatur, dort bin ich im IRC zu finden und von dort habe ich die Infos... wenn du der Meinung bist ich bin nicht lernfähig, dann hast du dich gewaltig geirrt; tut mir leid für dich aber ich habe es schon notiert.... )

LG SUSEDJAlex
 

josef-wien

Ultimate Guru
Es hat zwar nichts mit dem Thema zu tun, aber ich möchte verhindern, daß Du andere Leser in die Irre führst.

SUSEDJAlex schrieb:
erstens hat der TE GRUB installiert ( NICHT Grub2 !!! )
Keiner der vielen Boot-Manager hat mit dem vorliegenden Problem etwas zu tun.

SUSEDJAlex schrieb:
zweitens ist er ins Runloevel 3 gekommen....
Ohne funktionierende Systempartition ist das nicht möglich:
Conax schrieb:
could not mount root filesystem --exiting to /bin/sh
SUSEDJAlex schrieb:
drittens hat er ext2 drin....
Das hat er nicht, das Programm ist nicht in der initrd enthalten:
SUSEDJAlex schrieb:
Conax schrieb:
kommt die Meldung command not found
Mit der Hoffnung auf Deine Lernfähigkeit beende ich diesen off topic-Ausflug.
 
OP
C

Conax

Hacker
@josef-wien

Ich habe jetzt nochmal die sata Kabel vertauscht und im bios das entsprechend eingestellt das er von der Systemplatte (ssd) booten soll (denn durch den Tausch der Kabel wurde das im bios notwendig da er sonst versucht von der home Platte zu booten). Jetzt läuft auch alles wieder so wie es soll sprich er bootet ohne Probleme.

Danke für den Tipp!!!

Was mir allerdings schleierhaft ist warum diese komische superblock Fehlermeldung erscheint wenn doch mit der Platte alles in Ordnung ist. Ich dachte immer das spielt keine Rolle an welchem SATA Port die Platte hängt - hauptsache der PC bootet von der richtigen. :???:
Das würde ja bedeuten ist dieser SATA Port mal defekt und ich müsste notgedrungen auf einen anderen umsteigen würde genau der selbe Effeckt mit dem superblock-Fehler wieder auftreten was nicht gerade postivie Aussichten für die Zukunft sind.
 
OP
C

Conax

Hacker
Code:
stefan@linux-5jh1:~> cat /proc/cmdline
root=/dev/sda1 resume=/dev/disk/by-id/ata-ADATA_SSD_S511_120GB_01C31160501400003015-part2 splash=silent quiet vga=0x31a
 

josef-wien

Ultimate Guru
Du verwendest teilweise den Gerätennamen, und das ist schlecht. Rein formal wird der Gerätenname bei jedem Systemstart neu festgelegt. Solange sich nichts ändert, wird er in der Praxis gleich bleiben, wenn Du aber die Reihenfolge der angeschlossenen Geräte änderst bzw. Geräte hinzufügst oder wegnimmst, sind geänderte Gerätenamen sehr wahrscheinlich. Im übrigen kann auch eine geänderte Modul-Reihenfolge in der initrd zu anderen Gerätenamen führen.

Der Gerätename ist zur eindeutigen Identifizierung nicht geeignet. Du solltest zumindest bei den Eintragungen im Boot-Menü (bei GRUB in der menu.lst) und in der fstab die Geräte-ID (/dev/disk/by-id/..., sie wird aus Anschlußart, Hersteller und Seriennummer gebildet), die UUID (/dev/disk/by-uuid/..., sie wird beim Formatieren vergeben) oder die Volume-Kennung (/dev/disk/by-label/..., dafür bist Du verantwortlich) verwenden. Bei der resume-Angabe, also der gegebenenfalls das Speicher-Abbild eines vorhergehenden suspend to disk enthaltenden SWAP-Partition, ist es schon der Fall.

Der Boot-Manager verwendet die vom BIOS vergebene BIOS-ID, die bei der Boot-Platte immer 0x80 ist (was bei GRUB meistens als (hd0) geschrieben wird). Beim Starten von Linux hast Du dem Kernel durch
Conax schrieb:
die zu verwendende Systempartition mitgeteilt, der Kernel hat jedoch für die SSD /dev/sdb und für die Festplatte /dev/sda festgelegt. /dev/sda1 war somit Dein Home-Laufwerk, das für fsck im verschlüsselten Zustand etwas nicht Identifizierbares ist, daher kam es zu der in Deinem ersten Beitrag enthaltenen Fehlermeldung.
 
Oben