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 Festplattekdf zeigt uns wie voll die Festplatten sind
Hier sieht man die mit Datenkrims vollgeworfene FestplatteWie 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 😀

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äuseschraubenFestplatte 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 Festplattephotorec auswahl der PC-Architekturphotorec 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 Dateisystemsphotorec Rücksicherungsort aussuchenphotorec 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 ImageTestDiskTestDisk 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.