Ext3-Laufwerk lässt sich nach einem Stromausfall nicht einschalten. Wie kann ich Dateien wiederherstellen?

14268
privatehuff

Nach einem Stromausfall, bei dem meine Linux-Box (Ubuntu 8.10) aus einem normalen Betriebszustand zweimal schnell ausgeschaltet wurde, habe ich ein Laufwerk, das nicht eingebunden werden kann.

UPDATE: Das Laufwerk wird manchmal gemountet, aber als völlig leer (nicht einmal Lost + Found) angezeigt und zeigt 14,9 GB frei (es handelt sich um ein 500-GB-Laufwerk). (oder war vielleicht überhaupt nicht wirklich montiert?)

Hier ist die Fehlermeldung, wenn ich versuche zu mounten:

~ $ sudo mount -a mount: falscher Fs-Typ, schlechte Option, fehlerhafter Superblock für / dev / sdd1, fehlende Codepage oder Hilfsprogramm oder anderer Fehler In einigen Fällen finden Sie nützliche Informationen in syslog - try dmesg | Schwanz oder so

Also vielleicht den Fs-Typ angeben?

~ $ sudo mount -t ext3 / dev / sdd1 / media / disk-7 mount: falscher Fs-Typ, schlechte Option, fehlerhafter Superblock für / dev / sdd1, fehlende Codepage oder Hilfsprogramm oder anderer Fehler In einigen Fällen finden Sie nützliche Informationen in syslog - try dmesg | Schwanz oder so

Nicht gleich. Also ist etwas durcheinander?

~ $ sudo fsck / dev / sdd1 fsck 1.41.3 (12. Oktober 2008) e2fsck 1.41.3 (12. Oktober 2008) / dev / sdd1: Journal wiederherstellen fsck.ext3: Keine solche Datei oder Verzeichnis beim Versuch, / dev / sdd1 erneut zu öffnen Warnung ... fsck.ext3 für Gerät / dev / sdd1 mit Signal 11 beendet.

Googeln für Signal 11 war nicht ermutigend, aber ich habe ein paar andere Möglichkeiten gefunden, um die Festplatte zu reparieren:

~ $ sudo e2fsck / dev / sdd1 e2fsck 1.41.3 (12. Oktober 2008) / dev / sdd1: Journal wiederherstellen e2fsck: Keine solche Datei oder Verzeichnis beim Versuch, / dev / sdd1 zu öffnen  Der Superblock konnte nicht gelesen werden oder beschreibt kein korrektes ext2 Dateisystem. Wenn das Gerät gültig ist und wirklich ein ext2 enthält Dateisystem (und nicht Swap oder ufs oder etwas anderes), dann der Superblock ist fehlerhaft und Sie können versuchen, e2fsck mit einem alternativen Superblock auszuführen: e2fsck -b 8193 [Gerät] 

Ich hoffe immer noch, dass dieser Fehler etwas mit dem Stromausfall zu tun hat. Ich gehe davon aus, dass der Superblock beschädigt ist oder so, und versuche es mit einem anderen: (Zuerst stelle ich fest, dass meine Blockgröße 32k beträgt, wobei makefs -n verwendet wird).

~ $ sudo e2fsck -b 32768 / dev / sdd1 e2fsck 1.41.3 (12. Oktober 2008) Das Ext3-Wiederherstellungskennzeichen ist eindeutig, das Journal enthält jedoch Daten. Das Wiederherstellungsflag ist nicht im Backup-Superblock gesetzt, daher wird das Journal trotzdem ausgeführt. / dev / sdd1: Journal wiederherstellen e2fsck: Das Journal muss bei der Wiederherstellung mindestens 1024 Blöcke aufweisen  ext3 Journal von / dev / sdd1

Per Avery Payne unten habe ich folgendes versucht:

sudo mount -t ext2 -o ro / dev / sdd1 / media / disk-7

Habe aber diese Fehlermeldung erhalten:

mount: falscher Fs-Typ, schlechte Option, fehlerhafter Superblock für / dev / sdd1, fehlende Codepage oder Hilfsprogramm oder anderer Fehler In einigen Fällen finden Sie nützliche Informationen in syslog - try dmesg | Schwanz oder so ~ $ dmesg | Schwanz [261157.639721] EXT2-fs: sdd1: konnte aufgrund nicht unterstützter optionaler Funktionen (4) nicht bereitgestellt werden.

