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

Wie habe ich mein System wiederhergestellt? ;)

Dude85

Newbie
Hallo an alle.

Ich hatte ein Problem beim Starten von Linux (Es ließ sich nicht mehr starten; invalid inode number ...; später mehr), konnte es jedoch mittels eines USB-Sticks mit Linux wiederherstellen. Allerdings weiß ich nicht, was genau ich gemacht habe, ob ich dabei Fehler gemacht habe und mich jetzt nicht mehr auf ein funktionierendes, stabiles System verlassen kann, oder ob alles i.O. ist. Außerdem wäre noch gut zu wissen, wie ich das herausfinden kann.

Wie daran wahrscheinlich schon zu erkennen, ich bin blutiger Linuxanfänger, also bitte alles gaaaanz langsam. ;) (Mit einfachen, aber vollständigen Erklärungen kann ich wahrscheinlich auch was anfangen.)

System: Win7 / OpenSUSE 13.1 Dualbootsystem auf einem Dell-Laptop
Das OpenSUSE hat dabei 3 Partitionen: swap, root (ext4), home (ext2). Zusätzlich ist noch eine NTFS-Partition gemountet zum Datenaustausch zw. Win/Linux.
Ich nutze den KDE-Desktop.

Ablauf:
Ich hatte den Jdownloader2 installiert, mittels einer .sh-Datei und zwar in einen Ordner auf der home-Partition.
Laufende Programme: Jdownloader, pidgin, okular (mehrere pdfs), dolphin, zwei bash-Konsolen, Firefox (viele geöffnete Tabs), kmail + der "normale" KDE-Kram.
Ich wollte mit Ark dann ein Paket rar-Dateien öffnen bzw. entpacken, oder, daran kann ich mich nicht mehr 100 %-ig erinnern, ich habe einen youtube-film abgespielt.

Dabei ist der Rechner hängen geblieben und hat auf nichts mehr reagiert. Irgendwann hab ich dann den Powerknopf gedrückt, bis er aus war.

Beim Neustarten kam ich nicht mehr bis zum Anmeldescreen, stattdessen lief nur eine Konsole mit Fehlermeldungen. Da ich leider Linuxanfänger bin, weiß ich nicht wie ich das protokollieren kann bzw. ob es Logs für sowas gibt. Eine der Fehlermeldungen war:
invalid inode number for '.' in directory inode 2621730
Außerdem war noch zu entnehmen, dass es sich um die Partition /dev/sda8, meine home-Partition, wie ich später herausfinden konnte, handelt.
Darunter lief eine %-Anzeige hoch, brach jedoch jedesmal bei unterschiedlichen Zahlen ab und danach erschien diesselbe Fehlermeldung.
Jedesmal insgesamt ein 4- oder 5-Zeiler mit der oben erwähnten Fehlermeldung. Dabei auch jedes Mal diesselbe Inodenummer.

Lösung:
Mit einem Live-System auf einem USB-Stick und dort verwendetem fsck-Befehl konnte ich das Dateisystem wiederherstellen indem ich bei jeder mit gestellten Frage mit y antwortete.
Jetzt lässt sich das System wieder starten und ich erkenne zunächst keinen Unterschied zu vorher.

Meine Fragen:
Was bedeuteten die Fehlermeldung? Was sind Inode numbers? Wieso konnte er das nicht korrigieren? Meiner Erinnerung nach stand bei der Prozentanzeige auch etwas von fsck dabei. Was ist da vorher kaputt gegangen?
Was hab ich bei der Reparatur eigentlich gemacht? Was ist fsck für ein Programm? Ich habe jede Frage beim Durchlauf des fsck-Programms mit ja beantwortet. Kann ich mir dadurch mein System auch zerstören? Ist es jetzt möglicherweise fehlerhaft? Fehlen jetzt möglicherweise Dateien? Schließlich habe ich auch Fragen nach dem Verschieben von Dateien nach /home/lost+found/ mit ja beantwortet. Allerdings liegen dort nur kleine Dateien bzw. Ordner. Wie kann ich das herausfinden (Testprogramme, Logfiles, ..)
Oft fragte mich fsck ob ich eine inode nummer "umändern" möchte in eine andere, meist eine direkt benachbarte (bspw. von 2621730 auf 2621731). Wie gesagt, hab ich alle Fragen ("Fix it?") mit "y" beantwortet. Was ändere ich dabei, wenn ich diese Nummern ändere/von fsck ändern lasse?

Ich weiß, das sind viele Fragen und ich hoffe, dass es nicht unangebracht ist, danach zu fragen, da mein System ja wieder läuft bzw. dass dies das richtige Forum dafür ist.
Einerseits freue ich mich, dass ich das Linux wieder zum Laufen kriegen konnte, andererseits weiß ich nicht wirklich, was ich da gemacht habe.
Vielleicht könnt ihr mich ja aufklären.

