NAME

myrescue - Festplattenrettungstool

SYNOPSIS

myrescue [-b block-size] [-B bitmap-file] [-A] [-S] [-r retry-count] [-f skip-failed] [-s start-block] [-e end-block] [-R] [-G good-range] [-F [-T] failed-range] [-J jump-after-blocks] [-U usb-device-file] input-file output-file

BESCHREIBUNG

myrescue ist kleines Tool, um von beschaedigten Festplatten die noch lesbaren Daten zu sichern. Es hat eine aehnliche Funktion wie dd_rescue, jedoch kann es in mehreren Durchlaeufen aufgerufen werden und versucht zuerst, die unversehrten Daten zu retten.
Das Programm versucht, das Medium Block fuer Block in eine Datei auf einer anderen(!) Festplatte zu kopieren, wobei eine Tabelle erstellt ("Blockbitmap") wird, in der die erfolgreich gelesenen bzw. fehlerhaften Bloecke festgehalten werden. Diese Blockbitmap kann dann fuer weitere Aufrufe wiederverwendet werden, so dass nur die bisher nicht kopierten Bloecke gelesen werden.
Zudem besitzt MyRescue einen speziellen Modus, um Lesefehler zu behandeln: Normalerweise sind bei einem Festplattenschaden viele Bloecke betroffen und damit defekt bzw. zerstoert. Versuchte man nun, diese Bloecke weiterhin zu lesen, so leidet die Plattenoberflaeche, die Lesekoepfe und auch die Mechanik darunter. Die Chancen fuer die Rettung der restlichen unbeschaedigten Bereiche sinken dramatisch.
Im Skip-Modus versucht MyRescue, so schnell wie moeglich aus dem defekten Bereich herauszukommen. Die uebersprungenen Bloecke werden in der Blockbitmap markiert. Hat man nun die noch lesbaren Daten gesichert, kann man dann weitere Leseversuche starten.
Weiterhin kann MyRescue zufaellig Bloecke ausprobieren. Damit erhaelt man einen ersten Ueberblick ueber Ausmass und Struktur der Schaeden. Bei regelmaessigen Schaeden (z.B. Ausfall eines ganzen Lesekopfs) kann man so die physikalische Struktur der Platte herausfinden und die beschaedigten Bereiche beim ersten Durchlauf umgehen.
Um die Festplatte weiter zu schonen, kann das Programm aufgefordert werden, die Umgebung bereits bekannter Defekte zu meiden oder zunaechst nur in der Naehe intakter Bereiche zu arbeiten.
Abschliessend besitzt das Programm eine Option, um mehrfache Leseversuche auf defekte Bloecke zu starten, bevor sie als zerstoert eingetragen werden.

HINWEIS

DIESES TOOL IST KEIN (!) ERSATZ FUER PROFESSIONELLE DATENRETTUNG DURCH DARAUF SPEZIALISIERTE FIRMEN.
Haben Sie also die Moeglichkeit, eine solche Firma kostenguenstig (da solche Dienstleistungen sehr kostspielig sind) zu engagieren, dann sollten sie nicht einmal daran denken, MyRescue einzusetzen, da es zur weiteren Beschaedigung der Festplatte fuehren kann. MyRescue ist nur fuer ganz Verzweifelte, die sich eine professionelle Datenrettung auf keinen Fall leisten koennen und fuer diejenigen, die ganz genau wissen, was sie tun.
Datenrettung - egal ob professionell oder in Heimarbeit - ist sorgfaeltige Detektivarbeit. Der Zustand von beschaedigten Platten kann sich schnell verschlechtern und sie reagieren nicht mehr deterministisch. Hat man erst einmal einen Fehler gemacht, bekommt man meistens keine zweite Chance. Deswegen muss man sich genau bewusst sein, was man tut und genau verstehen, was gerade mit der Platte passiert. Wenn Sie sich unsicher fuehlen, sollten Sie jetzt aufhoeren und einen Linux-Experten um Unterstuetzung bitten.
Man sollte nicht zuviel erwarten. Den Autoren sind zwar schon komplette Restaurierungen gelungen, aber davon sollte man nicht ausgehen. Sehen Sie die Daten und Festplatte vorerst als zerstoert an. (Und freuen sich ueber alle ueberlebenden Dateien, die doch noch auftauchen.)
Es gilt der uebliche GPL-Haftungsausschluss. INSBESONDERE SEI DARAUF HINGEWIESEN, DAS DER AUTOR KEINERLEI HAFTUNG FUER MISLUNGENE RETTUNGSVERSUCHE ODER ZERSTOERTE FESTPLATTEN UEBERNIMMT!
Und abschliessend, auch wenn Sie das jetzt vermutlich am wenigsten hoeren wollen: Machen Sie in Zukunft regelmaessige Datensicherungen, um ein "naechstes Mal" in Sachen Datenrettung zu vermeiden.