Und da stecke ich fest. Ich habe jeden Backup-Superblock ausprobiert und das gleiche Ergebnis erhalten. Wenn es irgendetwas hilft, dauert der "Wiederherstellungsjournal" -Schritt eine lange Zeit, bis er fortfährt und mir sagt, dass es nicht funktioniert.

Ehrlich gesagt, es interessiert mich nicht viel, den Zustand der Festplatte Minuten vor dem Absturz wiederherzustellen, sondern nur die 400 GB anderen Daten, die darauf gespeichert sind, wiederherzustellen. Wenn jemand etwas anderes weiß, was ich ausprobieren kann, ext3-Datenwiederherstellungsprogramme oder -techniken usw., würde ich es sehr schätzen!

5

6 Antworten auf die Frage

3
Jim Dennis

Die Probleme, die Sie haben, klingen weitaus umfangreicher als das, was ich aufgrund eines reinen Leistungsverlusts (selbst bei ziemlich heftigen Schreibvorgängen) auf einem Gerät erwarten würde. Ich muss mich fragen, ob Sie wirklich mehr Probleme auf der Schnittstellen- / Treiberebene haben oder eine beschädigte Partitionstabelle oder ähnliches.

Aufgrund der Geräusche von Dingen haben Sie das Problem möglicherweise weiter verschärft, und Sie haben all das Schlagen herumgetragen, das Sie bei dem Versuch unternommen haben, das Problem zu beheben.

Ich weiß nicht, ob wir in diesem Fall helfen können, aber geben Sie noch nicht auf.

Für die Zukunft würde ich vorschlagen, dass Sie die folgende Technik lernen:

Wenn Sie Probleme mit einem Laufwerk unter Linux oder UNIX haben, können Sie normalerweise ddeine Bit-Image-Kopie des gesamten Geräts an einem anderen Ort erstellen. Suchen Sie ein Laufwerk, das mindestens so groß ist wie das betreffende Laufwerk, und versuchen Sie einen Befehl wie: dd if=$PROBLEMATIC of=$TARGET bs=4M... Seien Sie sehr vorsichtig bei den Anweisungen if (Eingabedatei) und (Ausgabedatei). Lass den Lauf. Es ist eine gute Idee tail -f /var/log/messages &(oder eine mögliche Variante für Ihre /etc/syslog.conf) auszuführen ... entweder im Hintergrund oder in einem anderen Fenster. Es gibt verbesserte Versionen, von dddenen Wiederholungen und das Durchlaufen von fehlerhaften Blöcken robuster verarbeitet werden können ( sddist ein Name, der mir in den Sinn kommt). Versuchen Sie es jedoch zuerst mit dem GNU- ddBefehl.

Sie können eine solche Kopie des gesamten Geräts (beispielsweise / dev / sdd) oder nur die Partition (/ dev / sdd1) erstellen. Wenn Sie kurze Lesefehler oder ähnliche Fehler erhalten, deutet dies darauf hin, dass entweder physische Fehler auf dem Gerät auftreten, die das Ablesen bestimmter Zylinder verhindern, oder dass bei einer Partition die Partitionstabelle auf irgendeine Weise beschädigt ist. Sie können sogar zwei verschiedene ddImages erstellen ... einer von jedem.