Dude
 
A

Anonymous

Gast
Das war ein Filesystemfehler, der durch das ausschalten zurückzuführen ist. Inode sind Filesysteminterne Verwaltungseinheiten für Dateien.

fsck war da genau das richtige, wenn der Rechner jetzt wieder bootet, ist alles soweit ok.
fsck ist der Dateisystemcheck der das Dateisystem prüft und repariert. Normalerweise läuft dieser nach einem Absturz automatisch ab, allerdings wenn solche "schweren oder nicht ganz eindeutigen" Fehler im Dateisystem vorhanden sind die fsck nicht ohne Bestätigung des Users reparieren will/kann/darf, dann passiert genau das, und fsck kann beim booten nicht automatisch und selbständig reparieren. Man muss fsck per Hand starten, und alle Fragen mit Y beantworten, (eine andere Chance als "Ja" hat ein Laie hier sowieso nicht, aber fsck macht hier von sich aus schon die richtigen Vorschläge, da kann man sich schon drauf verlassen, das das dann so auch vernünftig repariert wird)

Allerdings solltest du prüfen ob die letzten Dateien die du kurz vor dem hängenbleiben bearbeitet oder geschrieben hast, jetzt vorhanden sind, oder ob du sie noch einmal schreiben musst, weil sie nicht mehr geschrieben werden konnten, oder nicht 100% richtig geschrieben waren und dadurch beim Filesystemcheck gelöscht wurden.

robi
 

josef-wien

Ultimate Guru
Dude85 schrieb:
Warum verwendest Du ein Dateisystem ohne Journal? Das Journal ist zwar kein Allheilmittel, die Wahrscheinlichkeit ist aber sehr groß, daß beim Hochfahren nach dem Absturz das Dateisystem automatisch wieder konsistent gemacht worden wäre.

Ich empfehle, als root das Dateisystem mit
Code:
tune2fs -j /dev/sda8
umzustellen, in der Datei /etc/fstab bei der Home-Partition ext2 durch ext3 zu ersetzen, und neu zu starten.

Dude85 schrieb:
Schließlich habe ich auch Fragen nach dem Verschieben von Dateien nach /home/lost+found/ mit ja beantwortet. Allerdings liegen dort nur kleine Dateien bzw. Ordner.
Schau Dir die Dateien an, wenn Du mit ihrem Inhalt etwas anfängst, dann verschiebe sie und benenne sie um, andernfalls kannst Du sie löschen. Hier handelt es sich um jene Dateien oder Fragmente, die nicht zugeordnet werden konnten.

Bei einem "Stillstand" kannst Du folgende Möglichkeiten versuchen:
* Mit Strg-Alt-F1 vom grafischen System auf eine Textkonsole wechseln und dort mit Strg-Alt-Entf (oder nach Anmeldung als root mit init 6) das System neu starten.
* Im grafischen System mit zweimaligem Strg-Alt-backspace selbiges beenden.
* Magic SysRq (bei 13.1 sind durch /usr/lib/sysctl.d/50-default.conf S, U und B erlaubt).
 
OP
D

Dude85

Newbie
Danke an euch für die Antworten, sollte den Nebel des bisher Unverständigen etwas lüften. :)

Bis jetzt läuft openSUSE stabil, es scheint sich also nicht um wichtige Dateien gehandelt zu haben. Die Dateien, von denen ich ausgehe, dass sie gerade geschrieben wurden, funktionieren auch.

@josef-wien: Ich nutze ext2 für die home-Partition, da ich vor der Installation gelesen hatte, dass es für Windows nur für ext2 einen verlässlichen Schreib- und Lesezugriff gibt. Ich hatte vor ggbf. auf die home-Partition von Windows aus zuzugreifen.
Mittlerweile habe ich aber auch, zumindest für ubuntu, gelesen, dass auch bis ext4 verlässlicher Zugriff möglich ist. Wie ist es denn nun? Wenn es möglich ist, würde ich auch umsteigen.
 

josef-wien

Ultimate Guru
Dude85 schrieb:
dass es für Windows nur für ext2 einen verlässlichen Schreib- und Lesezugriff gibt
Das Dateisystem kann (und sollte) trotzdem Ext3 sein, mit dem Treiber für Windows wird es dort dann ohne Journal (also als Ext2) verwendet.

Dude85 schrieb:
dass auch bis ext4 verlässlicher Zugriff möglich ist
http://forum.linux-club.de/viewtopic.php?f=94&t=119047
 
Oben