Die lange Nacht der Datenrettung — Daten von Festplatten retten mit Ddrescue

Ist die Oberfläche der Magnetplatten einer Festplatte erst einmal beschädigt, kann sich der Schaden theoretisch mit jeder Umdrehung weiterfressen. Mit fortschreitendem Betrieb sind dann größere Datenverluste möglich. Bleibt der Schaden unbemerkt, etwa weil die SMART-Technologie noch gar nicht unterstützt wurde (bei alten Geräten) oder weil die Festplatte als externe Festplatte in Betrieb war, können unter sich häufenden Zugriffsfehlern immer mehr Daten verloren gehen, bis sich das Betriebssystem weigert, überhaupt noch von der Festplatte zu lesen.

Folgen können das Verfallen der Partition sein. Diese lässt sich mit Werkzeugen wie Testdisk (hier gehört schon Glück dazu) zwar wiederherstellen, aufgrund des physikalischen Defekts sind weitere Verluste aber fast nie auszuschließend. Anzeichen für einen Verfall können das Verlangen des Betriebssystems sein, das Dateisystem zu korrigieren (etwa mit Checkdisk unter Windows; Scandisk unter Windows-Versionen der 9x-Linie und den DOS-basierten Vorgängern).

Zwei geöffnete PCs mit provisorsch angeschlossenen Festplatten zwecks Datenrettung.
Da die Datenrettung sehr lange dauern kann und zur Weihnachtszeit Kapazitäten für solch ein langwieriges Projekt bestanden, liefen hier sogar zwei Rechner, um verloren geglaubte Daten wieder zu bekommen. Links: Rettung einer vor 10 Jahren ausgefallenen Festplatte mit 500 MiB, rechts: mehrtägige Rettung einer 2-TiB-Festplatte mit Downloads und Mediendateien.

Eine völlig andere Art des Defekts kann eine Störung in der Festplattenelektronik sein. Die Elektronik befindet sich auf der Platine unterhalb des Festplattengehäuses (manchmal ist diese abgedeckt und somit nicht sichtbar). Eine Störung an dieser Stelle kann zu solch charakteristischen Phänomenen wie Klappern und Klopfen führen: häufig kann der Aktuator, also die Einheit, die die Schreib-Leseköpfe über den Magnetplatten positioniert, Befehle nicht mehr präzise umsetzen und springt zwischen Spindel und äußerem Rand oder sogar der Parkposition hin und her.

weiterlesen

Speicherabbilder (Memory Dumps) mit den Debugging-Tools for Windows auswerten und Fehlerquellen ermitteln

Wenn Windows bei einem Absturz einen sogenannten Bluescreen anzeigt, sind die dort angezeigten Informationen nicht immer aufschlussreich genug, um auf die Fehlerquelle schließen zu können. Nachdem der Windows-Kernel einen dieser besagten Bluescreens ausgegeben hat, beginnt er aber mit einer Aufgabe, die ein wichtiger Schlüssel zur Problemermittlung darstellt.

Was ist ein Speicherabbild?

Ein Speicherabbild kann ein Abbild eines kompletten Speichers, eines Bereiches des Speichers sein oder einen Prozess so abbilden, wie er im Speicher zum Zeitpunkt des Anlegens vorhanden war. Ein Abbild eines Prozesses kann, wurde es etwa vor dessen Absturz aufgenommen, Aufschlüsse über die Fehlerursache geben. Um diese Speicherabbilder auswerten zu können, benötigen Sie aber noch ein geeignetes Programm. Mit „Debugging Tools for Windows“ stellt Microsoft ein an Windows angepasstes Programm bereit.

Debugging Tools für Windows vorbereiten

Um ein Speicherabbild auszuwerten, das Windows etwa nach einem Modulabsturz angelegt hat, müssen Sie tief ins System eingreifen – das geht nur mit Administratorrechten. Starten Sie „WinDbg“ deshalb immer als Administrator.

137-1

Zum Auswerten benötigt das Programm sogenannte “Symboldateien”. Um statt riesiger Pakete nur die benötigten Dateien herunterzuladen, gehen Sie wie folgt vor:

Erstellen Sie einen neuen Ordner auf einem Laufwerk, auf dem mindestens 2 Gigabytes Speicher frei sind. Im Beispiel ist dieser Ordner

C:\Ablage\DebuggingTools\symbols.

Klicken Sie auf “File” und “Symbol File Path”

Geben Sie im dort erscheinenden Fenster Folgendes ein:

SRV*C:\Ablage\DebuggingTools\symbols*http://msdl.microsoft.com/download/symbols

Wenn das Programm ab jetzt Symboldateien benötigt, werden diese von der HTTP-Adresse heruntergeladen und im zuvor erstellten Ordner abgelegt. Sollten Sie die Debugging Tools nicht mehr benötigen, können Sie den Ordner löschen.

Speicherabbilder auswerten

Wenn Sie ein Speicherabbild auswerten wollen, das Windows nach einem Absturz erzeugt hat, klicken Sie auf „File“, „Open Crash Dump…“…

137-2

und wählen Sie die Datei. Im Feld „Dateiname“ zeigt das Programm schon den Name „MEMORY“ an. Navigieren Sie zum Windows-Verzeichnis, welches Sie standardmäßig unter C:\Windows finden. Klicken Sie auf „Öffnen“, um das Speicherabbild zu laden.

137-3

Das letzte Speicherabbild heißt immer MEMORY.dmp, den Dateiname und den Speicherort können Sie in den erweiterten Systemeigenschaften anpassen, falls erwünscht. Ältere Speicherabbilder können Sie recht leicht an ihrem Dateiname zuordnen, der in der Form jjjjmmtt.dmp vergeben wird.

WinDbg gibt jetzt einen Hinweis, wie Sie mit der Analyse beginnen können. Geben Sie unten im Programmfenster

!analyze -v

ein. Das Ausrufezeichen (!) leitet einen Befehl ein, der Parameter -v steht für „verbose“, also „ausführlich“. Statt den Befehl einzugeben, können Sie ihn auch anklicken, wenn er blau und unterstrichen im Text angezeigt wird.

137-4

In der ausführlichen Ausgabe sollten sich spätestens jetzt Hinweise auf das Modul finden, das den Absturz verursacht hat. Im Beispiel war das dxgkrnl, der Kernel von DirectX. Es könnte also ein Problem mit dem Sound- oder Grafiktreiber oder einer DirectX-Komponente bestehen.

137-5

Wenn ein Modulname angezeigt wird, können Sie darauf klicken, um weitere Informationen dazu anzuzeigen. In diesem Fall wird der Dateiname mit Pfadangabe aufgelistet (blau markiert):

137-6

Falls Sie mehr über eine Datei wissen möchten, können Sie sich ihre Eigenschaften ansehen, indem sie diese in ihrem Verzeichnis suchen und aufrufen.

137-7

Problematische Module oder Treiber ersetzen

Im Beispielfall gibt es keine Lösung, da hier eine Komponente ein Problem verursacht hat, die ein fester, unveränderlicher Bestandteil des Betriebssystems ist. Tatsächlich treten Probleme, in denen Treiber das Betriebssystem abstürzten lassen, infolge der verstärkten Zusammenarbeit der Entwickler zunehmend seltener auf. Sehr häufig werden die Probleme dann durch die Treiber von Drittherstellern verursacht, zum Beispiel sorgen veraltete Treiber für den Chipsatz oder Grafikkarten bei hoher Belastung gelegentlich für Probleme. Durch die oben beschriebene Vorgehensweise können Sie die problematischen Module aufspüren und das Problem, sofern der Hersteller einen aktualisierten Treiber bereitstellt, etwa damit beheben.

CPU-Auslastung mit Sysinternals Process Explorer überwachen

Wenn die CPU Ihres Computers häufiger stark ausgelastet ist, Sie den verantwortlichen Prozess mit dem Task-Manager aber nicht sehen können, ist möglicherweise ein Hardwareproblem die Ursache.

Übersicht: Wichtige Prozesse und Pseudoprozesse

Bei der Auswertung mit Process Explorer gibt es drei Dinge, die Sie wissen sollten:

  • Die Auslastung durch den sogenannten Leerlaufprozess steigt immer dann, wenn kein anderer echter Prozess Rechenleistung der CPU benötigt. Der Leerlaufprozess läuft mit der niedrigsten Priorität und verhindert, vereinfacht erklärt, dass die CPU zum Stillstand kommt. Die im Task-Manager beim Leerlaufprozess angezeigte CPU-Auslastung ist ungenutzte Rechenleistung.
  • Interrupts sind Unterbrechungen in der Abarbeitung von Programmcode, die genutzt werden, um Eingaben durch Geräte verarbeiten zu können. Während eines Interrupts kümmert sich die CPU nur um Daten, die von Eingabegeräten wie etwa Tastaturen gesendet werden, um diese unabhängig von der durch Programme verursachten CPU-Auslastung schnell abarbeiten zu können. Defekte Geräte könenn verursachen, dass die Auslastung durch Interrupts ungewöhnlich hoch steigt.
  • Deferred Procedure Calls kommen nur in Windows-Betriebssystemen vor und sind Interrupts, die mit niedriger Priorität abgearbeitet werden. An einer hohen Auslastung durch DPCs können defekte Geräte, falsche Treiber oder mehrfach verwendete IRQs (Interrupt Requests, Untrebrechungsanfragen) schuld sein.

Process Explorer im Allgemeinen:

Grün aufleuchtende Prozesse werden gerade gestartet, rot aufleuchtende beendet. Hellrot hinterlegte Prozesse sind Hostprozesse anderer Prozesse (in der grafischen Darstellung als untergeordnet gekennzeichnet) oder Hostprozesse von Diensten. Blau hinterlegte Prozesse sind solche, die auf der Benutzerebene (nicht Systemebene) ausgeführt werden und die der Benutzer ohne Einschränkungen am Betrieb des Hintergrundsystems beenden kann.

Bevor Sie mit der Fehlersuche fortfahren, stellen Sie sicher, dass verwendete Hardware mit dem Betriebssystem kompatibel ist und die aktuellsten beim Hersteller erhältlichen Treiber installiert sind. Process Explorer können Sie hier bei Sysinternals herunterladen.

138-1

Vorgehen bei hoher CPU-Auslastung durch Hardware-Interrupts (IRQs)

Wie oben erwähnt, können daran falsche oder inkompatible Treiber oder mehrfach belegte IRQs schuld sein. In den BIOSen moderner Computer können Sie Geräten Interrupts zuordnen oder – und das ist die Empfehlung – Interrupts automatisch zuteilen lassen. Sollten Sie im BIOS keine Einstellung finden, die dem entsprechen könnte, suchen Sie nach „Plug and Play OS“ und stellen Sie diesen Wert auf „Yes“.

138-2