Hier ist der Trick: Führen Sie alle Ihre Versuche fsckund mountVersuche durch und verwenden Sie verschiedene andere Wiederherstellungswerkzeuge wie TCT (The Coroner's Toolkit) für das kopierte Bild!

Dies minimiert die Zeit, die das Laufwerk für das Laufwerk benötigt (was sich auf der Hardwareebene möglicherweise verschlechtert, wenn Sie es betreiben) und minimiert die Auswirkungen von fehlgeschlagenen und möglicherweise fehlgeleiteten Wiederherstellungsversuchen. (In einigen Situationen erstellen Sie ein Bild, dann ein anderes Bild und bearbeiten immer das Tertiärbild ... hängt davon ab, wie viel die Daten wert sind.)

Ich persönlich schlage vor, dass Sie etwas ausführen hexdumpoder stringsdas Bild lesen möchten. Lassen Sie es einfach lange durchlaufen und suchen Sie nach einfachem Text, der aussieht, als könnte es sich um Fragmente Ihrer Daten handeln. Ich habe verwendet grep, um nützliche (Text-) Daten aus ansonsten vollständig verstümmelten Dateisystemen wiederherzustellen. Für den Fall, dass ich es nicht als Heldentat zur Datenwiederherstellung vorschlage, sondern als Überprüfung der Vernunft. Wenn Sie zehn Megabytes oder ein paar Gigabytes an Daten durchblättern und keinen erkennbaren Text sehen ... haben Sie wahrscheinlich einen aussichtslosen Fall oder Sie haben etwas sehr Falsches gemacht (waren Sie wirklich vorsichtig mit diesen if = und of = Optionen?).

Ich weiß nicht, ob Ihnen das bei der derzeitigen Anstrengung helfen wird. Aber lernen Sie diese Tricks jetzt und sie machen Ihren nächsten Vorstoß in die Datenwiederherstellung auf jeden Fall weniger beängstigend. (Ja, üben Sie ein oder zwei Mal auf einem gesunden System - verwenden Sie einen Hex-Editor, und fügen Sie hier und dort Ihre eigene kreative Korruption hinzu - natürlich zum COPY! Dann versuchen Sie es zu beheben).

Oh, und dies ist ein wirklich guter Zeitpunkt, um Ihre Pläne zur Datensicherung und Datenwiederherstellung zu überprüfen (oder Ihren Kunden / Kollegen / Kunden / Freunden / was auch immer besser beraten zu können).

Die Verwendung von ddrescue ist in solchen Situationen besser, da fehlerhafte Sektoren protokolliert werden und nicht wie dd auf das Gesicht fallen. Nachfolgende Läufe können angewiesen werden, nur aus den fehlerhaften Sektoren zu lesen, was sie erheblich beschleunigt. eleven81 vor 15 Jahren 0
Dies ist eine großartige Antwort, danke! Ich hatte nicht genug Vertreter, um die Dinge abzustimmen, aber jetzt mache ich das, also habe ich DD einen schnellen Versuch gegeben, aber es konnte nicht von / sdd1 gelesen werden. Wenn ich mehr Zeit habe, gehe ich tiefer und bearbeite die Frage mit meinen Ergebnissen. privatehuff vor 15 Jahren 0
1
ThisTime

Backtrack ist eine Linux-Distribution, die mit einer Vielzahl von Tools für solche Dinge geliefert wird. Es ist jedoch auch direkt auf die obere Ebene der Power-User ausgerichtet. Ihre Website kann einige nützliche Tutorials für die Verwendung ihrer Tools enthalten, so dass Sie von Nutzen sein können.

1
ChrisInEdmonton

Ich habe nicht viel zu bieten, außer zu hoffen, dass Sie aus meinen Fehlern lernen. HALT! Machen Sie ein Duplikat der Festplatte. dd kann Ihnen dabei helfen, und es gibt zahlreiche Drive-Imaging-Anwendungen, die Ihnen eine schöne Benutzeroberfläche bieten. Ich habe den Fehler gemacht, in fsck zu graben, nach Backup-Superblocks usw. zu suchen, ohne die Festplatte vorher zu duplizieren. Ich habe absolut alles verloren. Anscheinend haben Sie bereits entschieden, auf Sicherungen zu verzichten. Es ist jedoch noch nicht zu spät, um eine Kopie des Laufwerks festzuhalten, bevor Sie es mit wohlgemeinten Wiederherstellungsversuchen weiter zerstören.

Ich stolperte über diesen Artikel über die Genesung unter ähnlichen Umständen. Sieht so aus, als könnten Sie mount anweisen, einen anderen Superblock zu verwenden. In Kombination mit -t ext3 kann dies eine kleine Hoffnung sein.

0
Rajat

Wenn Sie während des Bootens mit livecd booten können, verwenden Sie keinen Swap. Dann können Sie diesen bereitstellen /dev/sdaund alle Daten von dort kopieren, wenn Sie über eine USB-Festplatte oder über das Netzwerk verfügen. Dann können Sie das System neu formatieren und die Daten zurückholen.

Es ist nicht mein Startlaufwerk (ich bin gerade auf dem Computer), dies war ein anderes Datenlaufwerk, auf das ich mich vorstellte, als geschrieben wurde, als der Strom ausfiel. privatehuff vor 15 Jahren 0
0
Avery Payne

Wenn Sie LVM2 auf Ihrem Laufwerk verwenden, müssen Sie dies wahrscheinlich ausführen, bevor Sie versuchen, Ihr Volume zu reparieren. Versuchen Sie dies zuerst, um zu sehen, ob Volumes vorhanden sind.

sudo pvscan && sudo vgscan && sudo lvscan 

Alle Volumes, die Sie finden, sind das Gerät, das gemountet werden soll, und nicht eine direkte Referenz wie /dev/sdd1.

Wenn Sie LVM nicht auf dem Laufwerk verwenden, können Sie immer versuchen, das Laufwerk als Ext * 2 * anstelle von Ext * 3 * erneut zu laden, da es abwärtskompatibel ist. Während das Fenster für eine geringfügige Beschädigung des Dateisystems geöffnet wird (da das Journal nicht wiedergegeben wird), können Sie auf den Rest Ihrer Daten zugreifen, da Sie bereits angegeben haben, dass das Bereinigungsbit Ihres Dateisystems bereits gesetzt ist. Wenn Sie das Volume erneut bereitstellen, müssen Sie den Dateisystemtyp direkt angeben, dh:

sudo mount -t ext2 /dev/sdd1 /media/disk-7 && ls /media/disk-7 

Von dort können Sie Ihre Daten wiederherstellen. Wenn Sie nach dem Wiederherstellen Ihrer Daten nicht in der Lage sind, das vorhandene Ext3-Dateisystem wieder in einen einwandfreien Zustand zu bringen, würde ich das gesamte Dataset sichern, das Dateisystem neu formatieren und wiederherstellen. Natürlich ist dies nicht immer eine Option - aber zumindest bekommen Sie Ihre Daten zurück.

Nachverfolgen:

Ein schneller Google-Server zeigt ein Ergebnis an, das auf ein Kernel-Versionsproblem hinweist. Haben Sie Ihren Kernel aktualisiert oder ein benutzerdefiniertes Image erstellt? Nur neugierig.

Vielen Dank! Ich dachte, wir hätten einen Gewinner, ich bekomme eine Fehlermeldung und kann nicht als ext2 mounten. Ich habe die Info zu der Frage hinzugefügt privatehuff vor 15 Jahren 0
0
Grumbel

Sind Sie sicher, dass / dev / sdd1 wirklich das Laufwerk ist, nach dem Sie suchen, und nicht irgendein anderes Laufwerk? Die Gerätenamen hängen von der Reihenfolge ab, in der die Laufwerke angeschlossen sind, und können unterschiedlich sein. Dies kann beispielsweise der Fall sein, wenn Sie ein USB-Laufwerk zu einem späteren Zeitpunkt beim Booten anschließen. Stellen /dev/disk/by-id/Sie sicher, dass Sie die rechte Platte berühren.

Der nächste Schritt wäre dann herauszufinden, ob die gesamte Festplatte oder nur die Partition Toast ist, um diesen Start durchzuführen:

cfdisk /dev/sdd

Oder ein anderes Partitionierungswerkzeug Ihrer Wahl, um zu sehen, ob Partitionen noch am richtigen Ort sind und wie Sie es erwartet haben. Wenn die Partitionstabelle Toast ist, können Sie versuchen gpart, sie wiederherzustellen oder von Grund auf neu zu erstellen, wenn Sie sich an ihr Layout erinnern.

Ist die dmesgAusgabe etwas verdächtig? Auf den Festplatten erhalten Sie meistens eine Fülle von Fehlermeldungen.

Wie andere bereits erwähnt haben, kopieren Sie die Daten, bevor Sie versuchen, die Partitionstabelle zu ändern.