myrescue - Festplattenrettungstool
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
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.
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.
-
-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.
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!
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.
Kristof Koehler <
[email protected]>, Peter Schlaile
<
[email protected]>
Holger Ohmacht <
[email protected]> Kristof Koehler
<
[email protected]>
dd(1),
dd_rescue(no manpage?)
http://www.google.de/search?q=data+recovery
http://myrescue.sourceforge.net/