Datenrettung

Datenrettung mit Linuxtools

Trockenübung

Ich habe mir die älteste Platte herausgesucht die ich in "funktionsfähig" gefunden habe. Es ist eine WD Expert 136BA. Die Platte habe ich zur Vorbereitung per dd mit Nullen überschrieben:

dd if=/dev/zero of=/dev/sdb1

Dann habe ich der Platte eine Partition verpasst und diese als bootfähig markiert. Daraufhin wurde die Partition von mir mit dem Dateisysten NTFS formatiert:

mkfs.ntfs -L TestDatenloescheung -T /dev/sdb1 
Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes: 100% - Done.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.

 Ich habe einen ca. 1,53 GB großen Ordner, in diesem liegen die unterschiedlichsten Dateien. Diesen Ordner habe ich dann immer wieder auf die Platte kopiert bis sie voll war.

Dolphin zeigt uns die Ordner auf der Festplatte kdf zeigt uns wie voll die Festplatten sind
Hier sieht man die mit Datenkrims vollgeworfene Festplatte Wie zu sehen ist, ist die Platte gut voll!
kdf zeigt uns nach dem Löschen wie voll die Platten nun sind  
Hier erkennt man wie viele Daten gelöscht wurden.  



Mache ich nun einen ntfsundelete scan sagt dieser:

ntfsundelete -s /dev/sdb1
Files with potentially recoverable content: 0

Damit hat er ja sogar recht, denn es ist noch nichts gelöscht worden :)

Nun lösche ich mal ein paar Dateien und mache noch einen Scan:

ntfsundelete -s /dev/sdb1
Files with potentially recoverable content: 154


Das schaut für mich ja schon gut aus :-D

Starten wir mal eine wiederherstellung!

ntfsundelete /dev/sdb1 -u -m '*.*' -p 100 -d /test

 Dabei stehen die einzelnen Optionen für:


-u        Undelete Modus.
-m '*.*'    Alle Dateien. Ein -m '*.doc' würde z.B.: nur Worddateien wiederherstellen.
-p 100        Nur Dateien die zu 100% wiederhergestellt werden können, bei Bildern könnte man ja auch mit Teilen etwas anfangen.
-d /test    Der Ort an welchem die Dateien wiederhergestellt werden sollen.

Je nach Dateityp der wiederhergestellt werden soll, gibt es noch ganz coole Optionen. Genau so kann man auch die Zeit angeben vor wievielen Tagen die Dateien maximal gelöscht worden sind.

Bei mir schaut die Ausgabe nun so aus:
ntfsundelete /dev/sdb1 -u -m '*.*' -p 100 -d /test
Files with potentially recoverable content: 154



Ganz cool, nur fällt mir auf, wenn ich Dateien mit gleichem Namen habe, überschreibt er diese nicht! Sollte man beachten, bzw. durch ein kurzes Script lösen.
Die Dateien sind aber wirklich alle da und auch funktionsfähig. Als wäre nie etwas gewesen :-)

Mit der echten Platte also alles super. Da man im Fall von gelöschten Daten aber NIE mit der Originalplatte herumfummelt sondern sobald man den Verlust bemerkt am besten gleich den Stecker aus der Steckdose zieht (jeder weitere Betrieb und sei es nur herunterfahren überschreib ja ggf. diese Daten), mache ich mal ein RAW Image der Platte und teste damit:

dd if=/dev/sdb1 of=/001/TestRettung.img
26709984+0 Datensätze ein
26709984+0 Datensätze aus
13675511808 Bytes (14 GB) kopiert, 701,766 s, 19,5 MB/s

 Nach einiger Wartezeit ist das Image File fertig.

ntfsundelete -s /001/TestRettung.img 

 Zeigt die gleichen Daten wie vorher _und_ es lässt sich auch alles so wiederherstellen.


Jetzt intresssiert mich natürlich noch was mit einer def. Platte ist....

Also mache ich meine Testplatte mal schnell wieder komplett voll und dann kaputt!

Festplatte mit freigelegten Gehäuseschrauben Festplatte mit geöffnetem Gehäuse

Festplatte mit freigelegten

Gehäuseschrauben

Geöffnete Festplatte, bereit zur Zerstörung
Eine Festplatte die gerade mit einem Schraubendreher zerkratzt wird. Geöffnete Festplatte, welche gerade mit einem Schraubendreher zerkatzt wird!

Ich beim vorsichtigen zerkratzen der

Festplatte (nicht zu viel...)

Noch ein kleiner Kratzer
Geöffnete Festplatte mit zerkratzten Magnetscheiben.  

Zwei der Kratzer auf der Festplatte,

hier wird nichts mehr gelesen

 

Nun sollte das eine oder andere GB unlesbar sein. Mal schauen wie ddrescue damit klar kommt.

ddrescue -n /dev/sdb1 /001/datenrettung.img /001/datenrettung.log                                     
ddrescue -d -n -r3 /dev/sdb1 /001/datenrettung.img /001/datenrettung.log

 ddrescue bei der Arbeit

 

Tja, was soll ich sagen? Nach meiner kleinen Kratzorgie hat ddrescue mal eben 52 Stunden an der Platte herumgefummel bevor es durch war. An dem Punkt muss ich erwähnen:
Wenn man wirklich wichtige Daten auf so einer Platte hat, sollte man bei einem def. lieber einen Datenretter aufsuchen. Geschäftlich arbeiten wir mit einem recht bekannten Datenretter zusammen. Dieser nimmt zur Diagnose 90€ und sagt dann was es wohl wirklich kostet und wie hoch die wiederherstellungswarscheinlichkeit ist. Bei einem aktuellen Fall aus 2010 hat ein Kunde mit einer 160GB HDD und einem Headcrash einen Kostenrahmen von 15000 - 18000 Euro genannt bekommen! Sind einem die Daten >3000 Euro wert sollte man die 90€ zur Diagnose ausgeben und dann entscheiden. Jede Bewegung an der Platte kann diese weiter zerstören und somit weitere Daten zerstören. Hat man das Geld nicht, kann man es mit ddrescue usw. selbst probieren, sofern die Platte überhaupt noch lesbar ist. Ich kann mich an ein Seagate SCSI Platten erinnern, welche nach einem shutdown einfach nicht mal anlaufen wollte, die Festplattenelektronik selbst hatte dabei eine Macke. Die Festplatte hat einfach keinen spinup mehr gemacht. Bei so einer Platte habe ich die komplette Elektronik getauscht, von einer Baugleichen versteht sich... Die Platte lieft auch wieder an und verhielt sich als wenn nie etwas gewesen währe. Getauscht habe ich sie nach einem Backup denn noch. Selbst ein Tausch der Schreib-/Leseköpfe (nach dem einer halb abgerissen war) hat schon mal funktioniert. Es konnten wirklich noch Daten von der Platte geholt werden. Die Platte ist aber nur noch ein mal angesprungen und war lesbar. Nach der Sicherung habe ich sie abgeschaltet und später noch mal anlaufen lassen, da ging überhaupt nichts mehr. Fummelt man aber an den Platten selbst herum,h at man direkt verloren. Wie gesagt, wenn die Daten wichtig sind... Datenretter :-) Solche "Experimente" klappen nicht immer. Fummelt man an der Platte herum, hat meist der professionelle Datenretter auch keine Chance mehr..

Weiter im Text...
Theoretisch könnte ich das ddrescue raw image nun mounten:

mount -t ntfs /001/datenrettung.img /mnt/datenrettung -o loop

 In meinem Fall klappte das aber nicht mehr. Durch meine Schraubendrehermacken war auch das Dateisystem total im Eimer... Selbst jegliche fsck Versuche haben da nichts gebracht! Nun gibt es also ein Problem.... Ich habe mich auf die Suche nach einem Programm gemacht, welches Dateien anhand ihres Headers wiederherstellen kann. Dabei bin ich auf das Programm PhotoRec gestoßen. Total scharfes Programm kann ich nur sagen :-)

Als erstes mache ich natürlich eine Kopie des Originalfiles. So kann ich das Imagefile ggf. total verbasteln und dann einfach mit einer weiteren Kopie neu probieren! Ich starte daher mal photorec gefolgt vom zu benutzenden Imagefile:

photorec datenrettung_parti_sicher.img

 Schon geht es los...

photorec auswahl der Festplatte photorec auswahl der PC-Architektur photorec auswahl der Partition

Als erstes werde ich nun gefragt

welche Platte ich untersuchen

möchte. Hier nehme ich natürlich

das Image.

Dann muss die PC-Architektur

angegeben werden. Intel passt

hier!

Nun kann ich noch eine

Partition auswählen. Ich

nehme hier aber die

komplette Platte.

photorec AUswahl des Dateisystems photorec Rücksicherungsort aussuchen photorec bei der Arbeit

Klar ist das Dateisystem

noch interessant. Da

es ein NTFS-Dateisystem ist,

kommt hier der Punkt zwei zum Zuge.

Nun muss ich angeben wo

ich die wiederherstellbaren

Daten gerne ablegen möchte.

Schon beginnt photorec mit

seiner Arbeit. Wie man sehen

kann, jetzt schon mir Erfolg!

 

Ob man es glaubt oder nicht aber photorec hat wirklich sehr viele Daten wiederherstellen können. Schaut man auf der PhotoRec Seite etwas weiter herum, findet man auch TestDisk. Dieses Programm habe ich mir natürlich mal angeschaut! Boar :-) Um gelöschte Daten wiederherzustellen, Partitionen zu rekonstruieren oder noch tausend andere Dinge! Ihr solltet es euch anschauen...

Hier ein paar Bilder:

Testdisk RAW Image TestDisk TestDisk kaufen
photorec auswahl der PC-Architektur

 

Da ich gerade dabei bin... Wer ein Programm sucht, mit dessen Hilfe sich Festplatten auf Herz und Nieren prüfen lassen, dem sei hier das Programm: Visual Disk Test (vdt) von Alexandre Botao emfohlen!

Je nach Option können basic tests, compound tests oder stress tests mit allen nur erdenklichen Einstellungen auf die Platte losgelassen werden.

Visual Disk Test bei der Arbeit