OPTIONS

-b block-size
Die Groesse der Sektoren (fuer die Fehlererkennung) der Festplatte. Meistens sind das 4096 Bytes, was zufaellig der Defaultwert ist.
-B bitmap-file
Gibt den Namen der Bitmap-Datei an, die die Status aller Bloecke beinhaltet. Wenn man die Datei mittels hexdump anschaut, so steht der Wert 01 fuer korrekt gelesene Sektoren, 02 fuer solche, die erst nach laengerer Zeit gelesen werden konnten und 00 fuer noch nicht bearbeitete. Negative Werte geben die Anzahl fehlgeschlagener Leseversuche an. Gibt man keine Dateinamen an, so wird der Name output-file.bitmap verwendet.
-A
Wenn ein fehlerhafter Block entdeckt wird, wird der Kopiervorgang abgebrochen.
-S
Aktiviert den Skip-Modus: Wenn ein fehlerhafter Block entdeckt wird, so erhoeht sich die Schrittweite exponentiell, bis wieder ein lesbarer Block gefunden wird.
-f skip-failed
Bloecke ueberspringen, die schon skip-failed mal nicht gelesen werden konnten. Damit kann vermieden werden, dass der Lesekopf immer wieder ueber den gleichen Sektor kratzt.
-r retry-count
Gibt die Anzahl der Leseversuche an, bis ein Block als defekt eingetragen wird. Voreinstellung ist 1
-s start-block
Die Nummer des Startblocks, bei dem angefangen werden soll. Voreinstellung ist 0
-e end-block
Die Nummer des Endblocks, bis zu dem gelesen werden soll (wobei dieser nicht eingeschlossen ist). Voreinstellung ist: Groesse von input-file dividiert durch die block-size.
-R
Rueckwaerts lesen, d.h. von end-block (nicht eingeschlossen) bis start-block
-G good-range
Es werden nur Bloecke gelesen, die hoechstens good-range Bloecke von einem schon erfolgreich gelesenen Block entfernt liegen.
-F failed-range
Erweitert die Wirkung von -f: Es werden auch Bloecke uebersprungen, die bis zu failed-range Bloecke von einem laut -f zu ueberspringenden Block entfernt liegen.
-T
Vermeide Bloecke, die zwar erfolgreich gelesen werden konnten, bei denen dies aber ungewoehnlich lange gedauert hat. Diese Bloecke zeigen meist die Randbereiche von langsam sterbenden Plattenbereichen an. Diese Option sorgt dafuer, dass diese Bloecke fuer die Optionen bei -A, -S und -F wie defekte Bloecke behandelt werden.
-J jump-after-blocks
Jeweils nachdem jump-after-blocks Bloecke in beide Richtungen gelesen wurden, wird zufaellig zu einem anderen Block gesprungen. Sinnvoll, um Platten mit verstreuten Defektbereichen zunaechst zu scannen. In diesem Modus bewirkt -S das Weiterspringen beim ersten Defekt oder beim Antreffen eines Blocks, der laut -f, -G or -F zu ueberspringen ist.
-U usb-device-file
(Linux spezifisch) Nach jedem Lesefehler das per usb-device-file spezifizierte Gerät zuruecksetzen. Manche kaputte SD-Karte verschwindet nach einem Lesefehler komplett vom Bus. Der USB-Leser muss daher komplett zurueckgesetzt werden, um ueberhaupt weitermachen zu koennen.
Weitere Hintergrund-Infos: https://www.idioten-notschlachten.de/blog/2011/11/13/kennen-sie-asmi/
-h, -?
Zeigt die Online-Hilfe an.

EMPFOHLENE VORGEHENSWEISE

Bevor man sich die Prozedur der Datenrettung antuen moechte ;-), sollte man folgendes ueberdenken:
Bei der Datenrettung ist jeder Fall einzigartig und benoetigt eine spezifische Herangehensweise. Das sture Befolgen von Vorgehensweisen ist ein dumme Idee. Betrachten Sie das folgende nur als Beispiel, beobachten Sie den Vorgang genau und schreiten sie ein, wenn etwas ungewoehnliches passiert. Und noch einmal: Wenn Sie sich unsicher sind, hoeren Sie sofort auf und ziehen einen Experten zu Rate.
Der ganze Vorgang ist sehr langwierig (u. Umstaenden mehrere Stunden oder gar Tage!) und aeusserst nervenaufreibend...
Man braucht genuegend freien Speicherplatz, und zwar mindestens die doppelte Mediengroesse (nicht nur der belegte Platz!) plus eine Blockbitmap mit je einem Byte pro Block. (Z.B. bei einer 4 GB Partition mehr als8 GB freien Speicher). Es sollte offensichtlich sein, dass die Daten NICHT auf der beschaedigten Platte gesichert werden.
Nun gut, hat man sich dazu entschieden, so geht man wie folgt vor:
Bestimmen Sie die Hardware(!)-Blockgroesse ihrer Festplatte (meistens 4096 Bytes). Dies kann mittels dem Befehl hdparm oder ueber die Webseiten des Herstellers Ihrer Festplatte geschehen. Wer weiss, wie man das direkt aus MyRescue hinbekommt, moege es mich wissen lassen.
Starten Sie einen Durchlauf mit skip-modus und einem Leseversuch pro Block, um zuerst die noch lesbaren Daten zu sichern.
Starten Sie einen weiteren Durchlauf ohne skip-modus.
Wiederholen Sie diesen Vorgang, bis sich die Fehlerzahl nicht mehr aendert. Man sollte aufgrund der mechanischen Erwaermung der inneren Festplattenteile zwischen den Durchlaeufen immer ein bis zwei Stunden warten.
Wiederholen Sie das ganze mit einer hoeheren Zahl an Leseversuchen.
Erstellen Sie eine Kopie der geretteten Daten und fuehren Sie ggfs. den Befehl fsck darauf aus. Die Kopie ist wichtig! Wenn Dateisystemstrukturen beschaedigt wurden, koennen die Reparaturversuche von fsck die gerade geretteten Daten zerstoeren. Arbeiten Sie also ab jetzt immer mit einer Kopie der Image-Datei.
Mounten Sie das Dateisystem (falls in eine Datei kopiert: mittels loopback). Falls die Verzeichnisstrukturen zerstoert wurden, finden sich die noch zuzuordnenden Dateifragmente im Verzeichnis lost+found
Es hilft vielleicht, wenn man waehrend des Lesens von defekten Bloecken der Festplatte Zeit gibt, sich zu rekalibrieren.
Die Programmierer freuen sich (vor allem wenn alles glatt geht) von Ihnen und Ihren Erfahrungen hoeren, insbesondere im Experiences -Forum auf der Sourceforge Project Seite. Vielen Dank!

BEKANNTE FEHLER

Das Handling der bitmap-file verlaesst sich darauf, dass bei lseek(2) hinter das Dateiende der Bereich bis dahin mit Nullen aufgefuellt wird.
Die Blockbitmap zaehlt hoechstens 127 Lesefehler.

AUTOREN

Kristof Koehler <[email protected]>, Peter Schlaile <[email protected]>

UEBERSETZUNG

Holger Ohmacht <[email protected]> Kristof Koehler <[email protected]>

ANDERE TOOLS

dd(1), dd_rescue(no manpage?)
http://www.google.de/search?q=data+recovery
http://myrescue.sourceforge.net/

Recommended readings

Pages related to myrescue you should read also: