Basiswissen professionelle Datenrettung 9783756252268

Zu keinem anderen Teilbereich in der IT grassiert so viel Halbwissen wie bei Datenrettungen! Ich will mit diesem Buch in

145 121 22MB

German Pages 400 Year 2022

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Titelseite
Impressum
Inhaltsverzeichnis
VORWORT
DATENTRÄGER
Festplatten (HDD)
Solid state drives (SSD)
Sonstige Flash-Speicher (USB-Sticks, Speicherkarten, ...)
GOLDENE REGELN FÜR DATENRETTER
DATEISYSTEME & LOGISCHE FEHLER
CHS-Adressierung vs. LBA- und PBA-Adressierung
Logische Fehler
RAW-Recovery
Was CHKDSK wirklich macht
Gefahren von Datenrettungssoftware
SSDs & TRIM
Spezielle Tools
Fallbeispiel - S8+ (SM-G955F) mit Bootloop
INSTABILE DATENTRÄGER
Startvorgang der HDD
Spezialhardware für Datenrettungen
Klonen einer instabilen HDD
USB -> SATA Konvertierung von WD Festplatten
Fallbeispiel ST3000DM001
Fallbeispiel ST2000DM001 - Sehr viele Lesefehler
SSHD & Apple Fusion-Drive
ELEKTRONISCHE FEHLER BEI SPEICHERMEDIEN
Empfohlene Ausrüstung
Thermografie als Hilfsmittel zur Fehlersuche
Richtig Löten
PCBs von Festplatten
Sonstige elektronische Probleme
SSDs
Defekte bei USB-Sticks
Defekte bei Speicherkarten
DEFEKTE TELEFONE, TABLETS, NETBOOKS, ETC
Mobiltelefone ab Android 6.0
iPhone & iPad
Netbooks & Windows-Tablets
FIRMWARE-PROBLEME
Genereller Aufbau von HDD-Firmware
Wichtige Module der Firmware
Seagate
Western Digital
Individuelle und nicht individuelle Module
Unlock-PCBs für neuere WD Datenträger
Häufige Probleme und mögliche Ursagen / Lösungen
Kernel-Mode für WD Festplatten
Seagate Terminal-Kommandos
Samsung Terminal
Fallbeispiel WD10JMVW-11AJGS0
Fallbeispiel WD10JMVW-11AJGS1
Fallbeispiel ST1000DM003
Fallbeispiel WD3200BEVT - Verlorene ROM-Daten
Fallbeispiel WD10JUCT - My Passport
Fallbeispiel WD10EADS - Defekter Translator
SSD-Firmware
Fallbeispiel Kingston SSD mit Satafirm S11 Bug
CHIP-OFF DATENRETTUNG
Mobiltelefone / Tablets mit Android-Versionen vor 6.0
Speicherkarten & USB-Sticks
REINRAUM DATENRETTUNG
Austattung für den Reinraum
Die richtige Spenderplatte finden
Head unstick
Schreib-/Lesekopf tauschen (Headswap)
Umbau in ein anderes Gehäuse
Fallbeispiel ST380013AS - Fingerabdruck entfernen
Stärkere Verschmutzungen reinigen
DIAGNOSE UND WORKFLOW
RAID DATENRETTUNG
Fallbeispiel RAID 0
Fallbeispiel RAID 5
EXPERIMENTELLE TECHNIKEN
MFM (Magnetic Force Microscopy)
Restmagnetisierung
BUCHEMPFEHLUNGEN
Recommend Papers

Basiswissen professionelle Datenrettung
 9783756252268

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

MARK B.

BASISWISSEN PROFESSIONELLE DATENRETTUNG

IMPRESSUM Bibliografische Information der Deutschen Nationalbibliothek: Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. © 2020-2022 Mark B. Herstellung und Verlag: BoD – Books on Demand, Norderstedt ISBN:

978-3-7562-5226-8

INHALTSVERZEICHNIS VORWORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 DATENTRÄGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Festplatten (HDD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Solid state drives (SSD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Sonstige Flash-Speicher (USB-Sticks, Speicherkarten, ...) . . . . . . . . . . . . . . . .16 GOLDENE REGELN FÜR DATENRETTER. . . . . . . . . . . . . . . . . . . . . . . . . . . .18 DATEISYSTEME & LOGISCHE FEHLER. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 CHS-Adressierung vs. LBA- und PBA-Adressierung . . . . . . . . . . . . . . . . . . . . 26 Logische Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 RAW-Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Was CHKDSK wirklich macht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Gefahren von Datenrettungssoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 SSDs & TRIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Spezielle Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Fallbeispiel - S8+ (SM-G955F) mit Bootloop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 INSTABILE DATENTRÄGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Startvorgang der HDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Spezialhardware für Datenrettungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Klonen einer instabilen HDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 USB -> SATA Konvertierung von WD Festplatten . . . . . . . . . . . . . . . . . . . . . . . 118 Fallbeispiel ST3000DM001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Fallbeispiel ST2000DM001 - Sehr viele Lesefehler . . . . . . . . . . . . . . . . . . . . . 129 SSHD & Apple Fusion-Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 ELEKTRONISCHE FEHLER BEI SPEICHERMEDIEN . . . . . . . . . . . . . . . . .134 Empfohlene Ausrüstung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Thermografie als Hilfsmittel zur Fehlersuche . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Richtig Löten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 PCBs von Festplatten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Sonstige elektronische Probleme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 SSDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Defekte bei USB-Sticks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Defekte bei Speicherkarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 DEFEKTE TELEFONE, TABLETS, NETBOOKS, ETC. . . . . . . . . . . . . . . . . .178 Mobiltelefone ab Android 6.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 iPhone & iPad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Netbooks & Windows-Tablets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 FIRMWARE-PROBLEME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 4

Genereller Aufbau von HDD-Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Wichtige Module der Firmware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Seagate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Western Digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Individuelle und nicht individuelle Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Unlock-PCBs für neuere WD Datenträger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Häufige Probleme und mögliche Ursagen / Lösungen . . . . . . . . . . . . . . . . 233 Kernel-Mode für WD Festplatten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Seagate Terminal-Kommandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Samsung Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Fallbeispiel WD10JMVW-11AJGS0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Fallbeispiel WD10JMVW-11AJGS1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Fallbeispiel ST1000DM003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Fallbeispiel WD3200BEVT - Verlorene ROM-Daten . . . . . . . . . . . . . . . . . . . . 265 Fallbeispiel WD10JUCT - My Passport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Fallbeispiel WD10EADS - Defekter Translator . . . . . . . . . . . . . . . . . . . . . . . . . . 281 SSD-Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284 Fallbeispiel Kingston SSD mit Satafirm S11 Bug . . . . . . . . . . . . . . . . . . . . . . . 286 CHIP-OFF DATENRETTUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Mobiltelefone / Tablets mit Android-Versionen vor 6.0. . . . . . . . . . . . . . . . . 295 Speicherkarten & USB-Sticks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 REINRAUM DATENRETTUNG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .316 Austattung für den Reinraum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Die richtige Spenderplatte finden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Head unstick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Schreib-/Lesekopf tauschen (Headswap) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Umbau in ein anderes Gehäuse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Fallbeispiel ST380013AS - Fingerabdruck entfernen . . . . . . . . . . . . . . . . . . . 349 Stärkere Verschmutzungen reinigen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 DIAGNOSE UND WORKFLOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 RAID DATENRETTUNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Fallbeispiel RAID 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 Fallbeispiel RAID 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 EXPERIMENTELLE TECHNIKEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 MFM (Magnetic Force Microscopy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Restmagnetisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 BUCHEMPFEHLUNGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 5

VORWORT Zu keinem anderen Teilbereich in der IT grassiert so viel Halbwissen wie bei Datenrettungen! Sogar namhafte Computerzeitschriften haben oftmals eher fragwürdige Anleitungen und Berichte herausgebracht und selbst staatlich anerkannte Berufsausbildungen im IT-Bereich beinhalten fachliche Fehler, wenn es um Datenrettungen geht, sofern dieses Thema überhaupt oberflächlich behandelt wird! Einerseits ist dies ein sehr kleiner und spezieller Bereich der IT, und andererseits sind Speichermedien mehr oder weniger eine "Blackbox", in die man nicht ohne Weiteres hineinschauen kann, um zu verstehen, was vor sich geht. Des weiteren erfordern Datenrettungen einiges an Wissen und oftmals auch sehr teure und spezielle Ausrüstung. Daher ist es nicht verwunderlich, dass viele IT-Techniker in ihrer Ausbildung kaum mit diesem Thema in Berührung kommen und das sich Ausbildungen nur sehr oberflächlich damit beschäftigen. Ich will mit diesem Buch interessierten IT-Technikern und Laien die Grundlagen und wichtigsten Zusammenhänge so verständlich wie möglich nahebringen und ein grundlegendes Verständnis für die Vorgänge im inneren der Datenträger schaffen. Wenn Sie Fragen, Anregungen oder Kritik loswerden wollen, schreiben Sie mir bitte an: [email protected] In diesem Sinne wünsche ich Ihnen viel Spaß beim Lesen, Lernen und Experimentieren, Ihr

Mark B.

6

7

DATENTRÄGER Unter diesen Oberbegriff fallen alle möglichen Speichermedien von CDs und DVDs über Bandlaufwerke bis hin zu Festplatten (HDD), SSDs, USB-Sticks, Speicherkarten und einiges mehr. Hierbei kommen verschiedenste Technologien zum Einsatz von magnetischen (HDD, Bandlaufwerk, Disketten, ...) über optische (CD, DVD, BlueRay, ...) bis hin zu elektronischen (SSD, Speicherkarte, USB-Stick, ...) Verfahren. Wir wollen an dieser Stelle die gängigsten Datenträger genauer betrachten und auch die möglichen Probleme aufzeigen, die zu einem Ausfall führen.

8

Festplatten (HDD) Magnetische Festplatten wurden 1956 von IBM entwickelt und waren damals von der Größe und der Arbeitsweise einem Plattenspieler sehr ähnlich. Bei den ersten Festplatten berührte ein H-förmiger Slider die Magnetscheiben und wurde über die Oberfläche gezogen. Der Kopf saß zwischen den Beinen des H und las die Daten in der Mitte, während die Beine die Seiten der Tracks langsam beschädigten. Dies führte zu einem sehr hohen Verschleiß und entsprechend hohem Wartungsaufwand. Um dieses Problem zu lösen, wurde die Rotationsgeschwindigkeit der Magnetscheiben erhöht und das Design der Köpfe so verändert, dass diese auf einem winzigen Luftpolster über den Magnetscheiben schweben. Sehen wir uns zuerst an, aus welchen Bestandteilen eine HDD besteht:

5 1

6 7

3 2 4 1. 2. 3. 4. 5. 6. 7.

Schwenkarm des Schreib-/Lesekopfes Scheib-/Lesekopf Datenkabel mit Preamp Kontakte für die Platine Magnete für die Positionierung des Schwenkarms Magnetscheibe(n) Spindel für die Rotation der Platten

Die ersten Festplatten nutzten noch Schrittmotoren zur Positionierung des Schreib-/Lesekopfes. Diese hatten allerdings das Problem, dass die Positionie9

rung mit der Zeit immer ungenauer wurde. Daher mussten diese Festplatten in bestimmten Abständen mit einen Low-Level-Format wieder eingerichtet werden. Was heute bei modernen Festplatten als Low-Level-Format bezeichnet wird, hat allerdings nichts mehr mit dem zu tun, was damals erfolgte. Da dies ein nicht unerheblicher Aufwand war, wurden die Schrittmotoren schon vor einigen Jahrzehnten gegen Schwingspulen ausgetauscht. Damit lässt sich der Schwenkarm noch präziser steuern und ein Nachjustieren in vorbestimmten Abständen ist auch nicht mehr nötig.

Sektoren, Spuren und Zylinder Im Zusammenhang mit Festplatten tauchen diese Begriffe immer wieder auf. Darum will ich diese Begriffe kurz erklären:

Ein Sektor ist die kleinste Speichereinheit, die eine Festplatte ansprechen kann. Eine Spur ist ein Ring aus Sektoren auf einer magnetischen Fläche. Als Zylinder bezeichnet man alle Spuren auf allen Magnetscheiben, die an der gleichen Position stehen - quasi ein gedachter Zylinder, der durch alle Magnetscheiben verläuft. Ein Sektor enthält in der Regel 512 Byte an Userdaten. Neben den Userdaten enthält ein Sektor auch eine Checksumme (ECC oder Error Correction Code), mit der die Festplatte bestimmen kann, ob die Daten in dem Sektor fehlerhaft sind oder nicht, und einige weitere Werte, die der Positionsbestimmung dienen. Neuere Festplatten nutzen das sogenannte Extended Format (EF), bei dem die Sektorgröße 4096 Byte bzw. 4KB beträgt.

10

Solid state drives (SSD) SSDs sind der schnellere Nachfolger von magnetischen Festplatten bzw. werden sie als solcher gehandelt. Ich persönlich würde sie eher als Alternative für bestimmte Anwendungsfälle betrachten, denn die fundamentalen Unterschiede machen diese Speichermedien für bestimmte Anwendungen besser geeignet und für andere weniger gut geeignet. Eigentlich ist die Technologie nicht neu, denn NAND- bzw. Flash-Speicher wurden 1984 erfunden. Bis 2000 war ihre Produktion jedoch so teuer, dass diese Speichertechnologie keine breite Anwendung fand. Solid state drives speichern Informationen nicht als magnetische Ladung wie eine HDD sondern als elektrische Ladung in sogenannten Speicherzellen. Hierbei gibt es verschiedenste Speicherzellen-Technologien, die bestimmen, wie viele Werte in einer Speicherzelle abgelegt werden können: > SLC - Single Layer Cell (speichert nur 1 Bit - 0 oder 1) > MLC - Multi Layer Cell (speichert 2 Bits - damit kann man 00, 01, 10 und 11 darstellen) > TLC - Tripple Layer Cell (speichert 3 Bits - 000 bis 111 und alle binären Werte dazwischen) > QLC - Quad Layer Cell (speichert 4 Bits - 0000 bis 1111 und alle Kombinationen von Bits dazwischen) Je nach Speichertechnologie benötigt man also 2 (QLC) bis 8 (SLC) Speicherzellen, um ein Byte an Informationen abzulegen. Speicherzellen kann man sich wie mikroskopisch kleine Akkus vorstellen und genau wie Akkus kann man Speicherzellen nur eine bestimmte Anzahl von Malen aufladen. Anders gesagt nach einer bestimmten Anzahl von Schreibvorgängen gehen die Speicherzellen kaputt. Diese Anzahl variiert ebenfalls je nach Speichertechnologie: > > > >

SLC: ca. 90.000 - 100.000 MLC: ca. 10.000 - 30.000 TLC: ca. 2.000 - 5.000 QLC: ca. 200-1.000

11

Da dies eine relativ junge Technologie ist, schwanken die Werte hierbei noch stark und verschiedenste unterschiedliche Verfahren zur Fertigung haben einen großen Einfluss auf die Lebensdauer. Je mehr Levels wir in Speicherzellen ablegen, umso wahrscheinlicher werden BitFehler. Bei einem Level (SLC) müssen wir nur zwischen voll oder leer unterscheiden, bei 16 Leveln (QLC) hingegen stellt quasi jeder 6% Schritt ein anderes Level dar. Recht kleine Fehler resultieren bereits in Bitfehlern, die mit den ECC-Daten ausgeglichen werden müssen. In VNAND werden Speicherzellen vertikal zu sogenannten Strings verkettet. Innerhalb eines Strings kann nur eine dieser Zellen aktiv sein, um davon zu lesen oder darauf zu schreiben. Gesteuert wird dies mit Controll-Gates die immer nur eine Ebene der Strings ansprechen. Informationen wird dann auf die sogenannte Bitline weitergereicht, auf der die Bits transportiert werden. Mehrere Strings nebeneinander ergeben eine Row und eine bestimmte Ebene mit allen Speicherzellen einer Row ist eine Page. Jeder String hat seine eigene Bitline aber es gibt nur ein Controll-Gate für eine Page. Damit sind alle Speicherzellen in einer Page zur gleichen Zeit aktiv.

■ Speicherzelle, ■ String, ■ Page, ■ Row 12

Mehrere Rows bilden schließlich einen Block und sogenannte BitlineSelectoren erlauben es auszuwählen, welche Row die Bitlines nutzt und die Controll-Gates wählen die Page aus. Damit wird auch klar, warum man von 3D NAND spricht. Das macht auch eine Page, die kleinste Einheit, die gelesen oder geschrieben werden kann. Eine Page besteht aus vielen tausend Speicherzellen und kann je nach Technologie einige Kilobyte groß sein. Da sich Speicherzellen abnutzen, besitzen SSD genau wie Festplatten mehr Speicherplatz als dem Nutzer zur Verfügung stehen. Diese zusätzlichen Speicherblöcke werden verwendet, um totgeschriebene Speicherblöcke zu ersetzen. Bei einer SSD kann diese Überprovisionierung bis zu einem Vielfachen des eigentlichen Speichers betragen. Das liegt daran, dass Speicherzellen mit höherer Kapazität günstiger sind, aber auch deutlich weniger Schreibvorgänge überstehen. Tendenziell gilt - je höher die Bitanzahl pro Speicherzelle, umso mehr Reservespeicher gibt es. Damit sich Speicherzellen gleichmäßig abnutzen, werden die Daten durch das sogenannte Wearleveling gleichmäßig über die Speicherzellen verteilt. Hierbei wird versucht, alle Speicherzellen gleichmäßig abzunutzen. Dies war zB ein Problem für Windows-Telefone ohne Wearleveling wurde der Speicher des Dateisystems binnen weniger Monate totgeschrieben und dies führte zum Ausfall des Telefons. Darum werden beim Wearleveling Daten, die oft geschrieben werden müssen wie zB Logdateien oder der Dateisystem-Katalog mit Daten vertauscht, die selten geschrieben werden wie zB Urlaubsfotos. So werden Daten laufend verschoben. Je voller die SSD ist, umso aufwendiger wird dieser Prozess. Wenn wir eine Datei auf einer HDD editieren, wird diese immer an die gleiche Stelle zurückgeschrieben. Auf der SSD verursacht das Wearleveling selbst einen gewissen Schreibaufwand, um die ganzen Speicheradressen auf dem aktuellen Stand zu halten, denn auch die Service-Area einer SSD und die darin enthaltenen Tabellen werden mit Wearleveling immer neu zugeteilt. Meist werden Daten beim Speichern immer in neue Datenblöcke geschrieben, denn die SSD kann ohne aufwendige Software-Kunststücke einen Block nicht 13

einfach überschreiben, ohne ihn zuvor zu leeren. Da dies zwei Arbeitsschritte wären, wird oft aus Performance-Gründen direkt auf einen freien und von TRIM bereits gesäuberten Block geschrieben und der alte Datenblock wird für den nächsten TRIM-Durchlauf markiert. Wenn das Dateisystem also zehn Mal in Sektor 137847 schreibt, wird dieser Sektor unter Umständen zehn Mal physisch an einen neuen Bereich im Speicher verschoben! Leider wird so auch die Service-Area stark fragmentiert und wichtige Tabellen wie diejenige, in der wir das LBA -> PBA Mapping finden, sind nicht gerade klein und werden damit in viele Fragmente zerteilt. Viele Hersteller nutzen Software-Tricks, um nicht immer ganze Blöcke als defekt zu markieren und auszumappen sondern nur einzelne Sektoren oder Pages. Dafür braucht es dann wieder Tabellen, um diese defekten Sektoren zu vermerken. Natürlich defragmentieren wir auch keine SSDs, da dies nur unnötig Schreibzyklen verbrauchen und die SSD schädigen würde, aber sollte das Dateisystem jemals schwer beschädigt werden, ist ein RAW-Recovery viel unergiebiger und wir bekommen sehr viele beschädigte und unvollständige Dateien. Vorteile von SSDs: > SSDs sind schneller, da sie keine mechanischen Teile besitzen > SSDs sind unempfindlich gegenüber Stößen und Erschütterungen > SSDs sind leichter und damit angenehmer zu transportieren Nachteile von SSDs: > Alles ist in Software gelöst und es gibt eine enorme Liste an unterschiedlichen Ansätzen und Konzepten > Wenn Speicherzellen ausfallen, muss der ganze Block ausgemappt werden, was zu größeren Datenverlusten führt - zB ein JPG kann einen ausgefallenen Sektor (512 Byte an Daten) an vielen Stellen verkraften, 4KB Sektoren oder noch größere SSD-Datenblöcke verursachen einen viel schlimmeren Schaden. Das gilt natürlich für die meisten anderen Dateiformate ebenfalls. Neben NAND-Speicher gibt es auch NOR-Speicher, der allerdings teurer, weniger oft beschreibbar und weit weniger verbreitet ist.

14

NOR-Speicher wird daher eher für Bios-Chips oder Embedded Devices eingesetzt. Hier kommt es nur extrem selten zu Updates, die wieder auf den Speicherchip geschrieben werden müssen.

15

Sonstige Flash-Speicher (USB-Sticks, Speicherkarten, ...) Diverse andere Speichermedien basieren ebenfalls auf NAND-Speicherchips. Diese kommen abgesehen von SSDs auch in Mobiltelefonen, Speicherkarten, USB-Sticks, etc. zum Einsatz. Bei Speicherkarten (vor allem bei Micro-SDs) und USB-Sticks werden oftmals der Controller und der Speicherchip in einer Einheit vereint. Man spricht dann von monolithischer Architektur. Eines der Probleme ist hierbei, dass es oftmals keine Informationen über die verwendeten Komponenten gibt und auch keine Schaltpläne. Das macht eine Datenrettung nicht gerade einfacher. Bei den SSDs haben wir gelernt, dass es beim Arbeiten mit Dateien und beim Löschen von Daten sehr schnell zu Fragmentierung kommt und damit ein RAWRecovery kaum machbar ist. Bei Speicherkarten haben wir allerdings den Vorteil, dass Kameras sehr einfach gestrickt sind und viele Funktionen wie TRIM gar nicht implementieren. Außerdem laufen die Speicherkarten meist nicht lange im Leerlauf, weshalb diese selbst auchwenig Zeit für derartige Hintergrundprozesse haben und die geschriebene Menge an Daten und die Schreibvorgänge halten sich oft auch in Grenzen. Meist werden Fotos regelmäßig auf den PC übertragen und damit gesichert und kaum ein Fotograf wir die Bildretusche und Bildbearbeitung direkt auf der Speicherkarte ausführen. All das macht Carving (RAW-Recovery) deutlich aussichtsreicher.

16

17

GOLDENE REGELN FÜR DATENRETTER 1. Involvieren Sie sich nicht emotional - viele Kunden haben traurige Geschichten von den letzten Fotos ihrer verstorbenen Oma oder dergleichen. Sie betreiben ein Geschäft und emotionale Beteiligung führt sehr oft zu schlechten Entscheidungen im geschäftlichen wie auch fachlichen Sinn. 2. Übereilen Sie nichts - viele Kunden brauchen Ihre Daten und wollen diese schnellstmöglich zurück. Datenrettungen dauern allerdings Zeit! Ich selbst habe mich von Kunden schon dazu "überreden" lassen, dass ich beim Klonen von Daten mit einem beschädigten Kopf versuchte, alles in einem Durchgang zu erledigen. Das Ergebnis war ein defekter Kopf, den ich dann auf meine Kosten tauschen musste und eine noch langsamere Datenrettung, da wir erst eine Spenderplatte finden und bestellen mussten... 3. Beschädigte Datenträger machen nicht immer zweimal das Gleiche. Wenn Sie einen Datenträger zum Laufen gebracht haben, gibt es keine Garantie, dass dieser ein weiteres Mal startet! Das gilt natürlich auch für diverse Symptome eines Problems, die plötzlich verschwinden oder auftauchen können. 4. Verschwenden Sie keine Zeit! Verstehen Sie das jetzt nicht falsch - Sie sollen nichts übereilen, aber auch keine unnötigen Schritte vornehmen. Kunden wollen in der Regel diejenigen Daten zurück, die Sie hatten. Verschwenden Sie also keine Zeit damit, unbenutzten Festplattenplatz oder gelöschte Dateien zu klonen! Dies können Sie gern tun, wenn Sie alle wichtigen Daten haben und so eventuell einen 1:1 Klon der Platte erstellen von der der Kunde direkt wieder booten könnte. Bedenken Sie aber, dass der Kunde kaum für ein paar Wochen auf den PC verzichten kann und in der Zwischenzeit sicher schon eine Ersatzplatte hat, auf der das System schon aufgesetzt wurde. Wichtige Daten müssen Priorität haben, denn nichts garantiert Ihnen, dass ein Datenträger lange genug durchhält um 100% der Daten zu klonen. Wenn ein Datenträger also bei 32% Klonfortschritt ausfällt, haben Sie lieber 85% der wichtigen Daten bereits geklont und nicht nur den Windows- und Programme-Ordner! 5. Wärme ist oftmals nicht gut. Ich kenne wenige Datenträger, die im warmen Zustand stabiler liefen und in den meisten Fällen ist eine aktive Kühlung der Datenträger hilfreich! Ein leiser USB-Ventilator wirkt oft Wunder...

18

6. Ebay ist oftmals ein deutlich interessanteres Jagdgebiet für Spenderplatten als darauf spezialisierte Händler. Ich habe oftmals Platten von privaten EbayVerkäufern erstanden, die eine gebrauchte HDD für wenige Euro als Datenträger verkaufen und nicht für Hunderte Euros als Ersatzteilspender für Datenrettungen wie einschlägige Händler. Hierbei muss man aber manchmal die Leute in einer Nachricht ersuchen, ein besseres Foto des Labels zu schicken. Sie sparen vielleicht Geld, müssen aber etwas Zeit investieren. 7. Bleiben Sie am Ball - ich hatte viele Datenrettungen, bei denen ich viele Versuchte brauchte, bis ich es geschafft habe. Oftmals löst man ein Problem nur um zwei weitere zu finden. Wer aufgibt, hat verloren! 8. Linux- und Unix-Systeme können besser mit beschädigten NTFS-Partitionen umgehen, weil diese nur einen kleinen Teil der NTFS-Funktionen nutzen. Außerdem kann man mit Linux- oder Unix-Systemen die Userrechte von NTFS umgehen und auf alle Benutzerordner zugreifen. Das Gleiche gilt für Datenrettungssoftware. Nutzen Sie auf keinen Fall den Windows-Explorer oder derartige Programme, um gerettete Daten zu sichern oder zu kopieren! Die Zugriffsrechte in NTFS werden verhindern, dass Sie auf bestimmte Ordner zugreifen oder diese Kopieren. Beim Kopieren bekommen Sie nicht einmal einen Fehler angezeigt - der Ordner wird einfach übersprungen. Datenrettungs-programme greifen direkt auf den Datenträger zu und interpretieren das Dateisystem selbst und somit können Sie auch Zugriffsbeschränkungen ignorieren. 9. Manche Festplatten haben serielle Schnittstellen, über die man Diagnosemeldungen empfangen kann. Machen Sie davon Gebrauch, wenn es geht! 10. Lassen Sie niemals chkdsk, scandisk oder fsck laufen! Diese Programme reparieren keine Dateisysteme, sondern suchen nach Dateien, die inkonsistent sind. Dazu muss man verstehen, wie ein transaktionsorientiertes Dateisystem arbeitet. Vor jeder Änderung wird eine Versionsnummer erhöht, dann werden die Daten geschrieben und wenn dies beendet ist, wird der FS-Eintrag mit einer Erfolgsmeldung (Fixup-Bytes) versehen. Stimmen Sequenznummer und Fixup-Bytes nicht überein, ist die Datei halb fertig geschrieben worden. chkdsk löscht dann einfach diese halb fertigen Einträge für Dateien oder Ordner. Dazu muss man wissen, dass ein Ordner auch nur ein FS-Eintrag ist und wenn dieser selbst nicht fertig geschrieben wird, löscht chkdsk den ganzen Ordner-Eintrag, da dieser ungültig ist. Damit sind die Dateien 19

und Unterordner darin plötzlich für den User unauffindbar. Die Tools von OS X und Linux sind auch nicht besser - es geht hierbei auch nicht darum, Daten zu retten, sondern den PC wieder zum Laufen zu bringen, denn formatieren und erneutes Aufsetzen des Systems mit allen Programmen kostet einiges an Zeit und diese Tools sollen den PC schnellstmöglich wieder einsatzbereit bekommen! 11. Verbinden Sie niemals den Datenträger, von dem Sie Daten retten wollen ohne Writeblocker mit einem System und booten Sie niemals von dem Datenträger, von dem Sie Daten retten wollen. Hintergrundprozesse wie TRIM oder die Defragmentierung können Ihre Daten zerstören! Außerdem sollte auf Ihrer Recovery-Workstation TRIM deaktiviert sein! Seit Windows 7 läuft chkdsk mit anderen Tools permanent im Hintergrund und sollte es zu einem Sektor-Ausfall oder Ähnlichem kommen, der einen Dateisystemeintrag betrifft, wird die betroffene Datei oder der betroffene Ordner vor Ihren Augen binnen Sekunden gelöscht. 12. Paketdienste gehen nicht immer pfleglich mit den Sendungen um. Behalten Sie immer eine Kopie der geretteten Daten, bis der Kunde den Empfang der Daten bestätigt hat! Ich hatte mehr als einen Tauschdatenträger in meiner Karriere, der beschädigt beim Kunden ankam!

20

21

DATEISYSTEME & LOGISCHE FEHLER Festplatten kennen keine Ordner oder Dateinamen. Daten werden in LBAs abgelegt. Es wäre allerdings sehr unpraktisch, wenn User sich merken müssten, dass beispielsweise LBA 123487312 - 132487486 mit der Inventur von 2020 belegt wäre. Wir müssten quasi eine Liste führen, welche LBAs belegt sind, um nichts aus Versehen zu überschreiben und vermerken, welche Daten auf welchen LBAs liegen. Genau das macht ein Dateisystem für uns und noch einiges mehr. Beim Schnellformatieren einer Festplatte wird ein neuer Dateisystemkatalog angelegt. Der Dateisystemkatalog ist im Grunde wie eine Datenbank, in der steht, welche Datei wo auf der Festplatte liegt und welchem User sie gehört, wer darauf zugreifen darf, usw. Dabei fassen Dateisysteme mehrere LBAs in Cluster zusammen. Cluster sind also nichts weiter als Blöcke, die eine bestimmte Anzahl von LBAs lang sind. Sehen wir uns dazu eine Festplatte im Hex-Editor von MRT an:

22

Dieser nimmt uns das händische Decodieren von bestimmten Sektoren ab. Sektor 0 ist der sogenannte MBR (Master Boot Record). Dieser ist immer vorhanden, unabhängig ob wir Partitionen direkt im MBR anlegen oder die neuere GPT-Partitionierung verwenden. Im Falle von GPT verweist Partition 1 im MBR auf die GPT-Partitionstabelle! Der MBR ist nicht nur für Partitionen zuständi,g sondern auch für den Systemstart. Sehen wir uns diesen MBR im Detail an: 00000000: 0000 0000 ... Ausgabe gekürzt 000001a0: 0000 0000 000001b0: 0000 0000 000001c0: 2100 07fe 000001d0: 0000 0000 000001e0: 0000 0000 000001f0: 0000 0000

0000 0000 0000 0000 0000 0000

................

0000 0000 ffff 0000 0000 0000

................ ........15..... !..........l.... ................ ................ ..............U.

0000 0000 0008 0000 0000 0000

0000 3135 0000 0000 0000 0000

0000 c1a9 c16c 0000 0000 0000

0000 0000 e0e8 0000 0000 0000

0000 0020 0000 0000 0000 55aa

Die ersten 446 Bytes sind der Boot-Code, der beim Systemstart gelesen wird. Darin befindet sich der Code des Bootloaders bzw. der erste Teil des Bootloaders, der dann den Rest des Systems startet. Diese Platte hat quasi nur NUL-Bytes (0x00) im Boot-Code. Das ist nicht verwunderlich, denn wir haben hier eine externe USB-Platte vor uns, auf der kein Betriebssystem installiert ist. Die Blau, Grün, Orange und Violett hervorgehobenen Bereiche sind die Partitionen 1 - 4. MRB unterstützt nur 4 Partitionen. Wenn Sie mehr Partitionen benötigen, dann wird eine der Partitionen als so-genannte erweiterte Partition angelegt, in der dann wieder Partitionen angelegt werden können. Damit entsteht eine Datenstruktur, die Programmierern als Linked-List bekannt sein sollte... 0x55AA ist die MBR-Signatur. Sollten die letzten 2 Bytes nicht genau diese Werte

enthalten, wird eine Festplatte nicht mehr vom Betriebssystem erkannt. Alles, was es also braucht, um ein Betriebssystem davon abzuhalten, auf die Daten zuzugreifen, ist das Entfernen von 2 Bytes oder des gesamten MBR.

23

Wir sehen aber auch, dass die 1. Partition ab LBA 2048 zu finden ist und das diese 3907022017 LBAs lang ist:

Typ 0x07 gibt übrigens an, dass dies eine NTFS-Partition ist. Springen wir zu Sektor 2048, dann sehen wir den NTFS-Bootsektor:

Hier finden wir einige Informationen - unter anderem die Länge eines Clusters:

24

Dieser umfasst 8 LBAs und dies entspricht damit 4kb an Speicherplatz. Fassen wir also zusammen - ein Dateisystem ist dazu da, Dateinamen und Ordnerstrukturen zu ermöglichen und verwaltet intern die Daten auf Basis von Clustern, die im Dateisystemkatalog mit Dateinamen, Zugriffsrechten, etc. verknüpft werden.

25

CHS-Adressierung vs. LBA- und PBA-Adressierung Ursprünglich wurden Sektoren auf einer Festplatte mit der CHS-Adressierung (Cylinder, Head, Sector) angesprochen. Hierbei war die Formel Folgende: Zylinder x Köpfe x Sektoren pro Zylinder = Gesamtanzahl der Sektoren

Das impliziert aber auch, dass jeder Zylinder die gleiche Anzahl an Sektoren hat. Dies ist jedoch Verschwendung von Platz, denn ein Zylinder am äußeren Rand hat einen viel größeren Durchmesser als ein Zylinder am inneren Rand. Bei der LBA-Adressierung werden die Sektoren einfach von 0 bis N durchnummeriert. Außerdem erlauben es sogenannte Zone-Tables die Anzahl der Sektoren pro Zylinder nach Zonen einzuteilen. Sehen wir uns dazu eine grob vereinfachte Zeichnung an:

CHS - Alle Zylinder haben gleich viel Sektoren

Zonen mit untersch. vielen Sektoren / Zyl.

Darum wird schon seit Langem auch primär mit der LBA-Methode gearbeitet und CHS-Angaben sind nur noch rein rechnerisch korrekt, haben aber nichts mehr mit der eigentlichen Geometrie der Platten zu tun. LBA steht für Logical Block Address und wenn es logische Adressen gibt, dann liegt die Vermutung nahe, dass es auch physische Adressen gibt. 26

Genau dafür steht PBA (Physical Block Address)! Im Idealfall stimmen LBAs und PBAs überein: PBA

0

1

2

3

4

5

6

7

8

9

.

.

.

.

.

.

.

.

.

.

.

.

N R1 R2 R3

LBA

0

1

2

3

4

5

6

7

8

9

.

.

.

.

.

.

.

.

.

.

.

.

N

Sollte nun beispielsweise PBA Nr 7 defekt werden, dann kann die Festplatte LBA 7 auf einen der Reserve-Sektoren (hier R1) mappen: PBA

0

1

2

3

4

5

6

7

8

9

.

.

.

.

.

.

.

.

.

.

.

.

N R1 R2 R3

LBA

0

1

2

3

4

5

6

7

8

9

.

.

.

.

.

.

.

.

.

.

.

.

N

Der Benutzer und das Dateisystem bekommen also nicht mit, dass gerade ein Sektor ersetzt werden musste. Dies wird zwar in den S.M.A.R.T. Daten (Self Monitoring, Analysis and Reporting Technology) vermerkt, aber sonst wird der User nicht darüber informiert. Mehr dazu, wie dies funktioniert, erfahren Sie im Firmware-Kapitel. Für uns ist es im Moment nur wichtig zu wissen, dass Festplatten mehr Speicher haben, als der User ansprechen kann und das ein Teil davon als Reservespeicher zur Verfügung steht, um defekte Sektoren zu ersetzen. Wenn im Betrieb ein Sektor nicht gelesen werden kann, wird dieser als defekt vermerkt (Reallocation-Flag) und sobald die Festplatte ein paar Sekunden (meist ab 20 Sekunden) im Leerlauf ist, wird das Ausmappen der Sektoren von Hintergrundprozessen der HDD-Firmware übernommen. Mit diesem Wissen können wir uns nun überlegen, wie verschiedenste Vorgänge auf einer Festplatte aussehen und welche Bewegungen der Kopf dabei machen muss.

27

Logische Fehler Als logische Fehler bezeichnet man Fehler im Dateisystem, die dazu führen, dass man keinen Zugriff auf die Daten bekommt mit der herkömmlichen Weise. Das kann beispielsweise folgende Ursachen haben: 1. 2. 3. 4.

Versehentliches Formatieren des Datenträgers Versehentliches Löschen von Dateien Beschädigung des Dateisystemkatalogs durch einen Absturz / Schadware Beschädigung des Dateisystemkatalogs durch Ausmappen von Sektoren

Wie wir bereits gehört haben, reicht es, den MBR oder auch nur die MBR-Signatur zu überschreiben und die Festplatte wird vom Betriebssystem nicht mehr eingebunden. Unter Windows würde diese noch in der Datenträgerverwaltung angezeigt, aber nicht mehr unter einem Laufwerksbuchstaben eingehängt. Um diese logischen Fehler zu beheben, gibt es diverse Programme, die landläufig als Datenrettungssoftware bekannt sind. Meiner Meinung nach sind folgende Tools wirklich empfehlenswert: > DMDE (https://dmde.com/) > r-Studio (https://www.r-studio.com/) > UFS-Explorer (https://www.ufsexplorer.com/) Diese Tools lassen sich abgesehen von ihrem eigentlichen Zweck auch dazu verwenden, um Dateisysteme zu lesen, die Windows nicht lesen könnte. So kann man einfach eine HFS+ Partition von einem Mac oder eine mit EXT4 formatierte Partition eines Linux-Systems mit den genannten Tools öffnen und die Daten kopieren. Das ist auch die einfachste Form einer Datenrettung - vor Monaten hatten wir einen Kunden, der ein NAS bei sich hatte, das ausgefallen ist. Als der Kunde die HDD entnahm und mit einem USB-Dock an Windows anschloss, konnte er auf die Daten nicht zugreifen, weil Windows das Dateisystem nicht lesen konnte.

28

Wir mussten den Datenträger nur an unser USB-Dock anschließen, dann konnten wir die Partition mit r-Studio öffnen und die Daten auf eine mit NTFS formatierte USB-Festplatte wiederherstellen. Überlegen wir also, was die Festplatte bei so einem Kopiervorgang machen muss... Bevor wir einen Datenträger verwenden können, müssen wir diesen formatieren. Der Dateisystemkatalog ist also das erste, das auf einem Datenträger geschrieben wird! Bei einer Festplatte wäre dies am äußeren Rand, denn dort ist die Schreib-/ Lesegeschwindigkeit am schnellsten. Die Magnetscheibe rotiert zwar mit gleicher Geschwindigkeit am innersten und am äußersten Zylinder, aber in der äußeren Zone gibt es die meisten Sektoren pro Zylinder. Damit kann der Kopf mehr Daten Lesen oder Schreiben ohne bewegt zu werden. Je weniger Bewegungen den Lese- und Schreibfluss unterbrechen, umso schneller ist die Platte. Weiters wissen wir, dass im Dateisystemkatalog steht, wo genau auf der Festplatte sich die Datei befindet. Beim Kopieren muss die Festplatte also immer im Dateisystemkatalog nachlesen, wo die Datei liegt, dann zur Position der Datei springen und diese lesen und denn wieder zum Katalog für die nächste Datei. Der Kopf springt also immer zwischen Daten und Dateisystemkatalog hin und her. Das ist mit einem gewissen Aufwand und Stress für die Festplatte verbunden. Auch wenn das Kopieren einiger ausgesuchter Ordner von der reinen Laufzeit schneller ginge als zB das Klonen, ist es auf jeden Fall anstrengender für die Festplatte! Für das nächste Beispiel habe ich eine Festplatte genommen und manuell LBA 0 und die ersten Sektoren der Partitionen überschrieben. Damit wird der Datenträger unter Windows nicht mehr erkannt:

29

Windows fordert uns auf, den Datenträger zu formatieren, weil das Betriebssystem ohne MBR nicht weiß, dass bereits Partitionen vorhanden sind. Alle Daten und die Partitionen sind aber noch da. Es fehlt nur der Verweis auf den Beginn der Partitionen, damit Windows weiß, wo es den Dateisystemkatalog finden kann und welcher Dateisystemtreiber verwendet werden muss. Sehen wir uns also die zwei möglichen Vorgehensweisen mit r-Studio an. Die erste Option ist die Schnellsuche nach verlorenen Partitionen:

Diese Option sucht nur nach verlorenen Partitionen und ist deutlich schneller als den gesamten Datenträger zu durchsuchen, da Partitionen nur an Zylindergrenzen anfangen sollten. Dies geht auf die CHS-Adressierung zurück und ist heutzutage eher eine Konvention als eine Notwendigkeit, macht aber das Suchen deutlich schneller, wenn wir nur einige wenige Sektoren durchsuchen müssen und nicht die ganze Festplatte. So könnten Partitionen aber auch übersehen werden! Wie wir zuvor gesehen haben, enthält der erste Sektor einer Partition einige Informationen zu der Partition selbst, und so kann binnen Sekunden die Partition gefunden werden, ohne den MBR zu haben. Nachdem der Scan abgeschlossen ist, erhalten wir die folgende Liste:

30

Die zweite Option ist ein vollständiger Scan, wobei wir hier die möglichen Dateisysteme einschränken können, um weniger falsch-positive Treffer zu erhalten:

Dabei werden noch mehr Partitionen gefunden:

Warum das so ist, wird schnell klar, wenn wir die grafische Übersicht der Daten betrachten:

31

Der Dateisystemkatalog am Anfang des Datenträgers ist nicht alles, was das Dateisystem auf die Festplatte schreibt. Es gibt diverse Erweiterungs-Daten, die über die Platte verstreut sind. Damit kann ein Programm selbst ohne den Haupt-Dateisystemkatalog zumindest einen Teil der Dateinamen und Ordnerstrukturen noch rekonstruieren. Diese ausführlichere Suche ist allerdings nicht gerade schnell - bei meinem Test mit dieser 80GB Festplatte hat das Suchen nach verlorenen Partitionen 7 Sekunden gebraucht und der vollständige Scan 68 Minuten. Je nach Geschwindigkeit und Größe der Platte kann dies viele Stunden dauern:

Der längste Scan, an den ich mich erinnere, dauerte knapp 19 Stunden. Dabei machen diese Programme im Grunde das genaue Gegenteil eines Kopiervorganges. Sie suchen nach Dateien und Dateisystemerweiterungen und prüfen, ob diese im Dateisystem eingebunden sind.

32

Auf diese Weise wird dann allmählich der Dateisystemkatalog wieder zusammengesetzt. Dabei läuft die Platte wie bereits erwähnt über Stunden auf Hochtouren und das ohne das nur ein einziges Byte gesichert wird. Nachdem der Dateisystemkatalog wieder rekonstruiert wurde, werden die Daten mit einem Kopiervorgang auf einen anderen Datenträger kopiert. Man darf niemals Daten auf dem Patienten-Datenträger wiederherstellen. Werden Daten gelöscht, wird nur der Speicherplatz als verfügbar markiert - die Daten sind noch da, zumindest bis zu den Zeitpunkt, wenn diese mit einer anderen Datei überschrieben werden! Wenn wir also direkt mit Datenrettungssoftware loslegen, dann muss die Festplatte über Stunden arbeiten bei der Analyse und dann nochmals Stunden bei der eigentlichen Datenrettung. Wenn wir eines der Scanergebnisse doppelt anklicken, öffnet sich ein Dateibrowser. Sehen wir uns zuerst das Ergebnis der schnellen Partitionssuche an:

Es scheint, als ob da noch einiges beschädigt wäre - es fehlen definitiv Ordner und Dateien, die für eine Windows-Installation typisch wären... Das Ergebnis der 68 Minuten dauernden Suche sieht gut aus:

33

Ordner und Dateien, die nicht mehr in das Dateisystem eingeflochten werden konnten, finden wir unter "Extra gefundene Dateien". Abgesehen von meiner Sabotage mit dem Hexeditor gab es offensichtlich also einen Grund, warum die Platte zu uns ins Datenrettungslabor geschickt wurde... Das ist eine Festplatte aus einem alten Laptop eines Kunden, auf der noch Familienfotos waren, die er mit einem USB-Adapter auf den neuen PC Kopieren wollte, aber das Dateisystem war beschädigt und es wirkte, als wären verschiedenste Ordner verschwunden. Wir haben die Platte mit MRT geklont und dann aus dem Image mit r-Studio die Daten wiederhergestellt. Für diesen Test habe ich die Platte danach direkt mit rStudio bearbeitet. Unter Windows wurde die Platte 2x ausgeworfen, unter Linux lief der Scan dann durch. Wir sehen aber auch schön an diesem Beispiel, wie Datenrettungssoftware arbeitet. Das Zusammenfügen eines Dateisystems klappt einmal mit dem einen Programm besser und dann wieder schlechter. Daher verwenden wir alle drei Tools bei sehr stark beschädigten Dateisystemen und führen diese drei Wiederherstellungen mit einem Script zusammen. Dieses Script und einige weitere stellen wir als Opensource-Tools kostenlos zur Verfügung: https://opensource-data-recovery-tools.com/scripts.php 34

Wie Sie sehen haben Datenrettungsprogramme einen festen Platz in unserem Arbeitsalltag aber wie für jedes Werkzeug gibt es einen fachgerechten und einen nicht wirklich optimalen Einsatz. UFS-Explorer und DMDE sind sehr ähnlich aufgebaut und Sie werden damit sicher schnell klarkommen. Außerdem ist DMDE sehr interessant, wenn Sie das Dateisystem von Hand analysieren wollen. Nachdem Sie das Dateisystem rekonstruiert haben, können Sie einfach die gewünschten Daten markieren und diese dann auf einen anderen Datenträger wiederherstellen.

35

RAW-Recovery Ihnen ist eventuell die Zeile "RAW-Dateien" in den Scanergebnissen aufgefallen. Beim sogenannten RAW-Recovery oder File-Carving wird versucht, Dateien anhand der Header und Trailer zu erkennen. So beginnt beispielsweise jede JPEGDatei mit 0xFFD8 und endet mit 0xFFD9. Dateien beginnen außerdem immer am Anfang eines Sektors außer sie sind in einer anderen Datei eingebunden! Ein einfacher Carver für JPEG-Bilder würde also jeden Sektor prüfen, ob dieser mit 0xFFD8 beginnt und dann das nächste vorkommen von 0xFFD9 suchen und alles dazwischen in eine JPEG-Datei speichern. Im Grunde müsste dieses Programm auch noch darauf achten, dass nach dem 0xFFD9 keine weiteren Daten folgen, denn ein JPEG kann ein kleines JPEG als Vorschaubild eingebunden haben. Eine weitere Ausnahme sind sehr kleine Dateien, die nicht separat auf der Platte abgelegt, sondern direkt im Dateisystem-Eintrag angehängt werden. Unter NTFS belegt jeder Eintrag 1024 Byte an Speicher und davon werden nicht alle Bytes benötigt. Wenn also eine Datei klein genug ist, kann diese direkt im Dateisystemeintrag angehängt werden. Bei NTFS spricht man auch von einem "Resident File": LBA:2105681546

logischer Sektor:2105681546 Cluster:263210193 Sektor:2 (MFT 85477)

[-] File #85477 ==== (18) === magic ("FILE"): fixups offset: fixups count:

FILE 30h 3

LSNlo:

257EA6A3h

LSNHi:

00000007h

seq. number:

18

hlink number:

1

attrs offset:

38h

flags:

36

==================

1h

used size:

160h

352

record size:

400h

1024

basefileref:

0

0x24:

0h

basefileref seq.:

0

next attribute #:

4

0x2A:

0h

file #:

85477

fixup:

0006h

[-] #0

$STANDARD_INFORMATION Attr. type:

10h

Attr. length:

60h

Non-resident:

0

Attrname len:

0

Attrname ofs:

0h

Flags:

0h

Attr. number:

96

-- --

0

Data Size:

48h

Data Offset:

18h

72

created:

2021-11-08 21:04:35.111

modified:

2021-11-08 21:05:01.472

changed:

2021-11-08 21:05:01.472

accessed:

2021-11-08 21:05:01.472

attrs:

-----A---------- ----------------

Max versions:

0

Version:

0

Class Id:

0

Owner Id:

0

Security Id:

271

Quota Charged:

0

USN:

0

[-] #3

$FILE_NAME Attr. type:

30h

Attr. length:

78h

Non-resident:

0

Attrname len:

0

Attrname ofs:

0h

Flags:

0h

Attr. number:

120

-- --

3

Data Size:

5Eh

Data Offset:

18h

94

directory:

85453

created:

2021-11-08 21:04:35.111

(15

)

modified:

2021-11-08 21:04:35.111

changed:

2021-11-08 21:04:35.111 37

accessed:

2021-11-08 21:04:35.111

allocated:

0

size:

0

attrs:

-----A---------- ----------------

reparse:

0

name len:

14

posix:

0

name:

small_file.txt

Hex: 05e: 00 00 [-] #1

? $DATA

Attr. type:

80h

Attr. length:

48h

Non-resident:

0

Attrname len:

0

Attrname ofs:

18h

Flags:

0h

Attr. number:

1

Data Size:

2Dh

Data Offset:

18h

72

-- -45

Hex: 000: 49 20 61 6D 20 73 6F 20 73 6D 61 6C 6C 2C 20 49 010: 20 63 61 6E 20 66 69 74 20 69 6E 20 74 68 65 20 020: 4E 54 46 53 20 65 6E 74 72 79 21 21 21 00 00 00

I am so small, I can fit in the NTFS entry!!!

FFFFFFFFh End Mark

Dies ist übrigens die Ausgabe, die DMDE erzeugt wenn wir die MFT-Einträge aufschlüsseln lassen. Viele kleine Textdateien sind für Kunden wichtig - ich hatte eine Datenrettung für einen Kunden, der 3 Textdateien mit Autocad-Seriennummern benötigte, die er vor Jahren für viel Geld gekauft und nirgendwo anders vermerkt hatte, als die CD's und Boxen entsorgt wurden. Vergessen Sie daher nicht auf Resident Files! Sehr viele andere Dateiformate haben ebenfalls bestimmte Marken anhand derer man sie erkennen kann. Eine Liste von Dateisignaturen, auch Magic Numbers genannt, finden Sie unter: https://www.garykessler.net/library/file_sigs.html 38

Das große Problem hierbei ist, dass ohne Dateisystem jegliche Ordner-Struktur und die Dateinamen fehlen. Wir wissen nicht einmal, ob dies eine gelöschte Datei ist oder eine alte Version einer Datei, da der Zeitpunkt der letzten Änderung auch im Dateisystemkatalog steht. Das macht die Ergebnisse einer Datenrettung durch RAW-Recovery oftmals deutlich weniger brauchbar. Fotos beinhalten oftmals EXIF-Daten die unter anderem das Aufnahmedatum enthalten. Eines unserer Opensouce-Scripte erlaubt es, Bilder nach dem Aufnahmedatum zu sortieren und so zumindest etwas Ordnung in eine Wiederherstellung zu bekommen. Das absolute Gegenteil wäre ein Firmen-Server, auf dem 150.000 Office-Dateien lagen. Diese ohne Ordnerstruktur zu sortieren und nicht mal zu wissen ob die Datei den Letztstand darstellt oder nicht, wäre kaum sinnvoll machbar. RAW-Recovery ist also nur bedingt brauchbar, stellt aber den allerletzten Ausweg dar, wenn nichts anderes mehr klappt. Außerdem ist es im Grunde raten. Denn ohne Dateisystem wissen wir nicht, ob die Daten so überhaupt zusammengehören. Stellen Sie sich eine gelöschte Datei vor, deren hinterer Teil überschrieben wurde. Dann würde unser primitiver Carver einfach weiterlesen, bis das nächste gültige Dateiende erreicht wird. Genau dies hatte ich schon mehrfach - zB JPEG-Bilder, die einige Hundert MB groß waren, nach dem Öffnen stellte sich heraus, dass diese nur kleine Thumbnails mit einem beschädigten Dateiende waren. 99,9% des Dateiinhaltes der per RAW-Recovery erraten wurde, hatten nichts mit der Datei zu tun. Genau so oft kommt es vor, dass Dateien falsch erkannt werden. MOV-Dateien sind typische Kandidaten, die gern falsch erkannt werden. Die neuen OfficeDokumente auf XML-Basis sind im Grunde ZIP-Dateien, die eine bestimmte Ordnerstruktur enthalten mit verschiedenen XML-Dokumenten. Benennen Sie eine .DOCX-Datei einfach mal in .ZIP um und entpacken Sie diese Datei. Auch hier gibt es immer wieder Probleme wenn DOCX-Dateien dann als ZIPDateien erkannt werden oder anders herum.

39

Da Dateien auch in anderen Dateien eingebunden werden (zB ein Bild in einem PDF oder ein JPEG in einem RAW-Foto, etc.), können auch oft mehr Dateien gefunden als eigentlich auf der Platte sein sollten. Es ist auch nicht ungewöhnlich, dass eine 70% volle 1 TB Festplatte am Ende dann 1,2 - 1,5 TB an Daten bei einem RAW-Recovery liefert. Zusätzlich zu dem Chaos das ohne Ordner- und Dateinamen entsteht, haben wir also noch Dateien doppelt und dreifach und viele falsch-positive Dateien sowie Dateireste von gelöschten Daten miteinander vermischt. Da wir hier wieder nur raten, machen wir drei Wiederherstellungen mit allen drei Programmen, wenn wir auf RAW-Recovery zurückgreifen müssen. Danach fügen wir die Dateien wieder mit einem unserer Scripte zusammen. So können wir die maximale Ausbeute garantieren und die Dubletten aussortieren, denn unser Script errechnet die MD5-Summe einer jeden Datei und fügt eine Datei nur dem finalen Ergebnis hinzu, wenn diese eine noch nicht bekannte MD5-Summe hat. So können wir das Ergebnis etwas besser handelbar machen für den Kunden. Außerdem prüft das Script, ob eine JPEG-Datei EXIF-Daten enthält und wenn ja, dann sortiert es diese Bilder in einen eigenen Ordner für Fotos. So können wir Fotos von temporären Dateien zB aus dem Browser-Cache trennen. Fragmentierung ist in diesem Zusammenhang ein großes Problem, denn sobald eine Datei auf mehrere Teile aufgesplittet wird und nicht mehr in einem Block aus zusammenhängenden Sektoren liegt, kann dies nicht funktionieren! Stellen Sie sich ein Buch vor, das Sie schreiben. Wenn Sie anfangen, das Buch zu schreiben, sind es eventuell nur einige wenige Seiten. Dann erstellen Sie weitere Dateien, die den Speicher nach Ihrem Buch füllen. Wenn Sie nun weitere Seiten ergänzen, haben diese keinen Platz mehr in dem Bereich, in dem der Anfang der Datei liegt und weil danach schon andere Dateien angelegt wurden, können die neuen Daten nicht direkt dahinter geschrieben werden. Ihr Dateisystem wird also den zweiten Teil an einer anderen Stelle im Datenträger ablegen müssen und im Dateisystem vermerken, wo die einzelnen Teile liegen.

40

Wenn wir nun ein RAW-Recovery ausführen, wird eine solche Datei beschädigt sein, da sie entweder abgeschnitten wird oder Teile in der Mitte beinhaltet, die nicht zur Datei gehören. Spezielle Tools, sogenannte Smart-Carver, können dies erkennen und die fragmentierten Dateien wie ein Puzzle zusammensetzen. Ein solches Tool wäre CnW Recovery (https://www.cnwrecovery.com/). JPEG Digger von disktuna.com kann fragmentierte Fotos und ein paar andere Da-

teiformate retten indem die Datei selbst analysiert wird und falls diese an einer bestimmten Stelle abbricht wird nach dem nächsten passenden Stück auf dem Datenträger gesucht. Dies ist allerdings sehr zeitaufwändig und ordentlich RAM sollte der Rechner auf dem diese Tools laufen auch haben, da diese Tools sehr RAM-hungrig sind. Stolperfalle Sparse-Files Sogenannte Sparse-Files sind Dateien aus denen größere Blöcke an NUL-Bytes (0x00)entfernt wurden. Dies kann zB eine Virtuelle Festplatte einer VM sein:

DATA

0x00

DATA

DATA ...

DATA

0x00

...

48GB

25GB

Um Platz zu sparen, wurden also die zwei Blöcke, die nur NUL-Bytes enthalten, ausgespart und dies im Dateisystem-Eintrag vermerkt. Ohne den $MFT-Eintrag wissen wir nicht, wie die Datei zusammengesetzt werden muss und selbst wenn wir die Datei mit einem RAW-Recovery wiederherstellen, ist sie nicht brauchbar. Auch manches Linux hat mit Sparse-Files in NTFS Probleme!

41

Was CHKDSK wirklich macht Viele Leute glauben, dass das Programm Checkdisk (chkdsk) dazu da ist, Fehler im Dateisystem zu reparieren. Dies stimmt nicht ganz! Checkdisk bringt das Dateisystem wieder in einen konsistenten Zustand, aber dies geschieht in der Regel durch das "Herausschneiden" von beschädigten Teilen. Aber das sorgt für Datenverlust, denn die defekten Teile, die einfach abgeschnitten werden, enthalten meist noch benötigte Daten. Im besten Fall kann man danach einfach mit einem Programm zur Datenrettung diese verlorenen Daten wieder zusammensuchen und retten. Es macht aber wenig Sinn, zuerst die Daten löschen zu lassen und danach diese wieder aufwendig rekonstruieren zu lassen. Oft gehen hierbei auch Ordnerund Dateinamen verloren und Checkdisk sorgt für ein ziemliches Durcheinander in den Daten weil "beschädigte" Dateien zum Teil verschoben und umbenannt werden! Sehen wir uns dazu einen NTFS Dateisystem-Eintrag und die Arbeitsweise von chkdsk genauer an: 1b15e000: 1b15e010: 1b15e020: 1b15e030: 1b15e040: 1b15e050: 1b15e060: 1b15e070: 1b15e080: 1b15e090: 1b15e0a0: 1b15e0b0: 1b15e0c0: 1b15e0d0: 1b15e0e0: 1b15e0f0: 1b15e100: 1b15e110: 42

4649 0100 0000 0300 0000 d89c 875d 2000 0000 0000 0000 0500 d89c d89c 0000 0900 7800 0000

4c45 0100 0000 0000 0000 e34e e852 0000 0000 0000 0000 0000 e34e e34e 0000 7400 7400 0000

3000 3800 0000 0000 0000 150e 150e 0000 0501 0000 0000 0000 150e 150e 0000 6500 0000 0000

0300 0100 0000 0000 0000 d801 d801 0000 0000 0000 0200 0500 d801 d801 0000 7300 0000 0300

216a 8001 0400 1000 4800 875d 2b59 0000 0000 3000 5400 d89c d89c 0030 2000 7400 4000 1000

2000 0000 0000 0000 0000 e852 ea52 0000 0000 0000 0000 e34e e34e 0000 0000 3100 0000 0000

0000 0004 2400 6000 1800 150e 150e 0000 0000 7000 1800 150e 150e 0000 0000 2e00 2800 1800

0000 0000 0000 0000 0000 d801 d801 0000 0000 0000 0100 d801 d801 0000 0000 7400 0000 0000

FILE0...!j ..... ....8........... ............$... ............`... ........H....... ...N.....].R.... .].R....+Y.R.... ............... ................ ........0...p... ........T....... ...........N.... ...N.......N.... ...N.....0...... ........ ....... ..t.e.s.t.1...t. x.t.....@...(... ................

1b15e120: 1b15e130: 1b15e140: 1b15e150: 1b15e160: 1b15e170: 1b15e180: 1b15e190: 1b15e1a0: 1b15e1b0: 1b15e1c0: 1b15e1d0: 1b15e1e0: 1b15e1f0:

f999 8000 0000 4000 4621 2103 0000 0000 0000 0000 0000 0000 0000 0000

4f94 0000 0000 0000 0000 4508 0000 0000 0000 0000 0000 0000 0000 0000

6479 4800 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

ec11 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

9136 0100 0200 0030 4621 ffff 0000 0000 0000 0000 0000 0000 0000 0000

0019 0000 0000 0000 0000 ffff 0000 0000 0000 0000 0000 0000 0000 0000

99bd 0000 0000 0000 0000 8279 0000 0000 0000 0000 0000 0000 0000 0000

0a16 0100 0000 0000 0000 4711 0000 0000 0000 0000 0000 0000 0000 0300

..O.dy...6...... ....H........... ................ @........0...... F!......F!...... !.E..........yG. ................ ................ ................ ................ ................ ................ ................ ................

Dateisystemeinträge beginnen immer mit FILE0 und enthalten neben vielen anderen Informationen den Dateinamen (test.txt), die Versionsnummer (0300) und die sogenannten Fixup-Bytes (0300 am Ende der hexadezimalen Ausgabe). Wird eine Datei neu angelegt, wird zuerst der Dateisystem-Eintrag geschrieben. Wird eine Datei verändert, wird zuerst die Versionsnummer erhöht. Danach wird die Datei auf den Datenträger geschrieben. Nachdem die Datei vollständig geschrieben wurde, werden die Fixup-Bytes auf den gleichen Wert gesetzt wie die Versionsnummer! Da wir die Daten in der Little-Endian Bytereihenfolge betrachten, müssen wir die 0300 als 0x0003 lesen! Hier sehen wir also, dass die Datei in der dritten Version vorliegt. Weiters sehen wir, dass die Datei vollständig geschrieben wurde, da Versionsnummer und Fixup-Bytes übereinstimmen! Wäre der Schreibvorgang in der Mitte der Datei abgebrochen worden, wäre nur die Versionsnummer erhöht worden und die Fixup-Bytes würden noch auf 0x0002 bzw. 0200 stehen. Dies werde ich nun simulieren, indem ich die Versionsnummer mit einem HexEditor wie folgt manipuliere:

43

1b15e000: 1b15e010: 1b15e020: 1b15e030: ... 1b15e1f0:

4649 0100 0000 0400

4c45 0100 0000 0000

3000 3800 0000 0000

0300 0100 0000 0000

216a 8001 0400 1000

2000 0000 0000 0000

0000 0004 2400 6000

0000 0000 0000 0000

FILE0...!j ..... ....8........... ............$... ............`...

0000 0000 0000 0000 0000 0000 0000 0300

................

Danach können wir chkdsk ausführen: PS C:\Windows\system32> chkdsk G: /f Der Typ des Dateisystems ist NTFS. Die Volumebezeichnung lautet chkdskme. Phase 1: Die Basisdatei-Systemstruktur wird untersucht... Beschädigtes Datensatzsegment 24 wird gelöscht. 256 Datensätze verarbeitet. Dateiüberprüfung beendet. Phasendauer (Datei-Datensatz Überprüfung): 12.53 Millisekunden. 0 große Datensätze verarbeitet. Phasendauer (Wiederherstellung für verwaisten Datei-Datensatz): 3.06 Millisekunden. 0 ungültige Datensätze verarbeitet. Phasendauer (Prüfung auf falschen Datei-Datensatz): 0.74 Millisekunden. Phase 2: Die Dateinamenverknüpfung wird untersucht... Indexeintrag test1.txt in Index $I30 der Datei 5 wird gelöscht. 1 Analysedatensätze verarbeitet. Ein Indexeintrag wird aus dem Index $O der Datei 19 gelöscht. 276 Indexeinträge verarbeitet. Indexüberprüfung beendet. Phasendauer (Indexüberprüfung): 24.28 Millisekunden. 0 nicht indizierte Dateien überprüft. Phasendauer (Wiederverbindung für verwaisten Datensatz): 2.18 Millisekunden. 0 nicht indizierte Dateien wiederhergestellt. Phasendauer (Wiederherstellung für verwaiste Datensatz): 1.12 Millisekunden. 1 Analysedatensätze verarbeitet. Phasendauer (Überprüfung von Analysepunkts und Objekt-ID): 3.70 Millisekunden. Phase 3: Sicherheitsbeschreibungen werden untersucht... Überprüfung der Sicherheitsbeschreibungen beendet. 44

Phasendauer (Überprüfung für Sicherheits-Deskriptor): 12.34 Millisekunden. 10 Datendateien verarbeitet. Phasendauer (Datenattributüberprüfung): 1.08 Millisekunden. CHKDSK hat freien Speicher gefunden, der in der MFT-Bitmap (Master File Table) als zugeordnet gekennzeichnet ist. CHKDSK hat freien Speicher gefunden, der in der Volumebitmap als zugeordnet gekennzeichnet ist. Es wurden Korrekturen am Dateisystem vorgenommen. Es sind keine weiteren Aktionen erforderlich. 1328128 KB Speicherplatz auf dem Datenträger insgesamt 8000 KB in 6 Dateien 72 KB in 12 Indizes 0 KB in fehlerhaften Sektoren 5956 KB vom System benutzt 5248 KB von der Protokolldatei belegt 1314100 KB auf dem Datenträger verfügbar 4096 Bytes in jeder Zuordnungseinheit 332032 Zuordnungseinheiten auf dem Datenträger insgesamt 328525 Zuordnungseinheiten auf dem Datenträger verfügbar Gesamtdauer: 62.36 Millisekunden (62 ms).

Das Prüfen des Test-Datenträgers (2 GB USB Stick) hat nur 62 Millisekunden benötigt. Ein Datenrettungs-Programm wie zB r-Studio oder UFS-Explorer würde für diesen Datenträger 15-20 Sekunden benötigen... Diese Geschwindigkeit hat einen Preis - die Daten! Das Dateisystem und die Datei werden nicht repariert. Die beschädigte Datei wird einfach gelöscht! Wie bereits gesagt, sind Ordner quasi auch nur Dateien, deren Inhalt eine Liste der darin enthaltenen Dateien und Unterordner ist. Das kann dazu führen, dass das Eintragen einer Datei in einem Ordner nicht beendet wurde und darum der gesamte Ordner gelöscht wird. Damit sind dann auch die darin enthaltenen Unterordner nicht mehr im Dateisystem verfügbar.

45

So sieht dann eine Kundenplatte aus, nachdem chkdsk fertig ist:

Im Ordner found.001 finden wir sehr viele Unterordner, die wiederum Dateien enthalten. Außerdem gibt es einige Dateien, die file########.chk heißen! Wir sehen im Bild, den Inhalt der Datei file00000006.chk und erkennen anhand der ersten 2 Bytes (0xFF und 0xD8), dass dies eine JPEG-Datei ist. Wir haben also einige Datei- und Ordnernamen verloren. Außerdem müssen wir herausfinden was für Dateitypen sich hinter file########.chk verbergen. Darüber hinaus fehlen einige Dateien. Darum haben wir nach dem Klonen der HDD zuerst nach verlorenen bzw. gelöschten Dateien gesucht.

46

Nach der Wiederherstellung der Daten zeigt sich das ganze Ausmaß der Zerstörung: user@DESKTOP-BKNCCT2$ du -sh * 21M $Extend 87G $LostFiles 1.4G $RECYCLE.BIN 13M 33ee18d46b686758b3df34e8 15M 6b208ee7674deeb54dbbb941 63M 810a328b44168bf388b5 48K Config.Msi 5.5G Desktop Festplatte -C- 06-01-2*** 20G Eigene Dateien 465M Firefox-Downloads 31M F********** Wasserschaden 23M Gopal-Karten und Software und sonstige 4.1G Hochzeit m***** l*** 26G M**** Notebook 7.8G M**** Notebook Asus R**** 2*** 7.4G Programme 7.8M RECYCLER 3.0G System Volume Information 8.0K Thumbs.db 630M Videos iphone B***** 572K bootex.log 16K bootsqm.dat 3.7G found.001 194G windows

Zuerst fällt uns auf, dass ca. 3,7 GB an Daten in found.001 gelandet sind. Diese sind Dateien und Ordner, die man von Hand prüfen und wieder einsortieren muss. Im Ordner $LostFiles sind weitere 87 GB an Daten, die gelöscht wurden! Werfen wir kurz einen Blick in diesen Ordner:

47

user@DESKTOP-BKNCCT2$ ls -l \$LostFiles/\$Group100000000000001/ total 0 drwxrwxrwx 1 root root 512 Jan 20 11:57 '$Folder0000001E' drwxrwxrwx 1 root root 512 Jan 20 11:36 '$Folder0000001F' drwxrwxrwx 1 root root 512 Jan 20 11:57 '$Folder000000EF' drwxrwxrwx 1 root root 512 Jan 20 11:57 '$Folder000000F0' drwxrwxrwx 1 root root 512 Jan 20 11:57 '$Folder00000176' drwxrwxrwx 1 root root 512 Jan 20 11:57 '$Folder0000018A' drwxrwxrwx 1 root root 512 Jan 20 11:57 '$Folder000001A0' drwxrwxrwx 1 root root 512 Jan 20 11:57 '$Folder000001BB' drwxrwxrwx 1 root root 512 Jan 20 11:57 '$Folder000001CA' drwxrwxrwx 1 root root 512 Jan 20 11:57 '$Folder000001DB' ... usw.

Checkdisk hat, wie wir sehen, nicht die Aufgabe, Daten zu retten, sondern das Dateisystem wieder in einen konsistenten Zustand zu versetzen, damit das Betriebssystem booten oder die Festplatte wieder eingehängt werden kann. Das geschieht auf Kosten der Daten! Wir wollen bei einer Datenrettung aber nicht unbedingt, dass die Platte wieder vom Betriebssystem gelesen werden kann. Vor allem nicht, wenn das Betriebssystem dann nach einem Datenverlust anfängt, die Platte zu defragmentieren oder durch andere Aktivitäten verlorene Daten zu überschreiben. Besonders gefährlich wird dies, wenn es sich um ein neues Festplatten-Modell oder eine SSD handelt. Bei diesen Datenträgern kann der TRIM-Befehl binnen Minuten oder gar nur Sekunden die Daten unwiederbringlich vernichten! Führen Sie also niemals eine Dateisystemreparatur aus, sondern klonen Sie die Platte lieber und untersuchen Sie sie dann mit einem Programm wie r-Studio oder UFS-Explorer. Genau um solche Probleme zu beheben, sind diese Tools geschaffen worden! Hierbei ist es egal, ob wir von chkdsk unter Windows oder fsck am Mac oder in Linux sprechen. Alle diese Tools arbeiten zu einem gewissen Grad gleich und verursachen nur Datenverlust und zusätzlichen Aufwand, die Daten zu sichern und einzusortieren.

48

Gefahren von Datenrettungssoftware Man sollte Tools wie r-Studio oder UFS-Exporer nicht Datenrettungssoftware nennen. Eigentlich sind diese Programme dazu da, versehentliches Löschen und Formatieren auf gesunden Datenträgern rückgängig zu machen oder beschädigte Dateisysteme auf gesunden Datenträgern wieder zusammenzufügen. Natürlich ist dies ein Teil der Datenrettungen, aber wir wollen uns im Folgenden Fälle ansehen, bei denen man nicht sofort mit diesen Tools loslegen sollte. Das ist leider auch etwas, das in vielen Artikeln und sogar in Ausbildungen falsch gezeigt wird. Wir bekommen jeden Monat Datenträger, die ein IT-Techniker durch falsches Vorgehen weiter beschädigt oder sogar völlig vernichtet hat! Wir sollten sicher sein, dass eine Festplatte keine wirklichen Probleme hat und es nur ein logischer Fehler ist, der von einem Software-Problem verursacht wurde uns nicht von defekten Sektoren oder etwas anderem. Einen Anhaltspunkt dafür, dass die Platte OK ist, liefern die S.M.A.R.T. Daten: === START OF INFORMATION SECTION === Model Family:

Seagate Momentus 5400.3

Device Model:

ST9120822AS

Serial Number:

5LZ5R8G7

Firmware Version: 3.BHE User Capacity:

120.034.123.776 bytes [120 GB]

Sector Size:

512 bytes logical/physical

Device is:

In smartctl database [for details use: -P show]

ATA Version is:

ATA/ATAPI-7 (minor revision not indicated)

Local Time is:

Sun Mar 22 14:32:47 2020 MZ

SMART support is: Available - device has SMART capability. SMART support is: Enabled

=== START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 10 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME

FLAG

VALUE WORST THRESH TYPE

UPDATED

1 Raw_Read_Error_Rate

0x000f

100

253

006

Pre-fail

Always

WHEN_FAILED RAW_VALUE -

0

3 Spin_Up_Time

0x0002

100

099

000

Old_age

Always

-

0

4 Start_Stop_Count

0x0033

095

095

020

Pre-fail

Always

-

5767

49

5 Reallocated_Sector_Ct

0x0033

001

001

036

Pre-fail

Always

7 Seek_Error_Rate

0x000f

088

060

030

Pre-fail

Always

FAILING_NOW 63832 -

5051289697

9 Power_On_Hours

0x0032

081

081

000

Old_age

Always

-

17133

10 Spin_Retry_Count

0x0013

100

100

034

Pre-fail

Always

-

0

12 Power_Cycle_Count

0x0033

097

097

020

Pre-fail

Always

-

3463

184 End-to-End_Error

0x0032

100

253

000

Old_age

Always

-

0

187 Reported_Uncorrect

0x003a

044

044

000

Old_age

Always

-

56

188 Command_Timeout

0x0022

100

099

045

Old_age

Always

-

8590065673

189 High_Fly_Writes

0x0032

100

100

000

Old_age

Always

-

0

190 Airflow_Temperature_Cel 0x0032

072

036

000

Old_age

Always

-

28

192 Power-Off_Retract_Count 0x0022

100

100

000

Old_age

Always

-

301

193 Load_Cycle_Count

0x001a

001

001

000

Old_age

Always

-

1059251

194 Temperature_Celsius

0x0012

028

064

000

Old_age

Always

-

28

195 Hardware_ECC_Recovered

0x0010

112

054

000

Old_age

Offline

-

220388618

197 Current_Pending_Sector

0x003e

100

001

000

Old_age

Always

-

17

198 Offline_Uncorrectable

0x0000

100

001

000

Old_age

Offline

-

17

199 UDMA_CRC_Error_Count

0x0032

200

200

000

Old_age

Always

-

235

200 Multi_Zone_Error_Rate

0x0000

100

253

000

Old_age

Offline

-

0

202 Data_Address_Mark_Errs

0x0000

100

253

000

Old_age

Offline

-

0

Wir sehen hier die Daten einer Kunden-Platte, die wir vor ein paar Jahren gerettet haben. Diese Platte hat 63832 neu zugewiesene Sektoren. Diese ausgemappten Sektoren verursachen zusätzlichen Stress, denn durch das ausmappen muss die Platte immer wieder Sprünge ausführen und abgesehen von der schlechteren Performance ist dies auch eine mechanische Mehrbelastung. Dazu kommt, dass diese Platte mit auch schon ein entsprechendes Alter hat und ich würde nicht empfehlen, eine solche Platte über Stunden auf Hochtouren arbeiten zu lassen, ohne ein einziges Byte an Daten zu sichern. Oftmals hat man bei Datenrettungen nur eine Chance - über die Jahre habe ich einige Beispiele gesammelt und zwei davon will ich Ihnen an dieser Stelle zeigen. Die folgenden Bilder zeigen Screenshots aus einem Imaging-Vorgang einer Kundenplatte:

50

Man kann sehr schön erkennen, wie die Performance der Platte (siehe Diagramm) immer weiter abnimmt und die Platte nur noch alle paar Minuten für einen kurzen Zeitraum Daten in annehmbarer Geschwindigkeit liefert. Stellen Sie sich vor, Sie lassen eine Analyse laufen und haben damit quasi das letzte bisschen Leben der Platte verbraucht. Wenn Sie nun anfangen, Daten zu kopieren, wird dieser Vorgang sehr lange dauern und die Wahrscheinlichkeit ist 51

hoch, dass diese Platte dann beim Kopieren ausfällt. Darum sollte man bei dem kleinsten Anzeichen von möglichen Problemen lieber die Platte klonen. Dies verursacht weniger Stress für die Platte als die Analyse, da das Abgleichen der gefundenen Daten mit dem Dateisystemkatalog entfällt und sollte die Platte beispielsweise bei 87% ausfallen, dann haben wir wenigsten 87% der Daten gesichert. Passiert dies bei 87% der Analyse, haben wir nicht 1 Byte an Daten vorzuweisen. Ein noch dramatischeres Beispiel ist das Folgende. Hierbei bekamen wir eine Platte, die einen Headcrash hatte, und bei der genaueren Untersuchung in unserer Reinraumbox entdeckten wir folgenden Kratzer auf den Magnetscheiben:

Eine Datenrettung ist in diesem Fall noch gut machbar, aber wir benötigen hier entweder spezielle Rampen, die einen Tauschkopf über den Kratzer leiten wie zB: https://www.dolphindatalab.com/product/dolphin-scratched-head-combsuite-001/

Da dies die obere Seite der Magnetscheibe war, könnten wir nach einer gründlichen Reinigung von Magnetscheiben und Innenraum der Platte auch einen regulären Headswap durchführen und den obersten Kopf verbiegen damit er nicht mit der Oberfläche in Berührung kommt.

52

Dann könnten wir eine Headmap generieren und den obersten Kopf deaktivieren und dann die anderen Magnetoberflächen klonen. So hätten wir schon mal die 50% der Daten von der Unterseite. Danach könnten wir einen weiteren Kopf verwenden, um die oberste Fläche von innen nach außen zu klonen. Mit etwas Glück überlebt der Kopf das schnelle Überfliegen der Schadstelle oder wir nutzen die zuvor genannte spezielle Rampe. Nur ist dieser Prozess aufwendig und teuer und die Kundin wollte es zuerst jemand anders versuchen lassen und so sendeten wir die Festplatte zurück. Nach 1 Monat bekamen wir die Platte wieder, nachdem diese andere Firma nichts ausrichten konnte und als wir die Platte öffneten, sah die Magnetscheibe so aus:

53

Der Kopf muss viele Male über diesen Kratzer geflogen sein und dabei hat sich der Kratzer verschlimmert und Partikel sind von der Oberseite auf die Unterseite gelangt und haben auch diesen Kopf zerstört. Je mehr Partikel umherfliegen, umso schlimmer die Verwüstung und am Ende fährt der Kopf auf der Suche nach Daten vor und zurück auf der Platte und trägt dabei die Oberfläche ab, da sich Partikel unter dem Kopf festsetzen und wie Schleifpapier wirken. Aus diesem Fall können wir zwei Dinge lernen: 1. Datenrettungen erlauben keine Abkürzungen, Kompromisse und schnelle Lösungen. Wer ungeduldig ist und Vorgänge beschleunigen will oder Kompromisse macht, riskiert einen Totalausfall und eine Verschlimmerung der Situation. 2. Es kann immer zu Problemen kommen. Daher muss eine Datenrettung überwacht werden, damit jemand bei Problemen reagieren und Schlimmeres verhindern kann.

Ein weiteres Problem von Datenrettungssoftware ist, dass diese über die API des Betriebssystems auf die Hardware zugreifen muss. Kein Betriebssystem wurde dazu entwickelt, mit defekter Hardware zu arbeiten. Das ist aber genau das Problem. Wenn ein Programm nach Stunden der Analyse auf einen Problembereich trifft und dann Windows die Platte auswirft, weil diese nicht mehr reagiert, dann kann die Software entweder jeden der Sektoren ab diesem Zeitpunkt als nicht lesbar ansehen oder sogar abstürzen. In jeden dieser Fälle ist das Scanergebniss an dem Stunden gearbeitet wurde, unbrauchbar und man müsste wieder von vorne beginnen!

54

SSDs & TRIM SSD und einige neuere magnetische Festplatten unterstützen das sogenannte TRIM-Kommando mit dem der Speicherplatz, den gelöschte Daten belegen, im Hintergrund geleert wird. SSDs können Daten nicht einfach überschreiben, ohne den Speicherbereich vorher zu leeren. Da dieser zusätzliche Schritt die SSD beim Wiederverwenden von zuvor belegten und gelöschten Speicherbereichen langsamer machen würde, wurde TRIM entwickelt. Dieses Kommando wird vom Betriebssystem ausgelöst und veranlasst die SSD oder HDD nicht mehr belegte Speicherbereiche zu leeren und so für ein erneutes Beschreiben vorzubereiten. Was gut für die Systemperformance ist, ist ganz schlecht für Daten - zumindest wenn diese versehentlich gelöscht werden. Sollte TRIM im Betriebssystem aktiv sein, können versehentlich gelöschte Daten binnen Minuten überschrieben und damit unwiederbringlich vernichtet werden. Jahrzehnte lang war es jedem IT-Interessierten klar, dass versehentlich gelöschte Daten mit einfachen Mitteln wie Datenrettungssoftware wiederhergestellt werden können. Seit es TRIM gibt, ist dies nicht mehr in Stein gemeißelt! Da TRIM Daten überschreibt, kann nicht einmal ein Datenrettungslabor helfen, wenn Daten versehentlich gelöscht wurden. Damit sinkt die Quote der erfolgreichen Software-Datenrettungen nicht unerheblich.

55

Spezielle Tools Oftmals sind Dateien beschädigt, weil sie bereits partiell überschrieben wurden oder weil defekte Sektoren innerhalb der Datei nicht gelesen werden konnten. Auch wenn eine Datei defekt ist, gibt es noch Hoffnung - in vielen Fällen kann man die Datei reparieren oder zumindest einen Teil der Datei retten. In diesem Abschnitt will ich Ihnen ein paar Tools nennen, die dazu verwendet werden können, Dateien zu reparieren. Dieser Prozess ist allerdings in vielen Fällen mit einem bestimmten manuellen Aufwand verbunden. Es gibt Tools, die eine Stapelverarbeitung erlauben, aber nicht alle Techniken und Tools kommen ohne manuelle Usereingaben aus. Außerdem gibt es bestimmte Spezialfälle, in denen spezielle Tools benötigt werden, um die Daten überhaupt lesen zu können. Hier wären vor allem anderen Aufzeichnungen von Überwachungskameras zu nennen. JPG-Reparatur Für viele Leute sind Fotos wertvolle Erinnerungen, die nicht zurückzubringen sind, denn die Kinder werden nie wieder ihre Taufe oder ihren ersten Schultag haben und die verstorbene Großmutter wird nie wieder zu einer Geburtstagsoder Weihnachtsfeier kommen. Daher sind Fotos oftmals eines der wichtigsten Dinge, die es zu retten gilt und auch immer ein emotionales Verkaufsargument. Aber dazu später mehr. JPEG ist eigentlich die Kompressionsmethode und nicht das Dateiformat aber wir wollen hier keine Haare spalten, sondern Daten retten, und daher werde ich die Begriffe umgangssprachlich verwenden. Bei der JPEG-Kompremierung wird die Farbinformation (Chrominanz) von der Helligkeitsinformation (Luminanz) getrennt und die Auflösung der Farbinformationen wird je nach Kompressionsgrad verringert. Danach wird das Bild in 8x8 Pixel Gruppen geteilt und jede davon mit der sogenannten diskreten Kosinustransformation encodiert. Die Mathematik dahinter ist nicht wirklich trivial, für uns aber irrelevant. 56

Diese 8x8 Pixel können dann mit den gleichen 8 horizontalen und 8 vertikalen Cosinus-Kurven dargestellt werden, die verschiedene Frequenzen darstellen. Einfach gesagt eine quasi homogene Fläche hat nur minimale Änderungen im niedrigen Frequenzbereich, wohingegen Bereiche mit feinen Strukturen wie zB Haare stärkere Änderungen in hohen Frequenzbereichen haben. Damit haben wir auch ein Raster an Frequenzen von 8x8. Jetzt wird für jeden der 8x8 Pixel Blöcke errechnet, wie stark jede der Cosinuskurven auf diesen Block zutrifft. Damit erhalten wir 64 Zahlenwerte, die angeben, mit welcher Gewichtung jede der Cosinuskurven verrechnet werden muss, um das exakt gleiche 8x8 Pixel-Raster zu erzeugen. Diese 8x8 Gewichtungen werden durch die Werte in einer Quantitations-Tabelle dividiert und auf die nächste Ganzzahl gerundet. Somit werden in Bereichen mit weniger Strukturen sehr viele der hohen Frequenzen rausfallen, da diese nach der Division sehr kleine Werte erreichen, die auf 0 gerundet werden. So können wir einen 8x8 Pixel Block mit 3, 5, 8 oder 12 Werten repräsentieren anstatt mit 64 Werten. Darum spricht man auch von verlustbehafteter Komprimierung da Werte abgeschnitten werden, die einen minimalen Effekt haben, kommt es zu minimalen Farbverschiebungen und anderen JPEG-Artefakten. Danach werden die Daten so serialisiert, dass die Zahlen von den niedrigen zu den hohen Frequenzen ansteigen. Damit landen diejenigen Werte, die zu 0 gerundet wurden, am Ende der Liste. Diese Zahlenreihen lassen sich mit der Huffman-Kodierung dann gut komprimieren. Unterschiedliche Programme oder Geräte können ihre eigenen QuantitationsTabellen verwenden und so die Kompression und den Bildqualitätsverlust steuern. Darum sind die Quantitations-Tabellen für die verschiedenen Farbkanäle auch im JPG-Header enthalten genau wie die anderen Informationen, um diesen doch recht komplexen Prozess wieder umzukehren. Sehen wir uns den Dateiaufbau nochmals grob schematisch an:

57

00000000: 00000010: 00000020: 00000030: 00000040: 00000050: 00000060: 00000070: 00000080: 00000090: 000000a0: 000000b0: 000000c0: 000000d0: 000000e0: 000000f0: 00000100: 00000110: 00000120: 00000130: 00000140: 00000150: 00000160: 00000170: 00000180: 00000190: 000001a0: 000001b0: 000001c0: 000001d0: 000001e0: 000001f0: 00000200: 00000210: 00000220: 00000230: 00000240: 00000250: 00000260: 58

ffd8 0060 002a 0001 0201 0303 090b 0c0c 4301 0c0c 0c0c 0c0c 0c0c 1101 0101 0607 0204 1105 91a1 090a 3738 5758 7778 9697 b4b5 d2d3 e8e9 1f01 0000 00b5 0102 0761 3352 191a 4647 6667 8586 a3a4 bac2

ffe0 0000 0000 0000 0102 0604 0908 0709 0202 0c0c 0c0c 0c0c ffc0 0311 0100 0809 0305 1221 0823 1617 393a 595a 797a 9899 b6b7 d4d5 eaf1 0003 0001 1100 7700 7113 f015 2627 4849 6869 8788 a5a6 c3c4

0010 ffe1 0008 0000 0202 0403 080a 0e0f 0203 0c0c 0c0c 0c0c 0011 01ff 0000 0a0b 0504 3141 42b1 1819 4344 6364 8384 9aa2 b8b9 d6d7 f2f3 0101 0203 0201 0102 2232 6272 2829 4a53 6a73 898a a7a8 c5c6

4a46 0022 0001 0000 0202 0507 0807 0d0c 0303 0c0c 0c0c 0c0c 0800 c400 0000 ffc4 0400 0613 c115 1a25 4546 6566 8586 a3a4 bac2 d8d9 f4f5 0101 0405 0204 0311 8108 d10a 2a35 5455 7475 9293 a9aa c7c8

4946 4578 0112 ffdb 0202 0607 070a 0e0b 0603 0c0c 0c0c 0c0c 1000 1f00 0000 00b5 0001 5161 52d1 2627 4748 6768 8788 a5a6 c3c4 dae1 f6f7 0101 0607 0403 0405 1442 1624 3637 5657 7677 9495 b2b3 c9ca

0001 6966 0003 0043 0203 0707 0d0a 0c0c 0306 0c0c 0c0c 0c0c 1003 0001 0001 1000 7d01 0722 f024 2829 494a 696a 898a a7a8 c5c6 e2e3 f8f9 0101 0809 0407 2131 91a1 34e1 3839 5859 7879 9697 b4b5 d2d3

0101 0000 0000 0002 0503 0607 0a0b 0cff 0c08 0c0c 0c0c 0c0c 0122 0501 0203 0201 0203 7114 3362 2a34 5354 7374 9293 a9aa c7c8 e4e5 faff 0100 0a0b 0504 0612 b1c1 25f1 3a43 5a63 7a82 9899 b6b7 d4d5

0060 4d4d 0001 0101 0303 0708 0c0c db00 0708 0c0c 0c0c 0c0c 0002 0101 0405 0303 0004 3281 7282 3536 5556 7576 9495 b2b3 c9ca e6e7 c400 0000 ffc4 0400 4151 0923 1718 4445 6465 8384 9aa2 b8b9 d6d7

......JFIF.....` .`....."Exif..MM .*.............. ...........C.... ................ ................ ................ ................ C............... ................ ................ ................ .............".. ................ ................ ................ ..........}..... ...!1A..Qa."q.2. ...#B...R..$3br. .......%&‘()*456 789:CDEFGHIJSTUV WXYZcdefghijstuv wxyz............ ................ ................ ................ ................ ................ ................ ................ ..w.......!1..AQ .aq."2...B.....# 3R..br...$4.%... ..&‘()*56789:CDE FGHIJSTUVWXYZcde fghijstuvwxyz... ................ ................ ................

00000270: 00000280: 00000290: 000002a0: 000002b0: 000002c0: 000002d0: 000002e0: 000002f0: 00000300: 00000310: 00000320: 00000330: 00000340: 00000350: 00000360: 00000370: 00000380: 00000390: 000003a0:

d8d9 f6f7 003f 756f d7f7 e528 efc1 27d7 da5d 00d8 d0af 5c33 100f e3af ddb3 613b 52a5 fd73 e4e7 4e1c

dae2 f8f9 00fd 08e8 97ff 1e4a 3a3f ee2e 60c9 63f6 60f1 c71f 3b2b 8d3e 69b7 4aea 5137 19c1 a91a c939

e3e4 faff a2f0 969f 00e8 9dcd 87fc 07f6 f2a4 b3f8 c6b1 977d a1fd 20d6 c7ec 1b2b 2dec 3977 929f c145

e5e6 da00 af8c 076d fbe2 bc54 27e1 8d95 c891 01f1 36a8 0fd9 883e 34bf cf0c 80d8 9a4a d5a5 b2ff b81f

e7e8 0c03 be2d 7484 922f 5e38 fbbf d08e 87c9 b3e2 ba34 15e1 0afe 0a58 71c7 daab fdfb 9961 009f ffd9

Datei-Teil Start of Image Application0 EXIF-Daten Quantitations-Tabelle Luminanz Quantitations-Tabelle Chrominanz Start of Frame Huffman-Tabelle 1 Huffman-Tabelle 2 Huffman-Tabelle 3 Huffman-Tabelle 4 Start of Scan Bilddaten End of Image

e9ea 0100 ddfe 9b45 38b0 f187 8377 6304 b735 cfc4 7711 572a d83a 58bc 6567 e1d3 5bba f31c 6ddd

f2f3 0211 d75e f10c 4f9e c60b 9a7d 50c7 f1af 6f82 35fd 18cc d7ed 571a 2342 cc2a bdb6 1ca1 d4e7

f4f5 0311 26d1 778a e003 1fda ccde e729 c4ff fe35 ec72 bf22 a967 3ff6 ae24 f3aa 77d4 0a37 db96

................ ................ .?.......-...^&. uo.....mt..E..w. ........./8.O... .(.J...T^8...... ..:?..‘....w.}.. ‚.........c.P..) .]`........5.... ..c.........o..5 ..`...6..4w.5..r \3...}....W*..." ..;+...>...:...g ...> .4..XX.W.?. ..i.....q.eg#B.$ a;J..+.......*.. R.Q7-..J..[...w. .s..9w...a.....7 ..........m..... N..9.E....

Magic Number FFD8 FFE0 FFE1 FFDB FFDB FFC0 FFC4 FFC4 FFC4 FFC4 FFDA FFD9

Ohne die Tabellen im Header können wir die Bilddaten nicht decodieren. Da diese Tabellen allerdings vom Bildverarbeitungsprogramm oder der Kamera generiert werden, können wir diese von einem passenden Spender-Bild nehmen. 59

Wenn das Spenderbild mit den gleichen Einstellungen vom gleichen Gerät bzw. Programm erstellt wurde und damit die gleichen Tabellen im Header enthält, können wir ein Bild mit defektem Header retten, indem wir einfach den Header des Spenderbildes transplantieren. Das können wir manuell mit einem Hexeditor machen oder mit bestimmten Programmen wie zB: > JPEG Repair Toolkit (https://www.disktuna.com/) > JPEG Repair Shop (http://anderspedersen.net/jpegrepair/) > etc. Sehen wir uns zuerst an wie wir den Header austauschen: Starten Sie das Programm, markieren Sie links unten den Radio-Button Repair (header) und klicken Sie dann auf den Öffnen-Button direkt darunter. Das Programm fragt Sie zuerst nach der Patienten-Datei:

Markieren Sie die Patienten-Datei und klicken Sie auf OK. Dann werden Sie nach der Spender-Datei gefragt:

60

Wenn Sie auf den Repair-Button klicken, sehen Sie Folgendes:

Der Prozess ist im Grunde kinderleicht, aber je nach Menge der Bilder und Menge der passenden Header ziemlich zeitaufwendig. Sie sehen auch schön, dass wir den Header eines anderen Bildes genommen haben, um diese Datei zu reparieren.

61

Das nächste Programm, das wir uns ansehen wollen, ist JPG-Repair. Damit werden wir das zweite defekte Bild reparieren: Dazu öffnen wir das Programm und wählen den Ordner mit den Bildern aus. Danach können wir mit den Links- und Rechts-Buttons oben zwischen den Bildern hin und her schalten:

Wir sehen in diesem Bild, dass wir hier eine Beschädigung haben (weißer Pfeil) und einen Versatz (schwarzer Pfeil). Wir müssen die beschädigten MCUs (Minimum Coded Unit - also quasi unsere 8x8 Pixel Blöcke) entfernen und dann durch leere MCUs ersetzen, um den Versatz wieder zu beheben. Wir markieren dazu die erste defekte MCU und klicken so oft auf den Remove MCU Button (unten rechts), bis die defekten Blöcke alle entfernt wurden. Danach Klicken wir so lange auf den Insert MCU - Button, bis der Versatz behoben ist:

62

Ein Klick auf den Fix colors Button bringt folgendes Ergebnis:

Nach zwei weiteren Klicks auf diesen Button sieht das Resultat gut aus:

63

Die unansehnliche graue Linie im Bild müssen wir dann mit Photoshop wegretuschieren. Der Unterschied von JPEG Repair Shop zu JPEG Toolkit ist, dass wie hier in MCUs arbeiten und bei JPEG Toolkit arbeiten wir im Patch-Modus mit Bytes. JPEG Repair Shop ist etwas anfängerfreundlicher, aber das Toolkit ist mächtiger, kann genauer dosiert werden und kostet nicht besonders viel. Reparatur von RAW-Fotos / JPG-Extraktion RAW-Fotos sind quasi digitale Negative, die höherwertigere Kameras aufnehmen können. Diese Bilder müssen erst mit entsprechenden Tools entwickelt und in JPG- oder TIFF-Dateien umgewandelt werden. JPEG Repair Toolkit kommt auch mit RAW-Dateien wie CR2, NEF, DNG, ... klar. Für diese Art von Fotos gibt es aber eine interessante weitere Option - meist haben derartige Dateiformate ein JPG-Vorschaubild in einer recht großen oder sogar in voller Auflösung eingebettet. Viele JPG-Dateien haben auch Vorschaubilder eingebettet, aber oftmals lässt die Auflösung zu wünschen übrig. 64

Wir nutzen dazu ein selbstentwickeltes Tool, dass einen entscheidenden Vorteil hat. Der DISK Doctor JPEG extractor verpflanzt die EXIF-Daten des Bildes in das Vorschaubild (sofern welche gefunden werden konnten), damit wir die extrahierten Dateien dann mit entsprechenden Scripten nach dem Aufnahmedatum sortieren können. Das Tool ist kinderleicht zu bedienen - zuerst wählen wir den Ordner mit den beschädigten Bildern aus:

Und dann können wir den Vorgang mit einem klick auf Start beginnen. Der JPEG Extractor extrahiert JPEG-Bilder aus allen möglichen Dateiformaten von Fotos über PDFs bis hin zu DD- bzw. RAW-Images von Datenträgern. Das Programm verfolgt dabei einen Bruteforce-Ansatz und ist nicht besonders schnell, aber es ist sehr gründlich:

65

Der Vorteil dieses Ansatzes ist es, dass ein Programm die Arbeit für uns macht und wir nicht gezwungen sind, eventuell Dutzende RAW-Bilder von Hand zu bearbeiten, dann zu entwickeln und zu retuschieren. So kann ich in zwei Minuten das Programm starten, den PC zwei Stunden laufen lassen und dann dem Kunden eine Arbeitsstunde verrechnen. Damit bleibt die Datenrettung für den Kunden bezahlbar und die Ergebnisse sind oftmals ausreichend. Wenn ich für den Kunden tagelang Bilder repariere, entwickle und retuschiere, dann kostet dies eine ganze Menge Geld und das sind nur wenige Kunden bereit zu bezahlen. Oftmals gibt es auch eine Mischlösung, bei der dann alle Vorschaubilder extrahiert werden und nur bei einigen wenigen ausgesuchten Bildern von Hand nachgearbeitet wird, um auch die Originaldaten zu retten. Video-Reparatur Videos sind oftmals genau wie Bilder emotionale Erinnerungsstücke, die ein Kunde unbedingt zurückhaben möchte. Daher ist die Reparatur beschädigter Videos auch recht wichtig. Hierbei kann ich Ihnen zwei Tools empfehlen: > Fix.Video Re-Encoder (https://fix.video/blog/how-to-re-encode-your-video-file/) > Video Repair Tool (https://main.grauonline.de/?page_id=5) Sie können auch den Online-Service von Fix.Video nutzen - nur zahlen Sie dann pro Video eine bestimmte Summe. Video Repair Tool arbeitet ähnlich wie JPEG Toolkit und benötigt ein gutes Beispiel-Video, das mit dem Patienten Video verglichen wird. Der Re-Encoder versucht einfach ein Video neu zu encodieren und ist dabei fehlertoleranter als andere Videokonverter. Datenrettung heißt aber oftmals auch improvisieren, Dinge zweckentfremden und eigene Lösungen finden.

66

Bei meinem Versuch mit einem Video, bei dem ich an zwei Stellen einen 4k Sektor mit zufälligem Datenmüll gefüllt habe, zeigte sich folgende Bildstörung:

Diese konnte einfach mit dem Fix.Video Re-Encoder behoben werden:

67

Dazu müssen wir einfach die beschädigten Videos öffnen, die Qualität einstellen und die Stapelverarbeitung laufen lassen. Das Re-Encodierte Video weist danach keine Bildstörungen mehr auf. Das gleiche Ergebnis konnte ich aber auch mit einem Tool namens HandBrake (https://handbrake.fr/downloads.php) erreichen. Dies ist ein recht bekannter und schneller Videokonverter und kein spezielles Datenrettungstool. Schauen Sie über den Tellerrand, versuchen Sie herkömmliche Tools und probieren Sie diese einfach mit ein paar Testdateien aus. Oftmals helfen Tools wie Dateikonverter weiter. Dateireparatur-Tools von Datanumen Weitere wichtige Daten sind oftmals Dokumente und Datenbanken. Ob es die Bachelor-Arbeit, der selbst geschriebene Roman oder die Datenbank mit der Buchhaltung der letzten paar Jahre ist - in vielen Dokumenten steckt eine Menge Arbeit! Wie üblich schlägt auch hier Murpheys-Gesetz gern zu, und es sind die wenigen defekten Sektoren, die nicht gelesen werden konnten, genau in der wichtigsten Datei der ganzen Datenrettung... Datanumen (https://www.datanumen.com/products/) bietet Reparatur-Tools für viele verschiedene Datenformate von Office-Dateien über Archive und EmailPostfächer bis hin zu Datenbanken und einigem mehr. Die Tools sind nicht die billigsten und jedes Dateiformat kostet Geld, aber sie funktionieren gut. Natürlich gibt es sehr viele weitere Tools, die teilweise sogar kostenlos sind. Ich habe schon beschädigte MS-Office Dokumente mit Open Office geöffnet und so gerettet. Auch hier müssen Sie Zeit investieren, Tools suchen, testen und das für jeden Fall wiederholen, denn was bei einem Fall funktioniert, muss nicht zwangsläufig immer zum Erfolg führen. Im Grunde sind die meisten Tools zur Dateireparatur recht simpel und selbsterklärend. Darum verzichte ich auf weitere praktische Beispiele.

68

Manuelle Datenreparatur Ich erinnere mich an einen meiner Fälle, bei dem ich die Datenbank eines Warenwirschafts- und Fakturierungssystems wiederherstellen sollte. Da die Daten teilweise beschädigt waren, konnte ich den Letztstand leider nicht retten. Glücklicherweise gab es gezippte Sicherungen, nur waren diese Zip-Dateien auch teilweise beschädigt. Nach der Reparatur mit verschiedenen Tools hatte ich verschiedenste Datenbanktabellen mit verschiedensten Datenständen in unterschiedlichen Ordnern, aber nicht einen einzigen kompletten Satz, den ich importieren konnte. Also fing ich an, aus den verschiedensten Datenständen einen kompletten Satz zusammenzufügen, indem ich fehlende Tabellen aus einem älteren Datenstand ergänzte und beschädigte Tabellen ersetzte. Dies machte ich so lange, bis der Import durchlief. Bei dem Versuch, den Mandanten zu öffnen, kam es aber zu diversen Fehlern. Also musste ich die Datenbanktabellen mit entsprechenden Tools öffnen und von Hand nachbearbeiten. Da zB die Kundentabelle vom 16.08.2019 war und die Rechnungs- und Angebotstabellen vom 22.08.2019 lag es auf der Hand, dass ziemlich sicher Kundendaten fehlen würden und so ergänzte ich die Tabelle mit Dummy-Kunden, um Datensätze zu haben, die von den Rechnungen und Angeboten referenziert werden konnten. Das ist nicht ideal, aber es ist besser, die Daten der letzten 5-8 Arbeitstage prüfen zu müssen, als die letzten zwei oder drei Geschäftsjahre von Hand nacherfassen zu müssen! Dieser Frankenstein-Ansatz in Verbindung mit etwas Try & Error haben mir schon einige Fälle gelöst. Sobald der Mandant in dem Programm fehlerfrei geöffnet werden konnte und sich die letzten Geschäftsfälle öffnen ließen, machte ich wieder einen Export, den ich dann wieder importierte um so eventuelle vorhandene kleinere Fehler in meiner Basteldatenbank loszuwerden.

69

Aufzeichnungen von Überwachungskamera-Systemen Festplattenrekorder, vor allem jene, die Überwachungskameras aufzeichnen, haben oftmals eine ganz eigene Art, die Daten zu schreiben. Hier kommen alle möglichen proprietären Standards zum Einsatz! Natürlich kann man Daten mit einem RAW-Recovery retten, aber kein Kunde will sich durch Hunderte Stunden Videomaterial ohne jeglichen Bezug zur Kamera und der Zeit kämpfen, um dann das eine Video zu finden, das von der gesuchten Kamera zu einer bestimmten Zeit aufgenommen wurde. Daher gibt es einige spezielle Tools für diesen Einsatzzweck. Unter anderem bietet folgende Datenrettungs-Hardware spezielle Module für diesen Fall an: > MRT (http://en.mrtlab.com/) > DD3000 (http://forum.iccsys.net/) Hierbei will ich sagen, dass DD3000 zwar sehr billig ist, aber das Tool ist keinesfalls ausgereift und ich würde um die Firmware-Funktionen einen großen Bogen machen! Wir nutzen das Tool als einfachen Imager in manchen Fällen und sonst greifen wir nur auf das Sammelsurium an Dateireparatur- und Spezialtools zurück:

70

Wenn Sie DD3000 einsetzen, müssen sie unbedingt mit Windows 7 arbeiten. Auf Windows 10 läuft die Software extrem instabil! Aber es gibt auch Software-Lösungen - wie zB: > > > >

DVR Examiner (Für den Forensik-Bereich - https://dmeforensics.com) HXDVR (http://www.hxdvr.com/) myCCTV Recovery (https://www.sysdevlabs.com/de/product.php?id=mcctv) Dolphin DVR Pro (https://www.dolphindatalab.com/product/dolphin-dvr-probusiness-version/)

Die Vorgehensweise ist dabei immer die gleiche - wir klonen die Festplatte und stellen dann die Daten mit entsprechender Software wieder her. Dateisysteme von anderen Betriebssystemen unter Windows lesen WSL in Windows 10 installiert auch die passenden Dateisystemtreiber für gängige Linux-Dateisysteme und Sie können Linux-Datenträger einfach lesen. Ein weiteres Tool, das dies ermöglicht, ist Linux Reader von DiskInternals (https:// www.diskinternals.com/linux-reader/). MacDisk (https://www.macdisk.com/mden.php) erlaubt es HFS+ und APFS Dateisysteme unter Windows zu lesen. Außerdem ist MacDisk sehr gut darin mit beschä-

digten HFS+ Dateisystemem umzugehen - besser als ein Computer vom Apple selbst! Sie können die üblichen Datenrettungstools wie DMDE, r-Studio oder UFS Explorer ebenfalls dazu verwenden aber in manchen Fällen macht es Sinn verschiedenste Tools auszuprobieren und zu sehen welches das beschädigte Dateisystem am besten lesen kann! Bitlocker-Datenrettung Ein weiteres sehr einfaches Tool, dass beschädigte Laufwerke, die mit Bitlocker verschlüsselt wurden, retten kann, ist M3 Bitlocker Recovery (https://www. m3datarecovery.com/bitlocker-recovery/bitlocker-data-recovery.html). Dieses hoch spezialisierte Tool hat mir zwei Fälle gelöst die UFS Explorer Pro nicht hinbekam.

71

Verschlüsselte Datenträger Wenn wir mit verschlüsselten Datenträgern zu tun haben, nutzen wir meist UFS Explorer Pro (https://www.ufsexplorer.com/ufs-explorer-professionalrecovery.php) - dieses Tool ist mit 700 USD nicht das günstigste, unterstützt aber alle möglichen RAID-Konfigurationen, Verschlüsselung (BitLocker, LUKS, FileVault) und kann mit MRT und dem DDI direkt zusammenarbeiten aber diese zwei Hardware-Tools zur Datenrettung werden wir später noch besprechen... Vor allem die Integration mit MRT und DDI ist sehr interessant, da diese Tools nicht besonders gut mit beschädigten Dateisystemen umgehen können und so lassen sich die Stärken von Datenrettungs-Hardware mit der großartigen Rekonstruktion beschädigter Dateisysteme von UFS ergänzen. Password Recovery Alle paar Monate haben wir einen Kunden, der sich selbst von seinen Daten ausgesperrt hat. Abgesehen von einigen Ausnahmen können wir Passwörter nur mit der Bruteforce-Methode knacken. Dies erfordert eine leistungsstarke Grafikkarte, da die Prozessoren der Grafikkarten für derartige Berechnungen schneller sind. Das Tool unserer Wahl hierfür ist Passware Kit Forensic (https://www.passware. com/kit-forensic/). Eine kostenlose Alternative dazu wäre zB hashcat (https://hashcat.net/). Daten aus Snapshots in System Volume Information extrahieren Ein weiteres Tool, das oftmals hilfreich ist, nennt sich Shadow Explorer und es kann von https://www.shadowexplorer.com/downloads.html heruntergeladen werden. Dieses kostenlose Tool ermöglicht es Daten aus Snapshots, die im Ordner System Volume Information abgelegt werden, zu betrachten und zu extrahieren. Die Möglichkeit Snapshots zu erstellen wurde mit Windows Vista eingeführt. Damit haben wir oftmals die Gelegenheit ältere Versionen von Dateien zu finden die gelöscht und bereits überschrieben wurden.

72

Um damit auf einem Image zu arbeiten müsst man das Image mounten. Dies kann zB mit FTK Imager oder diversen anderen Tools gemacht werden... Ich hatte mit diesem Tool auch schon Erfolge nach Ransomware-Angriffen. Natürlich konnte man nicht alle Daten mit dem jeweiligen Letztstand wiederherstellen, aber in ein paar Fällen konnten wir so zumindest den Datenverlust deutlich abmildern.

73

Fallbeispiel - S8+ (SM-G955F) mit Bootloop Dieses Samsung S8+ (SM-G955F) hatte das Problem, dass ein Update fehlschlug und das Telefon nun beim Hochfahren einige Zeit "Installing updates" anzeigt und dann neu startet. Dieser Vorgang wiederholt sich immer wieder. Mobiltelefone haben zwei Bezeichnungen. Die Handelsbezeichnung (hier S8+) und die Modellnummer (hier SM-G955F). Suchen Sie immer nach der Modellnummer und nicht nach der Handelsbezeichnung! Wenn Sie also nach Firmware, Tools und dergleichen suchen - nutzen Sie ausschließlich die Modellnummer, denn die meisten technischen Foren und Webseiten nutzen die Modellnummer und nicht die Handelsbezeichnung... Versucht man das Telefon in den Recovery-Modus zu booten, sieht man: fail to open recovery_cause(No such file or directory) Reboot Recovery Cause is [UNKNOWN]#

und nach wenigen Sekunden rebootet das Telefon zurück in die Bootloop. Um dieses Problem zu beheben, benötigen wir zuerst die passenden Treiber: https://developer.samsung.com/android-usb-driver

Danach können wir die passende Firmware herunterladen und auf das Telefon flashen. Dazu können Sie folgendes Tool verwenden: https://technastic.com/samloader-samsung-firmware-download-tool/

Bei meinem Versuch stürzte das Tool sofort mit einer Fehlermeldung ab. Alternativ dazu können Sie auch Frija verwenden: https://technastic.com/frija-samsung-firmware-download-tool/

Wenn wir Firja starten sehen wir folgenden Bildschirm:

74

Ideal wäre es wenn wir die bereits installierte Firmware downloaden. Nur wissen wir nicht genau welche dies ist. Wir können das Telefon immer nur mit der gleichen Version oder einer neueren Version flashen aber niemals mit einer älteren Version. Daher versuchen wir es mit der aktuellsten Version. Dazu brauchen wir die Modellnummer und den CSC-Code. Diese können wir hier zB in der Liste auf dieser Webseite nachschlagen: https://technastic.com/csc-home-csc-samsung-odin/

Hier gab der Kunde an, dass dies ein offen gekauftes Telefon sei - also ist der CSCCode DBT für ein offenes Telefon, das in Deutschland verkauft wurde. Das nächste Tool das wir brauchen ist dann Odin: https://technastic.com/odin-download-samsung-latest-all-versions/

75

Hierbei muss man beachten, dass je nach Android-Version eine bestimmte Versionsnummer von Odin die Mindestanforderung ist... Wir versetzen das Telefon durch Halten der Volume runter, Power- und BigsbyTaste in den Download- bzw. ODIN-Modus. Zunächst müssen wir die zuvor heruntergeladene Datei entpacken. Ich nutze dazu 7-Zip:

Danach sehen wir folgende Dateien:

Der erste Teil des Dateinamens (AP, BL, ...) steht hierbei für die Partition. Daher wollen wir uns diese Codes genauer ansehen: AP ......... BL ......... CP ......... CSC ........ HOME_CSC ...

76

Android Processor Bootloader Core Processor Consumer Software Customization (initialisiert ein Factory Reset) CSC ohne das ein Factory Reset getriggert wird

Danach können wir Odin starten und die folgenden Dateien flashen:

Hierbei habe ich die entsprechenden Dateien in die entsprechenden Slots gelegt und bei CSC die natürlich die HOME_CSC Datei gewählt, damit nicht alle Daten gelöscht werden. Hierbei ist es ratsam, ein originales Kabel des Herstellers zu verwenden. Manche Geräte lassen sich nicht gut mit Drittherstellerkabeln flashen... Den Vorgang können wir dann mit einem Klick auf den Start-Button anstoßen. Das Flashen dauert nur wenige Minuten:

77

Das hatte zwar den Erfolg, dass das Telefon nicht mehr in der Bootloop hängt, aber dafür bleibt es nun beim Samsung-Ladescreen hängen. Natürlich könnte man das durch ein Facory Reset beheben, nur wären dann die Daten verloren! Oftmals funktioniert diese Methode, die von so ziemlich jedem Handyshop angewendet wird, aber wenn nicht, hat der typische Handyshop kaum noch weitere Optionen. Datenretter greifen oftmals auf Forensik-Tools zurück. Das hier gezeigte Oxygen Forensic Detective ist nicht gerade günstig und zahlt sich erst ab einer bestimmten Anzahl an Fällen aus! Wenn wir das Tool starten, sehen wir folgenden Bildschirm: 78

Zuerst erstellen wir einen neuen Fall und füllen die entsprechenden Daten (Fallnummer, Gerät, Notizen, etc.) aus. Dann können wir eine Datenquelle hinzufügen und hierbei wählen wir die Akquise von einem Gerät aus. Danach sehen wir folgenden Dialog:

79

Hier wählen wir Samsung Exynos aus:

Hierbei steht das Exynos für die in diesem Telefon verwendete SoC-Familie (System on a Chip). In diesem Dialog legen wir auch den Speicherort für das Image der UserPartition und der diversen anderen Daten fest. Oxygen Forensic Detective erlaubt es natürlich gleich die Daten zu analysieren

und bietet alle Tools für eine forensische Untersuchung. In diesem Fall würde auch Oxygen Forensic Extractor reichen! Das reine Extraktionstool erlaubt es nur Daten zu extrahieren und bietet keine Analyse-Möglichkeiten. Wenn Sie also nur Datenrettungen anbieten, kann dies eine Option sein. Die extrahierten Daten lassen sich dann mit allen möglichen anderen forensischen Tools einlesen und analysieren, falls dies zu einem späteren Zeitpunkt gewollt ist... Mit einem Klick auf Automatic Detection starten wir den Vorgang. Hierzu muss das Gerät wieder im ODIN- bzw. Download-Mode sein:

80

Wird das Gerät erkannt, können wir die Datenextraktion starten:

81

Dazu wird das Gerät mehrfach neu gestartet und abwechselnd in den normalen oder den ODIN-Modus gebootet. Hierbei wird zuerst geprüft, ob das Gerät verschlüsselt ist und falls das der Fall ist, werden entsprechende zusätzliche Schritte ausgeführt:

Dazu werden mehrere Flash-Vorgänge durchgeführt und diverse Partitionen verändert. Unter anderem wird auch die Cache-Partition gesichert. Diese muss am Ende auch wiederhergestellt werden, damit ein zuvor funktionierendes Gerät wieder starten kann. Hier würde nur der zuvor nicht startende Zustand wiederhergestellt werden. Wenn die ganzen Neustarts und Flash-Vorgänge abgeschlossen sind, sollten Sie das Gerät ein letztes Mal in den normalen Modus booten:

82

Wenn dies geschehen ist, sollte das Display des Telefones ein Oxygen Forensic Logo anzeigen und Sie sollten folgende Meldungen sehen:

83

Das Passwort für die Entschlüsselung wurde gefunden und gesichert. Damit kann nun die Userpartition geklont und entschlüsselt werden. In dem gezeigten Screenshot haben wir zB schon die ersten 22MB kopiert. Nachdem der Vorgang fertig ist, finden wir in den zuvor angegebenen Ordner die Datei userdata.bin. Diese können wir dann zB in r-Studio oder UFS-Explorer wie jede andere Image-Datei öffnen und die Daten extrahieren... Wie das geht, haben wir bereits gesehen und daher erspare ich uns aus Platzgründen die entsprechenden Bildschimfotos an dieser Stelle.

84

85

INSTABILE DATENTRÄGER Oftmals werden Datenträger instabil und sorgen dafür, dass das Betriebssystem die Datenträger auswirft, selbst instabil wird oder hängt oder verursachen sogar Abstürze des Betriebssystems. Hierbei muss man sagen, dass Betriebssysteme nicht dazu gemacht, wurden mit instabilen oder beschädigten Datenträgern zu arbeiten. In der Regel kommt Linux mit angeschlagenen Datenträgern besser klar als Windows, aber wirklich optimal ist Linux auch noch nicht. Um besser zu verstehen, was in einer Festplatte passiert, verwende ich ein KaWe COLORSCOP Duo. Dieses einfache Stethoskop hilft mir genauer zu hören, was die HDD macht. Jede Operation hat ein gewisses Risiko, so auch das Öffnen einer HDD zu diagnostischen Zwecken! Natürlich ist auch das Anschalten einer HDD mit einem Risiko verbunden - so kann der Schreib-/Lesekopf bei einem Kratzer hängen bleiben und einen Schaden verschlimmern. Es liegt also an Ihnen zu beurteilen, welches der Risiken Sie eingehen wollen. Meist wird ein Datenträger nicht direkt an ein Labor geschickt und man kann davon ausgehen, dass er bereits einige male eingeschalten wurde und daher werde ich in der Regel versuchen, den Datenträger an spezieller Hardware zu aktivieren. Dies gibt mir einige Status-Informationen und oftmals sogar Ausgaben auf der seriellen Schnittstelle. Gleichzeitig kann ich den Datenträger abhören und so schnell erkennen, wenn etwas kratzt oder schleift. Mit der anderen Hand kann ich dann mit einem einzigen Tastendruck die Stromversorgung kappen, wenn ich Geräusche höre, die mir nicht gefallen. Die Kombination aus den Geräuschen und den Status-LEDs und eventuellen TerminalMeldungen gibt mir dann ein relativ gutes Bild.

86

Startvorgang der HDD Vereinfacht gesagt können wir den Startvorgang der HDD in folgende Schritte einteilen: 1. Die Daten vom ROM-Chip werden geladen und der Motor wird gestartet. 2. Dreht der Motor schnell genug, dass ein Luftpolster entstehen kann, wird der Schreib-/Lesekopf von der Parkposition (innen bei der Spindel oder außerhalb der Magnetscheiben auf einer Rampe) auf die Magnetscheiben gefahren. 3. Der erste Teil der Firmware, der vom ROM geladen wurde, enthält die Anweisungen wie die Platte den restlichen Teil der Firmware von den Magnetscheiben laden kann. Dieser liegt auf einem für den User nicht zugänglichen Bereich der sogenannten Service Area. 4. Konnte die Firmware vollständig geladen werden, meldet die Platte ihre Einsatzbereitschaft.

Das Wissen um diesen Startvorgang kann uns bei der Diagnose von Problemen sehr helfen. Wenn eine Platte anläuft, heißt das mit größter Wahrscheinlichkeit, dass ROM, MCU, RAM und Motorsteuerung OK sind und ein PCB-Schaden kann mit hoher Wahrscheinlichkeit ausgeschlossen werden. Fährt eine Platte hoch, hängt dann aber im BSY-Status fest, deutet das darauf hin, dass Teile der Firmware beschädigt sind oder nicht gelesen werden können. Oder es laufen Hintergrundprozesse auf der Festplatte, die hängen oder sehr lange brauchen, um fertig zu werden (siehe Firmware-Kapitel). Gleiches gilt für den Fall, dass eine Platte zwar die Bereitschaft, aber ungewöhnliche Werte meldet - zB: 0 GB oder 3.86 GB als Speichergröße. Dann kann ein essenzieller Teil der Firmware beschädigt sein oder es konnte nur der Teil aus dem ROM-Chip gelesen werden. Es wäre auch möglich, dass der ROM-Chip falsch ist (weil zB ein Amateur eine Datenrettung versucht und einfach den PCB getauscht hat) oder der Kopf ist beschädigt und kann die Daten von der Service Area nicht lesen.

87

Klickt der Kopf andauernd, dann kann dies manchmal ein Firmware-Problem bedeuten oder es ist der falsche ROM-Chip auf der Platine. Aber viel wahrscheinlicher könnte der Kopf defekt sein und die Service-Area nicht finden, weil er nichts mehr lesen kann. Ich habe diese Symptome auch schon gesehen, wenn der ROM-Chip defekt war. Je mehr Erfahrung man sammelt, umso besser wird man darin Geräusche, Status-LEDs und andere Hinweise der Festplatte einem konkreten Problem zuzuordnen. Datenrettung lernt man nicht über Nacht!

88

Spezialhardware für Datenrettungen Auch wenn Linux ganz gut mit Festplatten klarkommt und professionellere Software wie HDDSuperClone (http://www.hddsuperclone.com/sitev1/) für Linux verfügbar ist, würde ich eher zu spezialisierter Hardware raten. Die Auswahl in diesem Bereich ist überschaubar - die wichtigsten Hersteller und Geräte wären: > > > >

ACELab mit PC-3000 MRT Lab mit MRT Express und MRT Ultra DFL mit SRP, PCIe4x Data Recovery Express und URE DeepSpar mit DDI, USB Stabilizer und RapidSpar

Sehen wir uns diese Optionen genauer an: Die PC-3000 Familie Die russische Firma Ace Lab hat mit PC-3000 das beste Gerät am Markt. Die Produktpalette reicht vom PC-3000 UDMA (2 SATA ports, 1 IDE Port) über den PC-3000 Express (4 SATA-Ports, 2 IDE Ports) bis zum PC-3000 Portable (1 USB3 Port, 1 SATA-Port + Support für NVME SSDs). Außerdem gibt es Produkte spezielle für Telefone (PC-3000 Mobile) und FlashSpeicher (PC-3000 Flash). Das PC-3000 System bietet den besten Support, die breiteste Unterstützung für SSDs und alles in allem das beste Tool am Markt. Der Preis für das günstigste PC-3000 System mit Unterstützung für SSDs entspricht ca. dem Preis eines fabrikneuen Kleinwagens. MRT Express / Ultra Dieser chinesische Hersteller hat das zweitbeste System am Markt mit dem interessantesten Finanzierungsmodell für Neueinsteiger. Hierbei bietet MRT Express 2 SATA Ports und 1 IDE-Port und MRT Ultra hat jeweils doppelt so viele Ports. Genau wie PC-3000 gibt es auch ein Plugin für den SSD-Support, das allerdings nicht so viele Controller unterstützt wie PC-3000!

89

Anfänger können die PCIe-Karte für ein paar Hundert Euro kaufen und dann den restlichen Kaufpreis mit einem Mietkaufmodell abbezahlen. Die Tools von MRT kosten ca. 40% weniger als die Gegenstücke von Ace Lab. Der Support ist OK, auch wenn es manchmal gewisse Verständigungsschwierigkeiten gibt und die Zeitverschiebung zwischen Europa und China sind ebenfalls nicht ideal, denn somit sind die Support-Zeiten von sehr früh morgens bis in den Vormittag hinein. DFL PCIe4x Data Recovery Express und SRP Dolphin Data Lab ist ebenfalls ein chinesischer Anbieter und bietet das gleiche Produkt in zwei Ausführungen an. Mit seiner PCIe 4x Karte gibt es eine Stationäre Lösung für einen Stand-PC und SRP ist quasi das gleiche Produkt in Form einer mobilen USB-Box. Preislich entsprechen die Lösungen denen von MRT. Die Unterstützung von SSDs ist allerdings sehr dürftig und darum schafft es DFL in meiner Wertung nur auf Platz 3. Die PCIe-Karte wird ebenfalls mit einer Finanzierungsoption angeboten. Hierbei zahlt man allerdings keine Monatsmiete, sondern man kauft Nutzungszeit für 1 USD / Stunde. Alle bis jetzt genannten Tools unterstützen sowohl das Klonen von Datenträgern als auch das Manipulieren und Reparieren der Firmware. DFL URE Dieses Tool ist speziell für USB-Festplatten gemacht und hat nur einen sehr abgespeckten Support für Firmware und beschränkt sich im Grunde auf einige wenige Lösungen, die bei USB-Festplatten vorkommen. Daher kann man das Gerät nicht wirklich als vollwertiges Datenrettungstool werten. Wer immer wieder mit USB-Platten zu tun hat und sich den Umbau auf SATA sparen will, kann damit glücklich werden... DDI Der Deepspar Disk Imager (DDI) ist eine PCIe-Karte deren Software auf DOS arbeitet. DDI stellt das beste Imaging-Tool dar - ist aber auch "nur" das. Es gibt keinen Support für Firmware-Reparatur oder SSDs, abgesehen vom Klonen. 90

Außerdem gibt es Addon-Karten für USB, PCIe SSDs und einiges mehr. Wer den DDI von seinem Windows-PC aus steuern will, kann dies gegen einen weiteren Aufpreis mit dem Netzwerk-Addon tun. Auch wenn dieses Tool sehr einfach zu erlernen ist und wirklich gute Ergebnisse liefert, wenn es darum geht, mit instabilen Datenträgern zu arbeiten, ist es dennoch "nur" ein Imager und das für einen Gesamtpreis, der nicht viel günstiger, also ein MRT Express oder DFL SRP ist. Daher würde ich einem Anfänger davon abraten. Es bietet einfach zu wenige Möglichkeiten für das Geld und erlaubt es nicht, eine möglichst große Palette an Datenrettungen anzubieten. USB Stabilizer Der USB Stabilizer von Deepspar ist ein USB-Adapter, an dem man alle möglichen Datenträger von USB-Sticks über Festplatten bis hin zu NVMe-SSDs anschließen kann, wenn man die nötigen Adapter hat. Das Gerät gaukelt den Computer dabei vor, dass es der Datenträger sei und hält eine stabile Verbindung aufrecht, während es in der Lage ist den eigentlichen Datenträger mit Reset-Kommandos oder durch Trennen der Stromverbindung zum Neustart zu zwingen. Das erlaubt es, eine stabile Verbindung mit angeschlagenen Datenträgern zu halten, ohne das Windows etwas von den Problemen mitbekommt und den Datenträger daraufhin auswirft. Dieses recht spezielle Tool ist in meinen Augen die besser und günstigere Alternative zu einem URE vor allem wenn man bereits ein anderes Datenrettungstool besitzt. RapidSpar Dieses Tool richtet sich eher an PC-Dienstleister, die Datenrettungen anbieten wollen als an professionelle Datenretter. Das Tool kann einige Firmwareprobleme beheben und Datenträger klonen. Das Problem dabei ist, dass man kaum Kontrolle hat. Firmware-Reparatur passiert über eine Cloud, die vordefinierte Lösungen bereitstellt, und beim Klonen der Datenträger kann man auch nur zwischen drei Presets wählen. 91

Das ganze Bedienkonzept ist darauf ausgerichtet, ohne Vorwissen und entsprechendes Grundlagenwissen nach 4 oder 5 kurzen Erklärungsvideos loslegen zu können. Für viele Probleme sind diese Optionen nicht ausreichend, aber das sollten Sie auch nicht sein, denn Deepspar hat sich durchaus was dabei gedacht, die Grenzen so abzustecken, denn was über die Grenzen dieses Tools hinaus geht, ist keine einfache Standard-Datenrettung mehr und erfordert entsprechendes Wissen. Das macht den RapidSpar aber auch zu einem Tool, mit dem Sie nicht viel wachsen können. Dafür ist es auch das günstigste Datenrettungstool. Mit USB-Addon (USB Stabilizer), allen Adaptern und Data Aquisition Addon sind Sie bei 3360 USD + Einfuhrabgaben, denn der Versand erfolgt aus Kanada. Fazit Als Beginner kann ich Ihnen eigentlich nur einen PC-3000 oder MRT empfehlen. Da Sie dieses Buch gekauft haben und sich offensichtlich in die Materie einarbeiten wollen, kann ich Ihnen den RapidSpar darum nicht empfehlen. USB Stabilizer, URE und DDI sind spezialisierte Tools, die man später nutzen kann,

um seine Kapazitäten zu erhöhen. Ich hatte schon einige Fälle, die 200 oder 300 Stunden brauchten, um geklont zu werden und wenn Ihr Labor nur 2 Ports zur Verfügung hat, dann kann eine solche Datenrettung 50% Ihrer Kapazität für einen halben Monat blockieren. Daher kann es durchaus Sinn machen, später einen DDI als Zweitgerät zu kaufen, da dieser auch nur die Hälfte eines MRT kostet und sich für diese langwierigen Klonvorgänge gut eignet. Damit haben Sie Ihr Hauptgerät (PC-3000, MRT oder DFL) frei für andere Aufträge. Ein RapidSpar kann für den mobilen Einsatz interessant sein, falls Sie einen Vorort-Service anbieten wollen und ein USB Stabilizer ist auch als Writeblocker für forensische Untersuchungen brauchbar. Außerdem erlaubt er es, mit einem PC-3000 oder MRT auf einer USB-Platte zu arbeiten ohne die Sorge, das diese von Windows ausgeworfen wird...

92

Klonen einer instabilen HDD Wir haben ja bereits im über die logischen Datenrettungen gelernt, dass das Klonen einer Platte die schonendste Möglichkeit ist, Daten zu retten. Im Gegensatz zu Linux mit dd_rescue haben wir mit spezieller Hardware die Möglichkeit, den Stress-Level genauer zu steuern und einiges mehr. Das wollen wir uns nun anhand eines konkreten Beispiels genauer ansehen... In diesem Zusammenhang werden wir uns auch das Data Extractor-Modul von MRT genauer ansehen. PC-3000 ist sehr ähnlich aufgebaut, aber ich vermute, dass die meisten Beginner mit MRT anfangen, da die Kosten relativ gering sind. Zuerst müssen wir den richtigen Port auswählen und die Platte einschalten:

Hier haben wir ATA 1 gewählt und die Platte mit dem Power-Button angeschaltet. MRT kontrolliert die Stromzufuhr zur Festplatte und kann diese bei Bedarf unterbrechen und wieder aktivieren. Dies geht auch über die Tastatur - die F11-Taste aktiviert und F12 deaktiviert die Stromversorgung. Sollte eine Datenrettung aus dem Ruder laufen, ist F12 quasi der Not-Aus-Schalter für die Platte. Wenn alles gut läuft, dann meldet die Festplatte ihre Bereitschaft mit DRD + DSC:

Diese angedeuteten Status-LEDs helfen auch bei der Diagnose. BSY bedeutet "busy" und zeigt an, dass die Platte arbeitet. Ich habe schon Platten

und SSDs erlebt, die einige Minuten brauchten, um Bereitschaft zu melden. Es ist OK eine HDD oder SSD einige Zeit auf BSY stehen zu lassen und zu warten, sofern die Platte keine komischen Geräusche macht! BSY ist der erste Status, den die 93

HDD anzeigt, bevor die Firmware vollständig geladen wurde. Hierbei überwache ich eine SSD mit einer Thermokamera und eine HDD mit einem Stethoskop. DRD steht für "data ready" und heißt, dass die Festplatte bereit ist, Kommandos zu

empfangen. DSC bedeutet "drive seek complete" und zeigt an, dass der Kopf auf eine be-

stimmte Position verschoben wurde. DWF heißt "drive write fault" und sollte immer aus sein. Wir können aber darauf

prüfen und denn beim Klonen eine Aktion ausführen, wenn dieses Flag gesetzt wäre. DRQ bedeutet "data request" und wird, gesetzt wenn der Datenträger bereit ist,

Daten zu transferieren. CRR steht für "corrected data" und sollte immer aus sein. IDX heißt "index" und sollte auch immer aus sein. ERR steht für "error" und zeigt an, wenn ein Fehler bei dem vorherigen Komman-

do aufgetreten ist. Der Fehler wird dann von den folgenden Fehler-Codes näher beschrieben: > > > > > >

BBK (bad block) UNC (uncorrectable data error) INF (ID not found) ABR (aborted command) T0N (Track 0 not found) AMN (Address mark not found)

Defekter Block erkannt Unkorregierbarer Datenfehler Sektor-ID konnte nicht gefunden werden Kommando aufgrund eines Fehlers abgebr. Spur 0 nicht gefunden Adressmarker nicht gefunden

Wir haben bis dato gelernt, dass ein Sektor 512 Byte oder 4096 Byte hat und dies ist aus User-Sicht vollkommen korrekt. Aus Sicht der Festplatte sind Sektoren größer denn abgesehen von den 512 / 4096 Byte an Userdaten sind noch Marker zur Orientierung (sogenannte Servo-Informationen) und Checksummen, um die Integrität der Daten zu prüfen auf den Magnetscheiben gespeichert. Damit wird auch klar, wie auf manche der zuvor genannten Fehler geprüft werden kann. 94

In unserem Beispiel haben wir eine Platte, die nach etwas Zeit ihre Bereitschaft meldet. Daher können wir mit einem Doppelklick das Modul Data Recovery Tools -> Data Explorer starten. Dann können wir einen neuen Datenrettungs-Fall anlegen, indem wir das BlattSymbol mit dem Plus anklicken:

Hier hinterlegen wir zuerst einen Namen bzw. Job-Nummer und den Pfad, unter dem das Image erstellt werden soll.

Dann wählen wir die Datenquelle aus - hier ATA 1.

95

Dann legen wir fest, wie der Datenträger initialisiert werden soll.

Im nächsten Schritt wählen wir Data copy an, damit wir einen Imaging-Vorgang starten und nicht direkt in den Dateibrowser gehen. Außerdem verwende ich in der Regel die Option List of ranges für den Map type, da dies schneller zu generieren geht als eine Binärdatei. Eine Ausnahme ist ein Fall, bei dem ich UFS Explorer Pro mit dem MRT verbinden will. UFS brauch die Map im binären Format! Danach wählen wir das Ziel-Gerät aus:

96

Hier können wir in eine Image-Datei, die gesplittet ist, auf eine andere Festplatte, in eine VHD-Datei oder in ein sogenanntes Extendet Image klonen. Ich verwende in der Regel die VHD bzw. VHDX Datei, weil bei dieser Option auch das Rückwärts-Imaging erlaubt ist. Außerdem ist dies eine sogenannte Sparse-Datei bei der leere Bereiche (gefüllt mit 0x00) zusammengezogen werden und so spart man sehr viel Speicherplatz bei nicht zur Gänze vollen Datenträgern! Das gesplittete Image wäre auch noch eine Option die Rückwärts-Imaging erlaubt. Hierbei belegt eine 4TB Platte immer auch 4TB Speicherplatz, selbst wenn diese nur zu 30% mit Daten gefüllt ist. Die Größe der Image-Stücke stelle ich hierbei in der Regel auf 4GB um nicht zu viele Dateien zu erzeugen! Ich mag das Extended Image nicht, da hierbei zwar nur eine einzige Datei erzeugt wird, aber das Rückwärts-Klonen nicht erlaubt ist und ich will mir keine später eventuell nützlichen Optionen bereits im Vorfeld verbauen! Im letzten Schritt bekommen wir eine Übersicht der zuvor eingestellten Parameter, die wir nochmals bestätigen müssen:

97

Danach sehen wir das Imaging-Hauptfenster. Sollte MRT es nicht schaffen, die Platte zu initialisieren, werden Sie nach der Größe der HDD in LBAs gefragt. Oftmals reicht es, diese korrekt anzugeben, um die Platte dann klonen zu können.

Das Imaging-Hauptfenster können wir in vier Bereiche einteilen: 1. Der Infoblock zeigt uns Modell, Seriennummer, Größe und einige weitere Information zum Datenträger und auch den aktuell LBA. 2. Die Datenblöcke repräsentieren Daten und werden je nach Zustand eingefärbt. Dies stellt quasi eine Sektor-Karte des Datenträgers dar. 3. Der Hex-Viewer zeigt die Daten im hexadezimalen Format an. 4. Der Graf zeigt den Verlauf der Kopiergeschwindigkeit der letzten 280 Sekunden an. 98

Vor allem der Hexviewer ist praktisch, um zu sehen, ob wir brauchbare Daten lesen oder ob wir nur Datenmüll bekommen. Viele Datenträger sind heute auch verschlüsselt und es ist wichtig, dies zu erkennen, bevor Sie eventuell tagelang nicht brauchbare Daten klonen. Verschlüsselte Daten sehen zufälliger aus. In lesbaren Daten erkennen wir immer wieder bestimmte Muster und wir können immer wieder einzelne Texte lesen zB die Dateinamen im Dateisystemeintrag, Text-Datenformate wie TXT, HTML, XML, YAML, etc. oder auch Textfragmente in Programmen. Durch das Beobachten des Hex-Viewers bekommen wir schnell einen Überblick, denn die ersten Daten auf dem Datenträger sind der Dateisystemkatalog und darin sollten wir schon Dateinamen oder bekannte Dateisignaturen wie FILE0 bei NTFS erkennen... Wir haben hier eine 2TB Platte und vom Kunden weiß ich, das diese nicht besonders voll war - es macht also eventuell wenig Sinn 2 TB zu Klonen, wenn nur 300 oder 400 GB an Daten vorhanden sind. Daher können wir den Dateisystembrowser mit einem Klick auf das Ordnerstruktur-Symbol öffnen:

So direkt einzelne Dateien exportieren oder den gesamten belegten Speicherplatz markieren. Es macht zB wenig Sinn den Windows- und Programme-Ordner zu klonen, wenn der Kunde ohnehin seinen Rechner neu aufgesetzt hat.

99

So sparen wir uns eventuell Hunderte an GB, die von Programmen, Spielen und dem Betriebssystem belegt sind, zu klonen. So wie wir die Ordnerstruktur aufklappen, sehen wir auch in der Sector map Registerkarte, wie die entsprechenden Einträge im Dateisystem geklont werden.

Wir haben hier eine USB-Datenplatte und damit keinen Programm- und Windows-Ordner, den wir ausschließen wollen. Also klicken wir die Partition mit Rechts an und wählen Mark partition valid data (A) aus. Dies sorgt dafür, dass anhand des Dateisystems belegte Speicherbereiche ermittelt und markiert werden.

100

Die entsprechenden Blöcke werden in der Map-Datei vermerkt und in der Sektor-Karte eingefärbt.

Würden wir nur bestimmte Ordner benötigen, könnten wie diese im Verzeichnisbaum markieren und dann einen Eintrag mit Rechts anklicken und Image marked item (D) wählen. Ein Klick auf das zweite Icon in der Symbolleiste öffnet die Task-Einstellungen:

101

Im Reiter Data Copy legen wir fest > > > > >

welchen LBA-Bereich wir Klonen wollen (Range setting), in welchen Abständen ein Autosave erfolgt (Time setting), in welchem Modus wir arbeiten wollen (Mode setting), wann wir Bereiche überspringen (Skip setting) und wie wir auf Fehler reagieren (Failure setting).

Wenn zB der Cache der Festplatte Probleme macht, dann kann der Backward copy mode helfen, denn beim Rückwärts-Imaging wird der Cache nicht benutzt. Daten landen zuerst im Cache bevor Sie an den PC übertragen werden. Ist dieser Cache beschädigt, dann können alle Daten unbrauchbar sein. Das hängt mit Optimierungen zusammen, die die Firmware macht. Wenn mehrere Anfragen zugleich an die HDD gestellt werden, werden diese von der Firmware so organisiert, dass die angeforderten Daten in einem Schwenk des Armes von vorne nach hinten gelesen werden können. Um dies zu ermöglichen, werden Daten in den Cache gelesen und dann wieder in der angeforderten Reihenfolge geliefert. Rückwärts funktioniert dieser Mechanismus nicht. Der Single sector copy mode ist oftmals hilfreich, um bei einem der späteren Image-Durchgänge Lücken zu füllen. Beim ersten Durchgang wollen wir in der Regel die einfachen und gut zu lesenden Bereiche klonen und daher aktiviere ich die Optionen zum Überspringen von Bereichen hier. Bedenken Sie, dass Sie wahrscheinlich die Platte noch nicht geöffnet haben und darum nicht genau wissen, was los ist. Sie wissen aber, dass es in der Regel einen Grund gibt, warum die Platte zur Datenrettung eingereicht wurde. Sie wollen also sicherstellen, dass eventuelle Kratzer oder beschädigte Bereiche auf der Oberfläche schnellstmöglich übersprungen werden und nicht auf einem problematischen Bereich so lange verweilen, bis der Kopf defekt ist. Bei den Failure settings können Sie festlegen, ob und wann der Image-vorgang abgebrochen wird und womit unlesbare Sektoren befüllt werden. Ein weiterer wichtiger Punkt ist der Reiter Command to Read:

102

Hier legen Sie fest, wie der Datenträger gelesen wird. Das Reduzieren der Geschwindigkeit auf UDMA66 oder UDMA33 hat schon bei einigen meiner Datenrettungen dafür gesorgt, das das Klonen stabiler lief. Der PIO-Modus ist ein veralteter Standard und spricht oftmals einen anderen Teil der Firmware an. Somit kann man das ein- oder andere Firmware-Problem auch ignorieren, wenn man eine viel langsamere Lesegeschwindigkeit in Kauf nimmt. Read, ignore CRC ist eine Option, die nur auf den ersten 128GB funktioniert, da

dieser Befehl nur in einem alten ATA-Standard mit der 28bit LBA Adressierung verfügbar ist. Jeder Sektor hat ein paar Byte an ECC-Daten (Error correcting code), womit kleinere Lesefehler korrigiert werden können. Wenn dies nicht klappt, liefert die Festplatte einen leeren Sektor und setzt ein Fehler-Bit in den Flags. Read, ignore CRC veranlasst die Festplatte die gelesenen Daten zurückzugeben egal ob die gelesenen Bytes korrekt sind oder nicht. Deepspars DDI macht dies etwas besser, indem ein Sektor mehrfach gelesen und die Bitmuster wird dann statistisch analysiert werden, um das wahrscheinlichste Bitmuster zu ermitteln.

103

Der letzte Punkt (Read from active MRT Utility) ist wichtig, um ein FirmwareModul als Interface zu nutzen. Dies brauch man zB beim entschlüsseln oder beim Klonen von SSDs, die in einem Firmware-Modul repariert wurden.

Im Reiter Copy type legen wir fest, welche Blöcke wir klonen wollen. Da wir zuvor die belegten Sektoren markiert haben, wollen wir hier auch nur die als belegt markierten Sektoren klonen. In einem zweiten Durchgang könnte man hier zB übersprungene Bereiche klonen oder versuchen Bereiche, bei denen ein Timeout aufgetreten ist, mit einer längeren Lesezeit zu klonen. Das Ziel sollte es immer sein, möglichst viele Daten möglichst schonend zu sichern. Wenn wir bereits einen großen Teil der Daten sicher haben, können wir auch versuchen den Rest von problematischen Bereichen zu erhalten. Wird der Kopf dabei beschädigt, haben wir zumindest einen Teil der Daten!

104

Einer der wichtigsten Tabs ist der Tab Power Manage:

Hier können wir festlegen, wie lange die Platte abgeschaltet wird, wenn Sie nicht auf ein Reset-Kommando reagiert. So kann MRT eine Platte deaktivieren und dann neu starten, um sie wieder online zu bekommen. Außerdem können wir festlegen, in welchen Abständen der Vorgang gespeichert wird. Die mit Abstand wichtigste Option ist Shut down power and stop all tasks when the hard drive cannot be ready! Dies verhindert, dass ein ausgefallener Kopf über Stunden über die Platten gezogen wird. Genau diese Option hätte die Platte aus dem Beispiel mit dem Kratzer davor bewahrt, völlig abgeschliffen zu werden...

105

Der Tab Error handling erlaubt uns folgende Einstellungen:

> Anzahl der erneuten Leseversuche bei einem Fehler > Anzahl der zu überspringenden Sektoren, wenn ein Fehler auftritt, um so eventuell beschädigte Bereich im ersten Durchgang schnell wieder zu verlassen > Auszuführende Aktionen nach einem Lesefehler Hierbei wird die Liste der Optionen von oben nach unten abgearbeitet und die aktivierten Optionen werden ausgeführt. Hier gilt es mit der Try & Error Methode die optimalen Einstellungen zu finden, um die Platte möglichst schonend zu klonen. Ein Reset Power klappt sicher immer, ist aber nicht sehr schonend für die Platte. Es gibt hier keine Patentlösung und Sie müssen bei instabilen Platten versuchen, was klappt und dann die entsprechenden Optionen setzen.

106

Unter Timeout setting können wir folgendes Einstellen:

Die Anzahl der zu überspringenden Sektoren bei einem Timeout, die Wartezeiten für die Lesemodi und die Wartezeiten bei einem Reset, bis die Platte wieder bereit ist. Dies muss je nach HDD angepasst werden - ich hatte schon Platten, bei denen ich hier 300 Sekunden (300000 ms) einstellen musste! Diese sind mit 10 bzw. 25 Sekunden viel zu lange für einen ersten Durchgang. Wir wollen nicht, dass eine HDD mit dem Kopf auf einem beschädigten Bereich zig Sekunden herumreitet und immer mehr Schaden nimmt. Stellen Sie möglichst kurze Zeiten ein für den ersten Durchgang. Ich hatte beim 4. oder 5. Durchgang schon 60 Sekunden und länger als Timeout gesetzt, aber beim ersten Durchgang bin ich in der Regel unter 1 Sekunde (1000 Milliseconds). Die Festplatten-Firmware versucht fehlerhafte Sektoren mehrfach zu lesen und mit kurzen Timeout-Zeiten können wir verhindern, dass die HDD lange an beschädigten Sektoren hängen bleibt und der Kopf Schaden nimmt. Außerdem ist es gut im ersten Durchgang eine sehr hohe Anzahl an Sektoren zu nehmen, die bei einem Lesefehler oder Timeout übersprungen wird. 107

Da Sie den Datenträger noch nicht geöffnet, zerlegt und untersucht haben, können Sie unmöglich wissen, ob es eventuell Kratzer auf den Magnetscheiben gibt und daher setzen wir die Einstellungen so, als ob es Kratzer gäbe. Mit einer hohen Schrittweite von 1000000 Sektoren oder dergleichen überspringen wir beschädigte Bereiche relativ schnell. Obgleich eine Million nach relativ viel klingt, sind es nur in etwa 500MB an Daten. Außerdem haben wir die gleiche Befehlsauswahl wie bei den Fehlern, die nach dem Timeout ausgeführt werden sollen, um die Platte wieder betriebsbereit zu bekommen. Im File explorer Tab können wir das Verhalten des Dateibrowsers steuern. Dies musste ich allerdings noch nie tun:

Der Tab Command check ist schon interessanter:

108

Hier legen wir fest, welche Status-Bits abgefragt werden und was passieren soll, wenn bestimmte Bits gesetzt sind. Dies ist selten nötig, aber ich hatte schon 1 oder 2 Platten, bei denen es nötig war.

109

Der letzte Tab ist wieder sehr wichtig. Eine Headmap beinhaltet die Informationen, welche LBAs von welchem Kopf gelesen werden. Manchmal kommt es vor, dass ein Kopf besonders instabil ist oder gar nicht mehr liest. Um den Vorgang zu beschleunigen und nicht immer auf Dutzende Timeouts und Sprünge zu warten, bis man wieder aus dem Bereich dieses Kopfes hinaus ist, kann man über die Headmap den Kopf einfach deaktivieren. Das gilt auch für einen sehr instabilen Kopf. Man sollte sich lieber die Daten der guten Köpfe zuerst holen und dann die Lücken füllen. Klicken wir auf den Create head map button bekommen wir folgenden Fehler:

Je nach Modell-Familie und/oder Marke muss das entsprechende Utility geöffnet sein, um einer Headmap zu erstellen. Wechseln wir dazu in das Hauptfenster zurück - klicken Sie dazu auf Window und den ersten Eintrag:

Dann können wir das Modul für den Hersteller auswählen:

110

und es öffnen:

Zuerst müssen wir die Modellfamilie auswählen. Normalerweise gibt es einen Button für die Identifikation, aber diese schlägt bei diesem Modell fehl. Nun gibt es zwei Möglichkeiten:

111

Suchen Sie in Google nach der Modellbezeichnung + Firmware und Sie werden auf Seiten wie zB https://firmware.hddsurgery.com/ stoßen, von denen Sie Firmware-Dumps beziehen können, um Reparaturen vorzunehmen. In der Regel wird hierbei auch die Modellfamilie genannt. Vergessen Sie die üblichen Seiten für Endkunden, die sonst etwas als Modellfamilie nennen! Wissen Sie die Modellfamilie, dann können Sie diese von Hand auswählen. Hier steht die Modellfamilie einfach nicht zur Auswahl. Also versuche ich es mit einer möglichst ähnlichen Modellfamilie. In der Regel sollte man dies entsprechend Recherchieren oder den Support fragen, aber für die Headmap ist Try & Error OK.

Als Nächstes sollen wie das Serielle-UART Terminal auswählen, mit dem die Platte verbunden ist. MRT kann darüber mit er Platte kommunizieren und diverse Aktionen ausführen. (Mehr dazu im Firmware-Kapitel) Nachdem wir diesen Dialog bestätigt haben, ließt MRT bestimmte Informationen von der Platte. Nach kurzer Zeit sollten wir Folgendes sehen:

112

Dann können wir einfach wieder zurück zum Image-Fenster wechseln:

Zuerst werden wir gefragt, für welchen LBA-Bereich wir eine Headmap erstellen wollen. Hier wählen wir in der Regel alles aus. Danach fragt MRT, welche Methode zur Ermittlung benutzt werden soll.

113

Hier heißt es einfach ausprobieren. Sie können oftmals nicht genau recherchieren, wie etwas gemacht wurde, da auch die Toolhersteller ihr Know-How nicht völlig offenlegen und selbst wenn man es recherchieren könnte, meist sind diese kleinen Details den Aufwand nicht wert.

Ich wähle die erste Methode und lasse den Vorgang laufen. Nach einigen Prozent bricht dieser dann ab:

114

Das kann ein Bug in MRT sein, mit der falschen Modellfamilie zusammenhängen oder auch einfach bedeuten, dass es in der Firmware der HDD eventuell ein beschädigtes Modul gibt. Versuchen wir doch Methode 2:

Dies scheint besser zu klappen:

115

... und wird am Ende auch fertig:

Es hat meist einen Grund, warum die Festplatte bei Ihnen landet und Sie können alles erwarten nur keine stabil laufende und perfekt funktionierende Festplatte! Nun können wir die Köpfe anwählen, die wir imagen wollen und alle anderen werden übersprungen. Bedenken Sie, dass die Köpfe dennoch alle auf den gleichen Arm sitzen. Wenn Sie also einen Kopf haben, der defekt ist, wird das seinen Grund haben. Sie sollten also damit rechnen, dass es beschädigte Bereiche gibt und das Klonen entsprechend so einstellen, dass der abgeschaltete Kopf nicht zu lange auf einer Stelle verweilt. Zumindest nicht beim ersten Durchlauf!

116

Nun können wir den Imaging-Vorgang endlich starten - klicken Sie dazu auf den Button mit den zwei Blättern und dem Play-Symbol:

Diese Vorbereitung ist wichtig und mit dem, was Sie bis dato gelernt haben, können Sie schon einige Datenrettungen schaffen, wenn Sie die entsprechende Ausrüstung haben!

117

USB -> SATA Konvertierung von WD Festplatten Die meisten Geräte für professionelle Datenrettung bieten nicht die Möglichkeit, eine USB-Festplatte direkt anzuschließen. Man könnte sich mir dem USB Stabilizer von Deepspar behelfen oder auf spezielle USB-Tools wie den DFL URE ausweichen oder die USB-Platine mit einem kompatiblen SATA-PCB ersetzen. Zur Auswahl eines kompatiblen PCB können wir die folgende Liste heranziehen. Der Aufbau der PCB-Nummern folgt bei WD dem Schema 2060-XXXXXX-YYY REV Z. Hierbei ist für uns nur die zweite Gruppe (XXXXXX) wichtig: USB 701605 701615 701635 701650 701675 701754 771737 771754 771761 771801 771814 771817 771859 771949 771961 771962 771964 800041 800038 800069 800067 810012

-> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> ->

SATA 701499 701499 701572 701499 701609, 771692 701692, 701692, 771692 771823 771820 771820 771852 771939, 771933, 771931, 771983 800022 800025 800066 800065 800022

701672, 771672 771692 771692

771959 771939, 771959, 771960 771959

Diese Liste ist nicht vollständig und wird laufend erweitert. Viele Datenretter experimentieren mit Platinen und testen die Kompatibilität. Wir sehen anhand der Liste auch, dass eine 771969 mit einer 771933 kompatibel ist - diese Liste ist also nicht nur für die SATA-Konvertierung sondern auch für PCB-Swaps interessant! 118

Es ist dennoch immer anzuraten, dass man sich die Kompatibilität im konkreten Fall nochmals genauer ansieht oder recherchiert, ob die SATA-Konvertierung der Platte bereits mit der in Frage kommenden Spenderplatine erfolgreich durchgeführt wurde. Manche dieser Konvertierungen sind auf den ersten Blick etwas fragwürdig. Ich selber hatte schon Platinen, die nicht perfekt passten und hier oder dort überstanden und darum nur teilweise befestigt wurden. Sehen Sie sich die folgenden drei Zeilen genauer an: 771949 -> 771939, 771959 771961 -> 771939, 771959, 771960 771962 -> 771931, 771959

Es fällt auf, dass alle drei USB-Platinen mit 771959 kompatibel sind und die Platinen 771949 und 771961 auch mit 771939 kompatibel sind. Es könnte also gut sein, dass 771962 auch mit 771939 oder 771960 kompatibel wäre oder das auch 771931 mit 771961 und 771949 kompatibel wäre. Dies wurde eventuell nur noch von niemanden ausprobiert - viele Labore testen derartige Dinge und veröffentlichen Ihre Ergebnisse im Internet. Derartige Experimente sollte man nicht bei einem Auftrag machen, aber wenn die Kundendaten bereits gesichert sind und Sie passende PCBs auf Lager haben, können Sie diese Dinge probieren und selbst Ihre Resultate veröffentlichen. Bei den Platinen, die ich kenne, ist der IC mit der Markierung U12 zu transferieren:

119

Recherchieren Sie aber in jeden Fall vorab, was der ROM-Chip ist! Nicht auf jedem PCB muss der ROM-Chip U12 sein und selbst wenn das im Moment so wäre, kann sich dies bei neuen Platinen ändern. Dabei muss man darauf achten, dass der Chip in der richtigen Orientierung angebracht wird. ICs haben in der Regel eine Vertiefung oder einen aufgedruckten Punkt, der Pin 1 markiert. Außerdem finden wir bei Pin 1 auf der Platine meist auch einen Punkt:

So kann man die korrekte Orientierung des Chips sehen. Alternativ dazu kann auf der Platine ein Rahmen mit einer Kerbe aufgedruckt sein und diese Kerbe muss dann mit der Kerbe auf dem Chip übereinstimmen. Eine kurze Einführung zum Löten gibt es im Kapitel über die elektronischen Fehler.

120

Fallbeispiel ST3000DM001 Ein weiterer interessanter Fall ist eine ST3000DM001, die aus einem USBGehäuse stammte. Gerüchten zu Folge sollen nicht unbedingt die besten Festplatten der jeweiligen Produktionscharge in USB-Gehäuse verbaut. Ich kann dies nicht bestätigen, aber USB-Festplatten sehen wir dennoch relativ häufig - das kann natürlich daran liegen, dass diese Platten in der Regel viel stärker Vibrationen und Stößen ausgesetzt werden als fest verbaute Platten, aber das wird wahrscheinlich nicht der einzige Grund sein - ich kann zumindest die Logik hinter diesem Gerücht vollkommen nachvollziehen. Diese Platte steckt in einem 3,5" Gehäuse, das wir einfach mit einem Skalpel oder Prying-Tool vorsichtig öffnen. Wenn wir die Platte von der USB-Platine abziehen, kommt ein normaler SATA-Anschluss zum Vorschein. Glücklicherweise nutzt Seagate Adapter-Platinen und verbaut keine USB-Ports direkt auf dem PCB der Festplatten wie Western Digital. Ich verbinde also den UART-Terminal Adapter mit der Festplatte und diese dann mit dem SATA- und Stromkabel an den MRT-Port 2. Dann öffne ich das Seagate F3 Modul ohne die HDD anzuschalten, breche die Erkennung ab und wähle F3 Arch (common) als Familie. Dann breche ich auch das Lesen der Informationen der Platte ab und gehe auf den Terminal-Tab. Alternativ könnte ich auch einfach Putty mit dem passenden COM-Port verwenden:

121

Sobald ich die Festplatte anschalte, sehe ich in der Terminal-Ausgabe Folgendes: Boot 0x40M Spin Up Trans. Spin Up SpinOK TCC:0026 (P) SATA Reset

Hier gibt es keine auffälligen Fehler wie zB: Servo Op. ... Resp. ####

Servo-Operation mit folgendem Status:

0003

mit 90%iger Wahrscheinlichkeit ist die Magnetscheibe beschädigt / zerkratzt

0005

Servolabel gefunden - Klonen sollte gehen

0007

Erster versuch fehlgeschlagen, aber Servolabel wurde später gefunden

LED00000047

Translation-System Fehler

LED00000067

Beschädigung von Kopf oder Magnetscheibe (normal wenn man die Verbindung zum Kopf trennt)

LED000000BC

Media Cache Fehler / Problem mit Reallocation

LED000000DB

Media Cache Fehler Probleme mit Hintergrundprozessen in Modul 93 Teilweise hilft auch das Löschen der S.M.A.R.T. Daten

LED000000CC

Defektes Modul in der Service-Area Defekter Kopf / Beschädigung der Magnetscheiben

SIM err 1002

Beschädigte Defects-List (P-List order NRG-List)

122

SIM err 1009

Modul 17A beschädigt

SIM err 203F / 2040

Beschädigter Translator

SIM err 2044

Translator-Tabellen können nicht gelesen werden

SIM err 3005

Translator kann nicht in den RAM geladen werden

DOS table worst count

DOS Fehler (Disk Operating System)

SMI init(or) Training failed

Defekter PCB

Disk FW failed to load

Defekter PCB

MCMTFileHandler EXCEPTION

MCMT Modul beschädigt / nicht lesbar oder Problem mit dem Media Cache

Failed to load overlay ... 000000004

Hardware-Problem (generell) Falsche SA-Adaptives oder falscher ROM Chip

Sie sehen also, warum wir eine Seagate mit verbundenem Terminal starten. Diese Platten sind sehr gesprächig und sagen uns, was das Problem ist oder wir bekommen wenigstens eine Meldung oder einen Statuscode, den wir googeln können. Zu einigen Firmware-Problemen kommen wir später im Buch - trotzdem wollte ich an dieser Stelle die wichtigsten Fehler nennen. Ich selber führe eine Liste mit Fehlern und ergänze diese immer, wenn ich auf einen neuen Fehler treffe und eine Lösung finde. Manche Probleme kosteten mich zig Stunden an Recherche und Versuchen daher will ich dies nicht nochmals machen müssen, wenn ich in 2 Jahren die nächste Platte mit dem gleichen Problem bekomme. Außerdem hängt es oftmals auch von der Platten-Familie ab, was eine Meldung zu bedeuten hat. Daher sollte man trotz eigener Aufzeichnungen sicherheitshalber nochmals kurz recherchieren.

123

Hier scheint aber nur der Kopf instabil zu sein oder es liegt ein kleineres Firmware-Problem vor. Also starte ich den Imaging-Prozess. Diese Festplatte hat einen PCB mit abgeschnittener Ecke - dies sind PCB's bei denen man zuerst den Firmware-Zugriff entsperren muss. Dabei wird der ROM-Chip ausgelesen und dann mit einer gepatchten Version beschrieben. Da dies wieder mit einem Risiko verbunden ist, mache ich dies nur, wenn es triftige Gründe gibt. Viele lernen neue Programme im Try & Error System, aber für PC-3000, MRT und DFL gilt, dass dies keine gute Idee ist. Es reicht eine falsche Aktion und Userdaten sind unwiederbringlich verloren oder die Platte startet gar nicht mehr! Während ich den Imaging-Vorgang starte, fängt die Platte an, leicht zu arbeiten - es läuft ein Hintergrundprozess. Aber selbst als ich den Imaging-Vorgang starte, hört die Platte nicht damit auf, was auch immer sie macht. Ich höre deutlich, wie der Kopf zwischen zwei Jobs hin und her springen muss. Darum schalte ich die Platte ab. Scheinbar hängt die Platte bei einem Hintergrundjob und beendet diesen nicht und wird dadurch extrem langsam. Auch das klingt eher nach einem Firmware-Problem. Bevor ich die Firmware bearbeite, will ich aber noch einen anderen Ansatz probieren. Zuerst setze ich die Timeouts ziemlich kurz und die Anzahl der zu überspringenden Sektoren auf 256000 in den Imaging-Optionen:

Nach kurzer Zeit sehe ich, dass die Platte immer wieder hängt - daher probiere ich die verschiedensten UDMA-Modi durch. 124

Am stabilsten läuft UDMA 33:

Dann stoppe ich den Imaging-Vorgang und versuche eine Headmap zu schreiben, nachdem dies nach kurzer Zeit abbricht, erhöhe ich die Timeout-Zeiten und wiederhole das Erstellen der Headmap. Dieser Vorgang ist recht langsam und schwankt immer wieder zwischen 45 Minuten und 6 Stunden:

Daher breche ich diesen Vorgang ungefähr bei LBA 60000000 ab. Damit habe ich eine Headmap aber nur für die nächsten 37000000 LBAs. Das reicht, um zu sehen, ob immer der gleiche Kopf die Hänger und Timeouts verursacht. Ich will an dieser Stelle ausdrücklich betonen, dass dies keinesfalls meine favorisierte Vorgehensweise wäre, aber wenn Sie nicht die nötigen Tools haben, um die Firmware zu bearbeiten, ist dies zumindest ein möglicher Workaround. Außerdem prüfe ich den Task-Fortschritt:

125

Wir haben ein wenig mehr übersprungene LBAs als Gelesene. Das ist nicht besonders positiv, aber sollte es einen Kratzer geben, müssten wir diesen Bereich schön langsam verlassen. Bevor ich weitermache, will ich mir die bisherigen Daten genauer ansehen. Diese sahen im Hex-Viewer gut aus, aber ich überzeuge mich lieber noch mal davon. Darum lade ich die erste 4GB Datei in r-Studio und durchsuche diese nach Daten:

Wir haben gültige Daten und ein Dateisystem, das beschädigt ist, aber das ist auch kein Wunder, wenn über 50% der Daten fehlen... Jetzt kann ich beruhigt das Klonen wieder mit einem Timeout von 500 Millisekunden und UDMA 33 als Lesemodus starten. Dann beobachte ich den Vorgang einige Minuten und achte dabei auf die Anzeige der Köpfe neben den LBAs im Info-Bereich. Hierbei erkenne ich, dass die Hänger auf allen Köpfen auftreten und damit sehen wir, dass die Lesefehler weder auf einen bestimmten Bereich der Platte noch auf einen bestimmten Kopf einzugrenzen sind. 126

Da wir mittlerweile schon ca. auf der 1% Marke sind, ändere ich die ImagingEinstellungen wieder ab und setze die Anzahl der übersprungenen Sektoren bei einem Timeout auf 25600 und beobachte den Vorgang noch ein wenig. Dabei fällt mir auf, dass es in 9 von 10 Fällen drei Sprünge gab - also passe ich die Anzahl der zu überspringenden Sektoren auf 76800 an. Außerdem stoppe ich den Imaging-Vorgang ganz kurz, erstelle im Task-Planer einen neuen Task mit den Einstellungen PIO als Lesemodus, 2000 Millisekunden als Timeout und 0 Sektoren, die bei einem Timeout übersprungen werden sollen. Außerdem stelle ich ein, dass bei diesem neuen Task auch übersprungene Sektoren und jene, bei denen ein Timeout aufgetreten ist, erneut gelesen werden sollen (Reiter Copy-Type). Nun markiere ich Task 1 und klicke auf OK:

Dann kann ich den ausgewählten Task wieder starten und nach einiger Zeit sieht die Statistik schon besser aus:

So bekommen wir die größtmögliche Anzahl guter Bereich im ersten Durchgang und beschäftigen die Platte gleich wieder, nachdem der erste Durchgang fertig ist, damit die Hintergrundprozesse nicht gestartet werden.

127

Nach einiger Zeit merkte ich, dass die Platte immer wieder neu gestartet wurde. Daher musste ich das Timeout nochmals auf 1000 Millisekunden anheben, um ein "Power-Reset" alle paar Minuten zu verhindern. Eine Datenrettung sollte auf keinen Fall völlig unbeaufsichtigt laufen, denn das Verhalten einer Platte kann sich im Verlauf der Datenrettung ändern, so wie hier. Es wäre dann nicht gut, wenn die Platte unbeaufsichtigt läuft und hunderte Male abgeschaltet und neu gestartet wird. Vor allem, weil so auch eventuell im RAM abgeschaltet Hintergrundprozesse wieder aktiviert werden!

128

Fallbeispiel ST2000DM001 - Sehr viele Lesefehler Diese Platte hatte eigentlich ein Firmware-Problem und war wegen diverser Hintergrundaktivitäten nicht ansprechbar. Dies ist quasi das gleiche Problem wie beim Fallbeispiel ST1000DM003 im Firmware-Kapitel. Bei dieser HDD ist allerdings, das Muster das beim Klonen auftrat, sehr interessant. Nachdem die Hintergrundaktivitäten über das Terminal beendet wurden, konnte ich die HDD klonen. Dabei sah ich folgende Muster:

Einige Bereiche wiesen nur kleiner Teilstücke auf, die gelesen werden konnten und andere Bereiche wurden zur Gänze übersprungen:

Die violette Färbung zeigt uns hierbei, dass die belegten Speicherbereiche der Partition zuvor markiert wurden. Wir sehen auch anhand der Wiederholungen der schwarzen Kästchen, dass die Schrittweite beim Überspringen nur wenige Sektoren beträgt. 129

Das lag daran, dass wir hier bereits den zweiten Klon-Durchgang vor uns haben. Der erste Durchgang hatte einen Großteil der HDD übersprungen. Daher wollte ich im zweiten Durchgang diese Lücken fällen und habe dabei auf auffällige Muster geachtet. Hier haben wir eine Platte, die recht schnell (binnen 1 oder maximal 2 Sekunden) einen Lesefehler liefert. Der angezeigte UNC Fehler deutet in diesem Fall nicht auf einen Translator-Fehler (mehr dazu im Firmware-Kapitel) hin, sondern auf Leseprobleme. Dies liegt daran, dass ich überall Daten lesen kann bis auf einige Bereiche auf der Festplatte. Also teste ich, ob mehrfaches Lesen das Problem behebt:

Für einen ersten Versuch lasse ich die Festplatte bei jedem Lesefehler 5 weitere Leseversuche ausführen. Das mache ich natürlich erst an einem Zeitpunkt, an dem wir den Großteil der Daten gelesen haben:

130

Hier sehen wir 300526 Sektoren mit Lesefehlern und 101431584 noch nicht gelesene markierte Sektoren. Nachdem die 5 Leseversuche bei Fehlern eine gewisse Verbesserung brachten und auch einige zuvor nicht lesbare Bereiche wieder gelesen wurden, habe ich einen finalen Durchlauf mit 32 erneuten Leseversuchen gestartet und dieser lieferte folgende Ergebnisse:

Die markierten Sektoren wurden bis auf 30861 alle gelesen und dabei die Lesefehler auf 41269 verringert. Ich habe den Vorgang an dieser Stelle abgebrochen, da dieser letzte Bereich großteils nur noch Lesefehler lieferte und die gesuchten Daten bereits gerettet wurden. 131

Natürlich könnte ich nun die letzten 30861 Sektoren auch noch lesen und 1 oder 1 1/2 Tage darauf verwenden, aber laut DMDE liegen diese Sektoren nicht auf Bereichen, die der Kunde benötigt. Laufende Kontrolle des Ergebnisses kann auch hier einiges an unnötigem Zeitaufwand sparen. Spezielle Vorgänge, die tagelang brauchen, um wenige MB an Daten zu kopieren, sehe ich mir immer genau an. In Summe brauchte dieser Auftrag knapp 116 Stunden, um 1,25 TB an Daten zu klonen. Hierbei habe ich sogar die Bereiche mit gelöschten Daten geklont für den Fall, dass CHKDSK ausgeführt wurde. Der Kunde hatte besonderes Augenmerk auf einige Bilder und Videos sowie bestimmte Dokumente gelegt. Selbst wenn das ein oder andere Bild noch in diesen letzten 30 MB enthalten gewesen wäre, wären diese ohnehin nicht brauchbar, wenn wir uns ansehen, wie diese Bereiche nach dem Klonen aussehen:

Auch hier hat die Verwendung von VHD- bzw. VHDX-Dateien einen großen Vorteil. Man kann laufend mit Tools wie DMDE die Ergebnisse kontrollieren und sieht so, ob problematische Bereiche überhaupt geklont werden müssen oder nicht.

132

SSHD & Apple Fusion-Drive SSHDs sind Festplatten mit eine kleinen SSD als Cache, um die Geschwindigkeit zu erhöhen. Im Grunde brauchen Sie nur die Festplatte, aber die Firmware ist in der Regel so programmiert, dass Sie den Cache nicht einfach weglassen können, wenn die SSD defekt ist. Aber mehr dazu im Firmware-Kapitel. In den meisten Fällen wäre die SSD irrelevant, aber die Firmware zwingt uns, eine andere Lösung zu finden, als diese einfach zu ignorieren! Apples Fusion-Drives sind im Grunde ein JBOD (just a buch of disks) das mit der SSD beginnt und dann auf die HDD übergeht. Die niedrigen LBAs sind also auf der SSD und die höheren auf der HDD. Im System ist ein Programm integriert (Core Storage), das dann dafür sorgt, dass oft benötigte Daten auf die SSD verschoben werden. Ist die SSD defekt, dann finden Sie in der Regel (fast) alle Daten auf der HDD wobei das Dateisystem ohne SSD schwer beschädigt sein wird. Ist die HDD defekt, werden Sie der SSD nur einige System- und Programmdateien abringen können und eventuell einige wenige Dokumente, wenn diese wirklich häufig bearbeitet worden sind. Die Trennung der zwei Datenträger ist bei einem Fusion-Drive also leicht möglich, für eine vollständige Wiederherstellung der Daten inkl. der Dateinamen und Ordnerstrukturen benötigen Sie beide Datenträger. Wenn die HDD eines Fusion-Drives ausfällt, meldet das System nur noch die Größe der SSD. Wenn der Mac also behauptet, nur einen 32, 64 oder 128GB großen Datenträger zu haben, dann ist zu 90% sicher die HDD defekt oder zumindest so instabil, dass das System sie ausgeworfen hat.

133

ELEKTRONISCHE FEHLER BEI SPEICHERMEDIEN Für das Beheben von elektronischen Problemen müssen Sie kein ausgebildeter Elektroniker sein - viele der Probleme sind relativ einfach zu lösen und für andere gibt es einen Workaround. Bei Tablets, Telefonen und SSDs werden Sie mit diesem Ansatz allerdings nicht so weit kommen wie bei Festplatten, denn hier haben Sie abgesehen von einer Reparatur in der Regel keinen Workaround. Zumindest die Grundlagen der Elektronik müssen Sie beherrschen und Sie müssen in der Lage sein, Komponenten zu identifizieren und zu verstehen, was diese Komponenten machen und wie man Sie testen kann. Eine Einführung in die Elektronik würde den Rahmen des Buches sprengen. Es gibt jedoch sehr viele gute Bücher zu diesem Thema... Außerdem sollten Sie Löten können.

134

Empfohlene Ausrüstung Bei den Platinen, mit denen Sie im Rahmen einer Datenrettung zu tun haben werden kommen so gut wie ausschließlich SMD (Surface Mount Device) Komponenten zum Einsatz. Für das Entlöten von ICs (Integrated Circuit) ist eine Heißluftlötstation ideal zu arbeiten. Außerdem sollte der Lötkolben wechselbare Spitzen haben, damit Sie die Größe nach Bedarf variieren können. Des Weiteren wäre eine Vorwärmplatte gut, um die ganze Platine auf eine bestimmte Mindesttemperatur zu bringen und so dem Hitzeschock durch die Heißluft zu verringern. Ich nutze eine YIHUA YH-853AAA. Diese Lötstation bietet alles, was ich benötige in einem relativ kleinen und kompakten Paket. Natürlich kann man auf PremiumMarken wie Ersa, Weller oder JBC setzen, aber mir persönlich reicht die ChinaLötstation für die 1 - 3 Stunden pro Monat, die ich sie brauche. Da sehr viele Komponenten winzig klein sind, werden Sie ohne Mikroskop kaum arbeiten können. Sie brauchen also ein Stereomikroskop mit 5 - 10x Vergrößerung, einem langen Schwenkarm und großen Arbeitsabstand. Ein SWIFT SS41 wird auch unter AmScope SE-400-LED und diversen anderen Marken- und Modellnamen gehandelt. Dieses Mikroskop bietet 10x und 20x Vergrößerung, den passenden Arbeitsabstand und ist meiner Meinung nach das günstigste Modell, das geeignet wäre. Es gibt bessere Geräte, aber man kann damit gut arbeiten. Egal ob sie sich eine 1500 Euro teure JBC Station mit 2 Lötkolben und eine weitere JBC-Heißluftstation für weitere 1700 Euro kaufen oder die Yihua all in one Lösung für 150-200 Euro - Sie werden eine Zeit brauchen, um sich an die Station zu gewöhnen und die passenden Einstellungen herauszufinden. Premiumprodukte haben vor allem den Vorteil, dass diese schneller aufheizen, genauer zu regeln sind und zB den Wechsel von Lötspitzen im heißen Zustand vereinfachen. Bei günstigen Lötstationen werden die Spitzen über das Heizelement geschoben und da dies einfach gehen soll, sind die Bohrungen in den Spitzen entsprechend größer. Damit entsteht aber auch eine kleine Lücke zwischen Heizelement und Spitze. Die Temperatureinstellung bezieht sich in der Regel auf das Heizelement und daher ist es oft so, dass Sie bei günstigen Produkten nicht die Temperatur erhalten, 135

die Sie eingestellt haben. Üben Sie mit ein paar alten Platinen und Sie werden in Kürze die idealen Einstellungen finden.

Bei meiner Yihua-Station entsprechen die eingestellten 410°C ca. 340-350°C an der Spitze. Ein weiteres sehr wichtiges Hilfsmittel sind Labornetzteile. Diese erlauben es kontrolliert Strom in eine Schaltung einzuleiten und so auf Kurzschlüssel zu testen. Dabei habe ich mit bewusst ein Netzteil gekauft, dass eine Speicherfunktion für bestimmte Werte bietet. Ich habe mir die Voreinstellungen M1 - M4 mit 5V max. 150mA, 5V max. 500mA, 12V max. 500mA, 12V max. 1A belegt. Außerdem macht eine Thermokamera in vielen Fällen gut sichtbar, was auf der Platine vor sich geht. Einsteiger-Modelle mit ausreichend guten Auflösungen sind bereits für einige Hundert Euro zu haben. Ein weiteres nützliches Hilfsmittel, das ich permanent verwende, ist ein einfaches Volt- und Amperemeter für USB (zB Keweisi KWS-10VA). Dieses zeigt mir an, ob ein Gerät, das daran angeschlossen ist, Strom zieht oder nicht. Das kann bei der Diagnose schon einen ersten Aufschluss darüber geben, was mit dem Gerät nicht stimmt. Außerdem sieht man so gut, wenn es einen Kurzschluss gäbe, weil das Netzteil eine Notabschaltung ausführt und das Display des Messsteckers ausgeht. Ein weiteres unerlässliches Werkzeug ist ein Multimeter. Ein einfaches Modell reicht in der Regel. Wenn Sie damit auch Kondensatoren und Spulen messen können. wäre das ideal. 136

Kaufen Sie sich in jeden Fall zusätzlich extra feine Messspitzen dazu. Viele Platinen haben die Bauteile so dicht gepackt, dass Sie mit den üblichen groben Spitzen Probleme beim Messen haben werden... Ein anderes recht günstiges Hilfsmittel ist eine Silikonmatte als Lötunterlage - ich verwende ein Modell, das seitlich 116 kleine nummerierte Kästchen hat, in denen man einzelne Schrauben ablegen kann. Dies ist vor allem bei Telefonen und Tablets wichtig, da Sie so ein Muster mit den Schrauben legen können, um jederzeit zu wissen, welche Schraube an welchen Platz gehört. Das ist bei Telefonen und Tablets sehr wichtig, denn verschiedenste Schrauben sind unterschiedlich lang und eine zu lange Schraube an einer falschen Stelle kann das Gerät beschädigen. Das nächste wichtige Hilfsmittel ist ein Schraubenzieher-Set wie das IFIXIT Mako Kit. Ich habe bis jetzt noch kein Gerät bekommen, bei den ich einen Schraubenzieher benötigte, der in diesem Set nicht enthalten war. Nicht nur Telefone, sondern auch viele Laptops und sogar Festplatten benötigen teilweise ungewöhnliche Schraubenzieher. So kann man zB den Kopf einer Seagate ST2000LM007 nur mit einem Pentalope-Schraubenzieher lösen. Auch wenn ich nicht immer die Bits wechseln will und für die alltäglichen Arbeiten ein Schrautenzieher-Set auf 6 Torx, 3 Kreuz- und 3 Schlitz Schraubendrehern habe, ist das Mako-Kit immer wieder im Einsatz. Zu guter Letzt sind verschiedenste Pinzetten und die klassischen Prying und Öffnungswerkzeuge aus Plastik und Metall sehr wichtig. Sie brauchen mindestens eine wirklich feine Spitzpinzette für winzige SMD-Bauteile, eine gröbere Pinzette und eine selbstschließende Pinzette. Letztere ist immer wieder hilfreich, um Dinge zu halten, wenn Sie löten - beispielsweise feine Kabel. Man könnte dafür auch eine "dritte Hand" verwenden, aber meist geht es mit der selbstschließenden Pinzette einfacher und schneller. Ich empfehle Ihnen unbedingt bleihaltiges Lötzinn zu verwenden. Diese Art Lötzinn hat einen deutlich geringeren Schmelzpunkt und das hilft Ihnen dabei, die Lötvorgänge zu verkürzen und damit für die Komponenten schonender zu gestalten.

137

Auf allen industriell gefertigten Platinen kommt bleifreies Lot zum Einsatz und wenn Sie zB die Beinchen eines IC vor dem Entlöten zusätzlich mit bleihaltigem Lot verzinnen, dann senkt das den Schmelzpunkt des vorhandenen Lötzinns etwas. Normalerweise werden Teile entlötet die ohnehin defekt sind und ausgetauscht werden. Bei einer Datenrettung kann aber oftmals das entlötete Bauteil essenziell für das Gelingen sein - zB ein ROM-Chip oder der Speicherchip eines USBSticks. Sie wollen also alles unternehmen, um den Entlötvorgang möglichst schonend durchzuführen.

138

Thermografie als Hilfsmittel zur Fehlersuche Bevor wir Thermografie einsetzen können, müssen wir uns die wichtigsten Grundlagen näher ansehen. Dieser Abschnitt soll keine umfassende Einführung in dieses Thema sein, sondern Ihnen die wichtigsten Grundlagen näherbringen, damit Sie die Technik richtig einsetzen können. Eine quantitative Messung versucht genaue Zahlen zu ermitteln, was mit einer Wärmebildkamera nicht nur um einiges aufwendiger und schwerer ist, sondern auch für unsere Zwecke unnötig. Uns interessiert nicht, ob ein Bauteil, das einen Kurzschluss verursacht. 60°, 90° oder 150° warm wird! Wir wollen nur sehen, welches Bauteil außergewöhnlich heiß wird. Man spricht in dem Fall auch von einer qualitativen Messung. Ein wichtiger Faktor bei einer IR-Kamera ist die Auflösung. Im Gegensatz zu Fotokameras hat man hier keine sehr hohen Auflösungen. Ältere oder sehr billige Einsteiger-Kameras aus Fernost haben eine Auflösung von 80x60, 60x60 Pixel oder noch weniger.

Hikmicro B20 - 256x192 Pixel

80x60 Pixel Thermokamera

Ich werde in diesem Kapitel zwei Kameras mit unterschiedlichen Eigenschaften vergleichen - eine Hikmicro M10 mit 160x120 Pixel und eine Hikmicro B20 mit 256x192 Pixel Auflösung.

139

Bei Wärmebildkameras ist jeder IR-Pixel ein Messpunkt, wobei wir für eine zuverlässige Temperaturmessung eher ein 3x3 Pixel Feld betrachten sollten. Aber um genaue Temperaturmessungen geht es uns wie gesagt nicht wirklich. Je höher die Auflösung ist, umso detailreicher ist das Thermobild. Thermografie kann uns aber nicht nur zeigen, welche Bauteile warm oder heiß werden, sondern auch, welche Bauteile nicht warm werden. So sieht man, welche Teile der Schaltung nicht mit Strom versorgt werden. Damit kann man je nach Bild einen Kurzschluss lokalisieren oder feststellen, dass man eine Unterbrechung (defekter Widerstand, durchgebrannte Sicherung, etc.) suchen muss. Viele Modelle haben neben einer IR-Kamera auch eine Tageslicht-Kamera und erlauben es, die beiden Bilder zusammenzurechnen, um so Kanten und Strukturen besser sichtbar zu machen. Das bringt uns allerdings wenig, denn bei der Untersuchung von Platinen haben wir in der Regel einen so geringen Abstand, dass die versetzt angeordneten Kameras die Bilder nicht mehr deckungsgleich überlagern können (Parallaxenproblem). Neben der Auflösung sollte man sich das Field Of View (FOV) ansehen. Dieses bestimmt wie groß der Bildausschnitt ist, auf den sich die Messpunkte verteilen: Vergleichen wir dazu die zwei zuvor genannten Kameras:

Hikmicro B20 - FOV: 37° x 50° 140

Hikmicro M10 - FOV: 25° x 19°

Beide Fotos wurden mit identem Abstand aufgenommen. Wie Sie sehen, ist die B20 trotz der deutlich höheren Auflösung auch viel weitwinkeliger und bildet deutlich mehr Raum rund um die Platine ab. Bei der M10 passt die Festplatte nicht mal ganz in das Bild bei den ca. 30cm Abstand. Damit relativiert sich der Unterschied in der Auflösung wieder. Trotz der geringeren Auflösung verteilen sich die Messpunkte auf eine deutlich kleinere Fläche. Damit kommen wir auch zu einem weiteren wichtigen Faktor - dem mindesten Arbeitsabstand, bei dem Bilder noch scharf werden. Vergleichen wir wieder die zwei Kameras:

Hikmicro B20 - ca. 15cm

Hikmicro M10 - ca. 8cm Arbeitsabstand

Der deutlich geringere Arbeitsabstand ermöglicht es bei der M10 einen kleinen Teil der Platine abzubilden und damit werden einzelne Bauteile sehr detailreich dargestellt. Man kann sogar erkennen, dass der Kurzschluss von linken zum mittleren Pin geht. Bei der B20 habe ich den Ausschnitt der M10 zur Orientierung markiert. Man kann als Notlösung den maximalen Arbeitsabstand auch etwas unterschreiten. Damit wird das Bild zwar leicht unscharf, aber Unschärfe kann man bis zu einem gewissen Grad tolerieren. Außerdem kann man eine Pinzette oder einen 141

dünnen Uhrmacher-Schraubenzieher als Zeiger verwenden, um so die warm werdende Komponente markieren. Diese Lösung ist aber nur bedingt von Nutzen. Wer zB mit Telefonen arbeitet, wird die Closeup-Funktionalität einer M10 sehr zu schätzen wissen! Ein weiterer Faktor ist die Sensitivität (NETD). Diese gibt an, wie groß ein Temperaturunterschied sein muss, um von der Kamera wahrgenommen zu werden. Für unsere Zwecke ist diese allerdings nicht ganz so wichtig. Denn egal ob wir ein NETD von 40mK oder 70mk haben, wir wollen keine Temperaturunterschiede von 0,2°C oder 0,3°C aufdecken, sondern von einigen Grad. Ein weiterer Faktor ist die Auswahl der Palette - je nachdem wie das Thermalbild gefärbt wird, lassen sich Details besser oder schlechter erkennen:

Hikmicro M10 - versch. Paletten (Weiß heiß, Ironbow 1, Rain, Schwarz heiß - von links oben nach rechts unten)

142

Abgesehen von der Palette ist ebenfalls das obere und untere Ende der Temperaturskala entscheidend, aber das sehen wir uns anhand eines praktischen Beispiels an. Bevor wir loslegen, müssen wir noch eine Sache klären - wenn wir uns die oben gezeigten Bilder ansehen, dann fällt auf, dass bestimmte Bauteile und Details anders gefärbt sind, obwohl diese keinen wirklichen Temperaturunterschied haben sollten. So wirken die metallischen Kontakte der Bauteile deutlich kälter als das Bauteil selbst. Das macht eigentlich keinen Sinn, denn warum sollten die Kontakte der Bauteile kälter sein? Die Antwort liegt in der Zusammensetzung der aufgenommenen Infrarotstrahlung. Infrarotstrahlung setzt sich aus drei Teilen zusammen: 1. Die abgestrahlte Wärme eines Objektes, 2. die reflektierte Strahlung der Umgebung und 3. die Infrarotstrahlung, die das Objekt durchdringt. Der sogenannte Emissionsgrad (E) gibt an, wie das Verhältnis zwischen Abgestrahlter und reflektierter Strahlung ist:

E 0.05 - zB spiegelndes Metall

E 0.91 - zB PCB

143

Dies ist vor allem für die richtige Messung von Temperaturen wichtig. Oben sehen Sie einen Vergleich von E 0.05 zu E 0.91. Optisch sehen die zwei Bilder quasi identisch aus, aber die Temperaturmessung zeigt völlig andere Werte, wenn wir die 176,7°C mit den 40,9°C vergleichen. Sie sehen hier das Innere einer meiner Dual-Xeon Workstations. Die zwei schwarzen großen Vierecke sind die zwei Kühler der CPUs. Da diese aus Metall und noch dazu leicht glänzend sind, werden diese falsch dargestellt. Glänzende Objekte reflektieren IR Strahlung stärker als matte und haben einen geringen Emissionswert. Daher wirkt es so, als wären die CPU-Kühler nur um die 26°C warm, da sich der ca. 22-23°C warme Raum darin spiegelt und so der Eindruck entsteht, sie wären viel kühler. Da der Emissionswert nur die Temperaturberechnung beeinflusst und nicht wie das Infrarotbild dargestellt wird, müssen wir den Emissionsgrad eines Körpers verändern, um Reflexionen zu unterdrücken. Das ist es, was das X auf dem linken Kühlkörper darstellt. Ich habe zwei Streifen Mahler-Kreppband in Form eines X aufgeklebt. Mahler-Kreppband lässt sich gut wieder ablösen, hinterlässt keine Spuren und ist überall zu bekommen. Viele verwenden schwarzes Isolierband (E 0.95), aber das würde ich ungern für mehrere Minuten auf einem CPU-Kühler, der bis zu 70°C warm wird, aufbringen. Den Emissionswert für das Kreppband habe ich einmal auf relativ primitive Weise ermittelt, indem ich das Kontaktthermometer meines Multimeters anbrachte und dann den Emissionsgrad an der Kamera so weit verändert habe, bis beide Messungen übereinstimmten. Das ist eventuell nicht wirklich perfekt, aber für meine Zwecke reicht es. Falls es Sie interessiert - der Wert ist genau E 0.80. Die wichtigsten technischen Daten der Kameras nochmals im Überblick: Hikmicro B20

Hikmicro M10

IR Auflösung

256x192 Pixel

160x120 Pixel

FOV

37° x 50°

25° x 19°

Min. Abstand

ca. 15cm

7cm

Sensitivität

CC (Constant Current) bei dem die maximale Stromstärke abgegeben wird und die Spannung entsprechend einbricht, damit die Stromstärke nicht überschritten wird wie zB bei einem Kurzschluss. Je nachdem wie viel Spannung oder Strom abgerufen wird, schaltet das Netzteil zwischen CV und CC um. Somit können wir fein dosiert Strom einleiten, ohne Komponenten zu beschädigen. Die Komponenten einer Platine von einer HDD im Überblick Bevor wir uns mit den ersten defekten Platinen beschäftigen, wollen wir uns ansehen, aus welchen Hauptkomponenten ein PCB einer Festplatte besteht. Ich zeige dies am Beispiel einer 100664987 Rev. B von Seagate:

152

1. 2. 3. 4. 5. 6. 7. 8.

ROM-Chip (enthält Informationen für den Start der HDD) Schock-Sensor Motor-Kontakte Motorcontroller IC Kontakte für den Kopf MCU (CPU der Platine) RAM TVS-Dioden als Überspannungsschutz

153

Platine 1 - Festplatte dreht nicht hoch Der Kunde hat uns mitgeteilt, dass die Platte keine Geräusche mehr macht und einfach tot ist. Das kann unter Umständen ein defekter PCB sein oder ein steckender Schreib-/Lesekopf und der Kunde hört das leise fiepen nur nicht genau. Zur Sicherheit habe ich zuerst die Platine entfernt und mit einem einfachen Netzteil mit Strom versorgt. Dies ist einfacher als zuerst die Platte zu öffnen. An der Kamera habe ich dann den Temperaturbereich manuell geregelt und den unteren Bereich so stark angehoben, dass der PCB nur noch leicht schemenhaft zu erkennen war. In meinem Fall war dies 26° - 35°C. Dann habe ich die Platine mit Strom versorgt und sah folgendes Bild:

Hikmicro M10

Hikmicro B20

Der einzige Chip, der geringfügig auf Temperatur kam, war der Chip für die Motorsteuerung. Dieser läuft über die 12V Leitung. Der Speicher-Chip und die CPU bzw. MCU blieben kalt. Man muss nur darauf achten, dass keine Reflexionen von warmen Geräten in der Umgebung das Bild verfälschen. Hier bekommt man die Metallteile alle als recht kühl angezeigt, weil sich der "kalte" Raum darin spiegelt. Wenn Metallteile als heiß aufleuchten, sollte man die Messung aus 1 oder 2 anderen Winkeln wiederholen, um Reflexionen auszuschließen. Erst wenn eine metallische Stelle aus 2 oder 3 Blickwinkeln heiß wirkt, ist sie es auch! 154

Das bedeutet, dass die 5V Leitung irgendwo getrennt ist. Da nicht ein einziger Spannungsregler auf Temperatur kommt, vermute ich an dieser Stelle, dass diese Unterbrechung gleich bei der Versorgung war. Mit dem Multimeter im Modus Durchgangsprüfung messe ich die zwei 0-OhmWiderstände direkt nach dem SATA-Stromanschluss. Einer davon hatte einen Durchgang, der andere nicht. Also habe ich diesen Widerstand entfernt und dann die Kontakte mit etwas Lötzinn überbrückt:

Man kann natürlich auch einen passenden neuen Widerstand einlöten, aber als Provisorium reicht auch etwas Lötzinn. Wir müssen bei so einem Fehlerbild ohnehin damit rechnen, dass etwas anderes auch defekt ist, denn meist wird so ein Widerstand wie eine Sicherung bei zu hoher Stromstärke durchbrennen. Daher habe ich dann gezielt die 5V Leitung mit max. 500mA als Stromstärke versorgt. Darauf hin sah ich folgendes Bild:

Hikmicro M10

Hikmicro B20 155

Ich arbeite in der Regel mit der Thermokamera auf einem Schwenkarm und finde es in solchen Situationen schneller und einfacher, einen Plastik-Stab als Zeiger zu nehmen, anstatt den Arm zu verstellen und eventuell auch erneut zu fokussieren. Wir sehen hier sehr gut, dass das Kabel heiß wird und die TVS-Diode ebenfalls. Wobei heiß hier relativ ist - dis Skala geht in diesem Fall von 25° bis 33°C. Der Vorteil einer Thermokamera ist, dass man mit sehr geringer Stromstärke arbeiten kann und so die Bauteile schont. Diese 8°C Temperaturunterschied reichen mehr als aus, damit die entsprechenden Teile aufleuchten. Im Grunde erkennen die Kameras Temperaturunterschiede von wenigen zehntel Grad, aber ich will nicht erahnen, welches Teil warm werden könnte, sondern definitiv sehen das etwas passiert. Darum ist mir persönlich egal, ob die Kamera ein NETD von 40mK oder 70mK hätte. Es ist mir auch egal, ob man am Display einen Unterschied von 0,2°C bereits erkennen kann oder ob es 0,5°C braucht, bis sich ein Unterschied abzeichnet. Ich arbeite mit einigen Grad Temperaturunterschied. Eine TVS-Diode (Trans Voltage Supressor) wir bei Überspannung defekt und verursacht dann einen Kurzschluss. Die 0-Ohm-Widerstände und Schmelzsicherungen sind genau wie TVS-Dioden gängige Mittel, um eine Platine vor Überspannung und Stromspitzen zu schützen. Vor allem bei günstigen Netzteilen kommt es öfters vor, dass Sicherungen oder TVS Dioden durch Spannungsspitzen zerstört werden und dann die Festplatte nicht mehr funktioniert. Im Gegensatz zu Sicherungen und Widerständen, die im defekten Zustand den Stromkreis unterbrechen, schließen TVS-Dioden im defekten Zustand einen Stromkreis, der einen Kurzschluss verursacht. Darum kann man diese einfach entfernen, anstatt die Kontakte zu überbrücken. Egal ob man eine TVS-Diode entfernt oder eine Sicherung überbrückt, dies setzt die Schutzfunktion außer Betrieb und man muss sich bewusst sein, dass die Platine und der ganze Datenträger danach nicht mehr geschützt sind! Das müssen wir auf jeden Fall im Hinterkopf behalten, denn ab diesem Zeitpunkt reicht eine kleine Überspannung und die Festplatte kann beschädigt werden.

156

Ein kurzer Test mit dem Labornetzteil zeigt, dass weder auf der 5V noch der 12V Leitung die maximale Stromstärke erreicht wird und die Spannung konstant bleibt (CV Modus). Wenn wir nun die Platine über ein einfaches Netzteil mit Strom versorgen, sehen wir das folgende Bild:

Hikmicro M10

Hikmicro B20

Alle Chips und Spannungsregler sind warm, aber es wird kein Bauteil besonders heiß! Würde ein Bauteil besonders heiß werden, würde sich bei diesem relativ engen Temperaturbereich schnell ein großer "Fleck" abzeichnen - zB:

Hikmicro M10

Hikmicro B20

Hieran sehen wir auch, warum wir mit einem Labornetzteil testen sollten und nicht mit einem einfachen Molex-Netzteil. 157

Wenn wir den Strom nicht begrenzen, können diverse Bauteile so heiß werden, dass Sie sich selbst entlöten. Dabei können umliegende Bauteile beschädigt werden. Außerdem erkennen wir so nicht wirklich, welches Bauteil das Problem verursacht, weil das Bauteil die Umgebung mit erwärmt. Die gezeigte Ausbreitung der Temperatur entstand in nicht einmal einer Sekunde! Platine 2 - Raucht und riecht verbrannt Diese Beschreibung ist ein klares Indiz auf eine TVS-Diode oder einen Spannungsregler. Ein kurzer Blick mit der Wärmebildkamera, nachdem wir die Platine mit max. 12V und 800mA versorgen und wir haben den Übeltäter identifiziert:

Hikmicro M10

Hikmicro B20

Die TVS-Diode der 12V Leitung. Wir erkennen hier im Bild der M10 auch schön die Kontakte der 5V Diode. Oftmals sind die TVS-Dioden direkt beim Stromanschluss aber nicht immer, wie wir bei dem Übersichts-Bild der Komponenten sahen. Platine 3 - "HDD läuft nicht" Bei dieser Platine haben wir die liebste Fehlerbeschreibung eines Technikers vom Kunden bekommen: "Läuft nicht". Wir fangen also wieder bei der Platine an - es könnte auch ein steckender Kopf sein, aber wir untersuchen immer zuerst das Teil, bei dem wir das geringste Risiko haben, bei der Diagnose einen Schaden zu verursachen. 158

Wie üblich habe ich die 5V und 12V Leitung hintereinander mit dem Labornetzteil versorgt und die 5V Leitung zeigte klar zwei Hotspots:

Hikmicro M10

Hikmicro B20

Im Detail sehen die zwei Hotspots so aus:

Hikmicro M10

Hikmicro M10

Bei diesen Detailaufnahmen zeigt sich klar die Stärke der M10. An dieser Stelle wollte ich auch die Temperatur der Spots vergleichen, um einen Anhaltspunkt zu haben, was die eigentliche Ursache ist und was die Begleiterscheinung. Die Werte zeigen 147°C für den Spannungsregler und ca. 34°C für die MCU. Zwischen den Messungen habe ich die Spannungsversorgung immer wieder ausgeschalten, um eine weitere Beschädigung zu vermeiden.

159

Wir können den Messungen nicht zu 100% vertrauen, da ich weder darauf geachtet habe, ob der Messfleck groß genug ist, noch habe ich den passenden Emissionswert eingestellt. Tendenziell ist der Spannungsregler aber deutlich wärmer und daher würde ich darauf tippen, dass dieser der eigentliche Verursacher ist. Wenn wir das Bauteil betrachten, finden wir die Buchstaben DA und RM aufgedruckt. Diese Codes kann man auf Webseiten wie zB https://smd.yooneed.one/ überprüfen. Für den konkreten Fall konnte ich DA RM bzw. DARM nicht in der Liste finden. Wir könnten nun weiter recherchieren oder ein Bauteil einbauen, dass den geschätzten Eigenschaften entspricht. Dabei bleibt aber immer noch die Unsicherheit, ob nicht eventuell doch der Mikrocontroller das Problem verursacht und den Spannungsregler müsste man eventuell auch bestellen. Um das Rätsel zu lösen, müsste man die Schaltung analysieren und das kostet auch wieder eine Menge an Zeit. Daher ist dies ein gutes Beispiel dafür, wann man lieber eine Tauschplatine kaufen sollte. Natürlich können Sie 1 Stunde messen und experimentieren, dann das passende Bauteil ermitteln, suchen, bestellen und am Ende haben sie mit Mindestbestellmenge und Versandkosten wahrscheinlich genau so viel bezahlt wie für eine Spenderplatine, die man für 20 - 35 EUR finden kann. Tausch der Platine (PCB swap) Wir wir eingangs gelernt haben, befindet sich auf der Platine ein ROM-Chip, der Daten enthält, die für jede Festplatte einzigartig sind. Daher kann man eine Platine nicht einfach gegen eine andere Platine austauschen. Wir müssen den ROM-Chip von der defekten Platine auf die Spenderplatine übertragen. Dies können wir auf drei Arten machen: 1. Löten 2. Auslesen und Programmieren mit einem Chip-Programmer (zB Revelprog IS) 3. Auslesen und Programmieren mit einem Firmware-Tool (zB PC-3000, MRT, DFL) 160

Die einfachste Lösung ist das Löten. Wenn man etwas Übung hat, ist das ein Kinderspiel. Falls man ein Firmware-Tool besitzt, ist dies die noch bessere Option, aber nicht alle PCBs können von der Festplatte getrennt betrieben, ausgelesen und neu programmiert werden! Ein Chip-Programmer ist in meinen Augen nur eine Notlösung, denn das Programmieren in der Schaltung kann alle möglichen Probleme verursachen und wenn Sie den Chip ohnehin auslöten müssen, dann brauchen Sie eigentlich keinen Programmer. Wenn Sie eine Platine brauchen, dann schauen Sie lieber primär nach Festplatten. Oftmals habe ich zum gleichen Preis oder für wenige Euro Aufpreis eine ganze Spenderplatte. Sollte ich nach dem Tausch der Platine merken, dass auch der Kopf gelitten hat (zB defekter Preamp nach einer Überspannung), dann haben wir eventuell schon das passende Ersatzteil da und müssen nicht noch etwas nachkaufen und wenn nicht, haben wir unseren Lagerbestand an Spenderplatten ganz ohne oder für einen geringen Aufpreis vergrößert. Wenn Sie eine Platine benötigen, sollten Sie im Idealfall darauf achten, dass > die Platine die gleiche Modell- und Revisionsnummer hat, > aus dem gleichen Werk stammt und im Idealfall > das Produktionsdatum der Spenderplatte / -platine mit dem Produktionsdatum der Patientenplatte möglichst gleich ist. Ich würde sagen Ideal wären +/- 1 oder 2 Monate. Wenn Sie sichergehen wollen, dass auch der Kopf kompatibel ist, dann verweise ich an dieser Stelle auf den entsprechenden Abschnitt aus dem Kapitel "Reinraum Datenrettung"... Sehen wir uns den Patienten aus diesem Beispiel genauer an:

161

Der ROM IC ist meist ein 8-beiniger Chip, aber nicht immer! In diesen Fall ist es der oben markierte Chip. Gibt es gar keinen ROM-Chip, kann der ROM-Code auch im Prozessor selbst stecken. Dann muss die MCU übertragen werden. Meist kann der Code in der MCU mit einem Patch-Chip überschrieben werden. Daher gibt es viele PCBs, die zwar den Platz für einen ROM-Chip haben, aber dieser ist nicht bestückt. Wird er ROM-Chip in einer späteren Version bestückt, gibt es meist auch eine weitere Komponente wie zB einen Kondensator oder ein 0-Ohm-Widerstand, der als Schalter dient. 162

Wenn die Spender-Platine keinen ROM-Chip hat, aber der PCB des Patienten hat einen ROM-Chip, dann muss man nicht nur den ROM-Chip übertragen, sondern auch alle anderen Bauteile vergleichen, um die als Schalter benutzte Komponente zu finden. Diese muss dann ebenfalls übertragen werden. Vor allem bei derartigen ICs ist es unabdingbar, eine Heißluft-Lötstation zu haben und ein entsprechendes Mikroskop um zu sehen, ob auch wirklich alle Beinchen verbunden sind und ob es keine Brücken zwischen den Beinchen gibt. Nachdem wir den ROM-Chip übertragen haben, können wir die Spenderplatine auf die Festplatte schrauben. Die Festplatte sollte dann anlaufen. Platine 4 - Wird nicht erkannt Unser nächster Patient ist eine ST3250824AS, die nicht hochdreht. Zuerst sehen wir uns die Platine mit der Wärmebild-Kamera an. Hierbei sehen wir aber nichts Auffälliges:

Alle Chips laufen und werden warm - also scheint die Stromversorgung OK zu sein. Nichts wird besonders heiß - also gibt es auch keine Kurzschlüsse. Beim Abhören der Platte mit dem Stethoskop ist absolut nichts zu hören. Daher können wir auch einen steckenden Kopf ausschließen, denn dann müssten wir zumindest ein leises fiepen hören, das zeigt, der Motor versucht anzulaufen. Bevor wir die Festplatte öffnen, nehme ich nochmals den PCB ab und kontrolliere alle Komponenten. Bei einer visuellen Kontrolle entdeckt man oftmals mechanische Beschädigungen, die Leiterbahnen oder Komponenten zerstört haben. Das ist vor allem bei Platinen wie dieser, die die Komponenten auf der Außenseite angebracht haben, öfters der Fall. Einmal anecken beim Ein- oder Ausbau und ein kleiner Kondensator oder Widerstand ist ab. 163

Dies ist hier aber auch nicht der Fall. Ich sehe aber, dass die Kontakte für den Kopf recht stark korrodiert sind. Diese kann man mit einem einfachen Radiergummi säubern. Dazu nutze ich einen der orange-blauen zweiseitigen Radiergummis. Die orange Seite reicht in der Regel aus, um derartige Kontakte zu säubern. Bei sehr hartnäckigen Verschmutzungen nutze ich ganz vorsichtig die blaue Seite.

Vorher: Stark oxidiert

Nachher: Blank

Nach dieser Reinigung der Kontakte versuche ich es nochmals und die Platte läuft an. Einige Platten laufen gar nicht an, wenn die Köpfe nicht verbunden sind. Derartige Oxidation der Kontakte führt nicht so oft zu einem Ausfall, aber es kommt dennoch ab und an vor. Hier hatten wir eine alte Festplatte und der Kunde wollte nach einigen Jahren wieder an die Daten heran. Genau wie TVS-Dioden oder Sicherungen sind es oftmals Kleinigkeiten, die zu einem Ausfall führen. Wenn das Problem nicht einfach gefunden werden kann, ist ein PCB-Swap die sinnvollste Option. Je nach Modell der HDD kann ein unterbrechen der Kontakte dazu führen, dass die HDD nicht hochdreht oder das die HDD hochdreht, aber nicht erkannt wird. Wenn Sie korrodierte Kontakte sehen, reinigen Sie diese und prüfen Sie, ob das das Problem beseitigt!

164

Sonstige elektronische Probleme Die folgenden Probleme betreffen alle elektronischen Geräte und sind daher für HDD Platinen und alle folgenden PCBs gleichermaßen gültig. Tin-Whiskers ... sind kleine kristallartige Auswüchse, die aus Lötstellen wachsen. Viele ICs haben die Beinchen in so geringem Abstand, dass winzige Auswüchse einen Kurzschluss verursachen können.

Hier passen drei der Beinchen in 1mm eines Lineals. Wenn wir diesen 1mm nun durch 3 Beinchen + 2 Abstände teilen, erhalten wir 0,2mm. Dieses Zinn-Häärchen ist also ca. 0,25mm lang und geschätzt 0,01 - 0,02mm dick. Diese Platine lief nicht ordentlich und wir fanden einige dieser Auswüchse an zwei der Chips. Nachdem wir alle Beinchen neu verlötet hatten, lief der PCB wieder problemlos. Temperatur Einige Festplatten sind temperaturempfindlich. Dies kann alle möglichen Ursachen haben. Daher und von den Tin-Whiskers rührt auch der Mythos, dass das Einfrieren von Festplatten helfen kann. Eine Festplatte einzufrieren kann alle möglichen Probleme, lösen indem TinWiskers abbrechen oder Teile sich zusammenziehen und eine ausgerissene Löt165

stelle plötzlich wieder Kontakt hat. Außerdem kann es für heißlaufende Bauteile genug Kältereserve bieten, dass diese etwas länger laufen, bevor sie überhitzen. Dennoch muss ich dringend von derartigen Dingen abraten. Einerseits sind die meisten Festplatten (abgesehen von einigen mit Helium gefüllten ServerPlatten) nicht hermetisch abgedichtet. Daher wird in den meisten Fällen Kondensation zum Problem und sehr schnell den Kopf beschädigen. Außerdem haben viele Festplatten hydrodynamische Gleitlager. Diese ziehen beim anlaufen durch die Rotation ein Öl nach oben, um sich zu schmieren. Wenn die Viskosität von diesem Öl nicht passt, weil es zu kalt ist, kann das Lager trocken laufen und sich festfressen. Bedenken Sie, dass wir bei Festplatten mit 5400 oder 7200 Umdrehungen pro Minute arbeiten. Bei High-End und Serverplatten sogar mit 10000 oder sogar 15000 Umdrehungen pro Minute! Kühlen kann jedoch ein sehr effektives Mittel sein und ich habe mir aus AluStücken selbst zwei Kühlkörper gefräst, die ich mit einer Wärmetransfermatte (Arctic Thermal Pad 145x145x1mm passend zugeschnitten) auf die Festplatten auflege. Meist reicht diese passive Kühlung aus. Sollte das nicht der Fall sein, kann ich einfach einen 92x92mm Gehäuselüfter (SilentiumPC Zephyr 92 - nur 13,9dB laut) auf meiner dritten Hand montieren und von einem Molex-Netzteil betreiben. Das hat bis dato bei jeder Platte und jeder SSD gereicht und ich musste niemals etwas tiefgefrieren! Abgesehen von Teilen, die heiß laufen, gibt es aber auch einige Teile, die es gern warm haben. Ich hatte ein paar Festplatten und USB-Sticks, die sich bei 70-80°C von meiner Vorwärmplatte zum Löten am wohlsten fühlten und stabil liefen. Das Erwärmen der Geräte ist sicher nicht das erste, was ich ausprobiere, aber man sollte es in einigen Fällen probieren, wenn man alle anderen Dinge bereits ausgeschlossen hat und tatsächlich war dies für einige wenige Datenrettungen auch der Durchbruch.

166

SSDs SSDs haben im Grunde die gleichen Elektronik-Probleme wie PCBs von Festplatten. Nur kann man bei einem komplexeren Problem nicht einfach den PCB tauschen und muss das Problem lösen. Einige Kollegen haben mit mäßigen Erfolgen bei älteren SSDs mit Chip-OffDatenrettungen oder dem Transplantieren der Speicherchips oder des Controllers experimentiert. Was hier im Einzelfall möglich wäre, müsste man recherchieren, aber große Hoffnungen auf eine einfache und schnelle Lösung würde ich mir nicht machen! In der Regel muss man Elektronik-Probleme lösen und mit entsprechendem Aufwand die Fehler und Schaltungen analysieren und Bauteile ersetzen und die korrekte Dimensionierung errechnen.

167

Defekte bei USB-Sticks Bei USB-Sticks sieht es besser aus - bei älteren USB-Sticks ist Chip-Off durchaus eine Option, aber dazu erkläre ich später noch etwas mehr. Bei nicht monolithischen USB-Stickt gibt es auch oftmals das Problem, das der USB-Port lose wird, weil der Stick und die Platine darin beim abstecken gebogen werden. Hier fuhr der Kunde mit dem Bürostuhl versehentlich gegen den angesteckten Stick:

Wir erkennen schön, dass der Stick gebogen wurde. Dabei entstand das Problem, dass abgesehen vom USB-Stecker auch noch einige Beine vom Controller und Beine vom Speicherchip abgeplatzt waren. Glücklicherweise hielt sich der Schaden in Grenzen und wir konnten die meisten Beinchen einfach anlöten. Vor allem bei USB-Sticks zahlt es sich oftmals aus, jedes Bauteil zu kontrollieren und zu prüfen, ob diese auch wirklich fest sind oder einfach alle Lötverbindungen kurz nachzulöten. Aber wir hatten auch noch das Problem, dass eine Leiterbahn abgerissen war. Daher haben wir vorsichtig mit einem Skalpell den Schutzlack von den Leiterbahnen abgekratzt:

168

Zuerst wollte ich einfach mit ein bisschen Lötzinn eine Brücke erstellen, aber dies klappt nicht gut, da die Kapillarwirkung das Lötzinn lieber zwischen die Beine des Chips zog. Eine so kurze Drahtbrücke wird ebenfalls nicht klappen, da die Hitze des Lötkolbens beide Enden zugleich erwärmen würde. Daher habe ich ein längeres Stück Draht direkt an den Beinchen der Chips angelötet:

Diese Drahtbrücke gehört nicht zu meinen schönsten Arbeiten, aber die Stelle ist nicht gerade ideal. Diese Arbeiten sind sehr filigran und erfordern viel Geduld! Ich verwende hier Lackdraht, dessen Lackschicht beim Löten schmilzt und ich lasse die Drahtbrücken recht lange werden. Damit überträgt sich die Wärme vom Löten nicht so schnell auf das andere Ende. Bei zu kurzen Drahtbrücken entlötet sich das zuerst angelötete Ende gern wieder, bis man das zweite Ende angelötet hat. Bei manchen Modellen ist es auch möglich, den Speicherchip einfach auf einen Spender-PCB zu übertragen. Hierzu muss die Spender-Platine zumindest den gleichen Controller haben. Ob es überhaupt möglich ist, muss man für das jeweilige Modell separat recherchieren.

169

Damit Sie einen Größenvergleich haben, habe ich eine Kugelschreiberspitze in Größe M in das Bild gehalten. Die Beinchen sind ca. 0,2mm breit und haben 0,2mm Abstand voneinander und der Lackdraht ist 0,1mm dick. Derartige Lösungen müssen nicht schön sein und auch nicht Jahre lang halten. Wir retten Daten und reparieren keinen 10 EUR USB-Stick. Wirklich stabil lief der Stick danach immer noch nicht, aber er wurde zumindest erkannt:

Daher haben wir ein Image mit dem DFL URE gemacht. Dieses Tool ist auf die Datenrettung von USB-Festplatten spezialisiert und hat einige wenige 1-Klick-Lösungen für einige wenige gängige Firmwareprobleme von USB-Festplatten. Da dies ein USB-basiertes Gerät ist, eignet es sich neben USB-Festplatten sehr gut für SD-Karten, USB-Sticks und dergleichen. Es ist sogar möglich, mit einem passenden Adapter SATA-Festplatten anzuschließen, obwohl der Funktionsumfang mit dem von MRT nicht ansatzweise zu vergleichen ist!

170

Wenn wir das Tool starten, sehen wir im Grunde eine sehr ähnliche Oberfläche wie bei MRT:

Links finden wir die Aktions-Buttons womit wir Resets ausführen können oder die wenigen unterstützten Firmware-Bugs beheben, Im großen weißen Feld in der Mitte sehen wir diverse Statusmeldungen zur Fehlerdiagnose und darunter unsere bereits bekannten Status-LEDs. Im Gegensatz zu Windows wird der Stick nicht erst nach 30-40 Sekunden erkannt, sondern sofort. Also können wir einen neuen Task starten:

171

DFL nennt dies ein "Projekt".

Zuerst legen wir den Pfad fest, in dem das Image gespeichert werden soll.

Danach können wir auswählen, ob wir ein Image erstellen oder ob wir den Dateisystemkatalog parsen wollen, um dann einzelne Dateien und Ordner zu retten. Da ich hier davon ausgehe, dass der Stick eher weniger stabil sein wird nach die172

ser behelfsmäßigen Reparatur, entscheide ich mich für ein Image. Abgesehen davon sind es nur 16GB die wir klonen müssten und wir haben gesehen, dass der Stick fast randvoll war. Dazu kommt noch, dass im Falle von Lesefehlern darauf spezialisierte Tools wie r-Studio und UFS einen deutlich besseren Job machen, wenn es darum geht, beschädigte Dateisysteme zu interpretieren.

Hier können wir dann auswählen, ob das Image auf einen anderen USB-Stick erfolgen soll oder in eine Datei. Im Grunde wieder ziemlich gleich wie beim MRT.

173

Auch die Imaging-Optionen sind wieder ziemlich ident. Wir sehen unsere alten bekannten LBA-Bereiche, Imaging-Richtung (vorwärts oder rückwärts), LeseModus, Error- und Timeout-Handeling, Headmaps, usw. Wenn wir den Imaging-Vorgang starten, sieht das Fenster auch wieder ziemlich gleich aus wie bei MRT:

Aber PC-3000 oder andere Tools sehen auch nicht wirklich anders aus. Was das Klonen betrifft, sind die verschiedensten Tools ziemlich ähnlich aufgebaut. Allerdings bestätigt sich meine Einschätzung nach kurzer Zeit:

174

Wir sehen nur noch Lesefehler und übersprungene Bereiche... Daher stoppe ich das Klonen, versuche unterschiedliche Einstellungen und starte es immer wieder neu. Leider finde ich keine besseren Einstellungen oder keine Option, um den Vorgang automatisch laufen zu lassen und ich muss diesen USB-Stick die ganze Zeit babysitten und alle 2-3 Minuten den Vorgang neu starten. Insgesamt dauert das Klonen ca. 45-50 Minuten. Natürlich könnte man weiter daran arbeiten und versuchen, das Problem zu identifizieren und zu lösen, aber das birgt auch immer das Risiko, dass es noch schlimmer wird. Daher würde ich lieber den Datenträger beaufsichtigen und falls dies zu lange dauert mit Python ein kleines Script schreiben, dass meine Aktionen in bestimmten Zeitabständen wiederholt, als weiter an solchen Problemen zu arbeiten außer ich sehe etwas augenscheinliches bei einer weiteren visuellen Inspektion. Hier konnte ich weder unter dem Mikroskop ein weiteres Problem wie zB eine kalte Lötstelle oder eine ungewollte Brücke zwischen zwei Pins entdecken. Die Brücke, die Sie in Bildern sahen, war gewollt und auch von Werk aus schon vorhanden, da diese zwei Pins auf das gleiche Pad verbunden wurden. Auch die Thermokamera zeigte keine Auffälligkeiten oder besonders starke Hitze. Das Problem kann auch durch meine Lötversuche erst entstanden sein und derartige filigrane Lötarbeiten klappen meist nicht beim ersten oder zweiten Versuch! Daher kann man davon ausgehen, dass weiteres Arbeiten an dem Stick die Situation eher verschlimmern wird! Hier konnten wir 100% der Sektoren nach ca. 15-20 manuellen Neustarts klonen und r-Studio hat alle Daten auf einen neuen USB-Stick kopiert. Chip-Off wäre hier auch eine Option, aber dies hätte sicher länger gedauert und mehr Arbeit gemacht!

175

Defekte bei Speicherkarten Bei Speicherkarten gilt im Grunde das Gleiche, was ich bei USB-Sticks gesagt habe. Micro-SD karten sind monolithisch, aber reguläre SD-Karten haben oftmals einen separaten Speicherchip und Controller:

CF-Karten sind die einzigen Speicherkarten, die dem ATA-Standard entsprechen und können ohne weitere Elektronik direkt auf IDE adaptiert werden. Alle anderen Speicherkarten müssen mit entsprechender Elektronik, die die Kommandos übersetzt, adaptiert werden. Je weniger Elektronik zur Vermittlung der Befehle zwischen Speicher und entsprechender Hardware zur Datenrettung eingesetzt wird, umso besser. Daher habe ich öfters gute Erfahrungen gemacht, wenn ich eine CF-Karte mit einem einfachen Adapter ohne Elektronik am IDE-Port des MRT anschließe. Gelegentlich hilft der URE bei instabilen Speicherkarten oder auch USB-Sticks so wie im vorherigen Beispiel. Außerdem gilt auch hier, dass man auf elektronische Defekte achten sollte, denn in manchen Fällen ist es nur ein einfacher Kondensator oder ein defekter Wi176

derstand, der das Problem verursacht! Außerdem lässt sich eine SD-Karte recht schnell und einfach knicken. Die sehr flexible und dünne Platine bricht dabei nicht und sorgt dafür, dass Komponenten abplatzen bzw. abreißen.

177

DEFEKTE TELEFONE, TABLETS, NETBOOKS, ETC. Im Gegensatz zu Festplatten sind Telefone, Tablets und Notebooks in jeweils zwei Kategorien zu unterscheiden: > Verschlüsselte und > unverschlüsselte Geräte Tablets und Telefone ab Android 6.x sind genau wie Geräte der Firma Apple verschlüsselt. Vor Android 6.x konnte man einfach den Speicherchip entnehmen (Chip-Off) und diesen auf recht günstigen Geräten wie zB einem MOORC ICFRIEND E-Mate X 13 in 1 Set und dem passenden SD-Karten Adapter oder einem EasyJTAG lesen. Gleiches gilt für Netbooks - einige Geräte sind verschlüsselt und es kommt nur eine Reparatur in Frage. Andere Modelle erlauben es den Speicherchip zu entfernen und in einem Adapter zu lesen. Viele günstige Netbooks und Winows-Tablets haben eMMC Chips genau wie Telefone verbaut und daher kann man oftmals die gleichen Lesegeräte / Adapter verwenden.

178

Mobiltelefone ab Android 6.0 Mobiltelefone der Firma Apple sind verschlüsselt und daher kommt ein Lesen der Daten direkt vom Speicherchip (Chip-Off) nicht in Frage. Gleiches gilt für beinahe alle Mobiltelefone mit Android ab Version 6.0! Daher ist der gängigste Weg zur Datenrettung eine Reparatur des Gerätes. Fallbeispiel - Huawei P20 Pro mit defektem Display In diesem Beispiel haben wir ein Huawei P20 Pro (CLT-L09) als Patienten. Der Kunde hat bereits ein neues Telefon besorgt, bräuchte aber Notizen, Sprachaufnahmen, Videos und Fotos von dem Telefon. Es gibt zwar ein Cloud-Backup aber auf das passten nicht die gesamten 25-30 GB an Daten, die der Kunde auf dem Telefon hat. Das erste Display war mechanisch beschädigt worden und der Kunde bzw. ein Bekannter hatte selbst versucht, das Display zu tauschen. Das neue Display zeigt nichts an und flackert nur. Da dieses Telefon die Ausgabe des Bildes per USB-C erlaubt, war der erste Ansatz das Anschließen eines USB-C auf HDMI + 2x USB Hubs (zB D-Link DUB-M530). So kann man das Bild auf einem Monitor sehen und das Telefon mit Maus und Tastatur bedienen. Allerdings konnte ich mich nicht einloggen. Das Bild fror immer wieder ein, wenn ich den Sperrbildschirm nach oben wischte. Zumindest konnte ich sehen, dass das Telefon startet und funktioniert. Der zweite Ansatz ist es, das Display zu prüfen und gegebenenfalls zu tauschen oder zu reparieren. Da der Kunde das Telefon nicht repariert braucht und ich kein zusätzliches Lager mit Telefon-Ersatzteilen aufbauen will, war meine erste Idee, das ich mir das Display genauer ansehe. Mobiltelefone haben in der Regel eine Handelsbezeichnung wie zB hier "P20 Pro" und eine genaue Modellbezeichnung wie hier CLT-L09. Wenn wir Firmware benötigen oder Ersatzteile, dann ist es immer anzuraten, nach der Modellbezeichnung zu suchen und nicht nach dem Handelsnamen. Genau wie bei der Datenrettung gibt es auch eine sehr aktive Community für Mobiltelefon-Reparaturen und viele Firmen, die dies anbieten, tauschen sich gegenseitig im Internet aus. Hierbei 179

werden so gut wie ausschließlich Modellbezeichnungen benutzt. Wer dies weiß, kann einige Informationen, Tools, Anleitungen und vieles mehr finden, die unter "P20 Pro" eventuell gar nicht auftauchen. Da ich nach kurzer Zeit das Gefühl hatte, dass das Display allmählich an der unteren Kante warm wird, habe ich mir dies mit der Wärmebildkamera angesehen:

Hikmicro M10

Hikmicro B20

Der Vorteil ist hierbei, dass eine Wärmebildkamera Temperaturunterschiede sichtbar macht, die wir so kaum merken. Hier war ich mir nicht ganz sicher, ob ich meinem Handgefühl trauen konnte, aber die paar Grad Temperaturunterschied sehen auf der Wärmebildkamera mehr als eindeutig aus! Telefone haben oft unterschiedlich lange Schrauben und wenn man die Schrauben beim Entnehmen nicht genau organisiert und wieder an die richtige Stelle einsetzt, kann es vorkommen, dass eine zu lange Schraube eine Platine beschädigt oder einen Kurzschluss verursacht. Die kleinen Stecker an den Flachkabeln sind auch recht filigran und es kann durchaus vorkommen, dass diese beim abziehen oder anstecken von ungeübten Personen beschädigt werden. Daher habe ich das Telefon zerlegt und das Display verdreht angeschlossen, damit ich mir die zwei kleinen Platinen genauer ansehen kann:

180

Hikmicro M10

Hikmicro B20

Wir sehen hier zwei Komponenten, die warm werden - diese pulsieren bei der Betrachtung durch die Wärmebildkamera. Sie erwärmen sich also und kühlen dann wieder ab. Außerdem decken sich die Positionen nicht mit dem Wärmebild der Vorderseite. Mit der M10 können wir uns diese zwei Platinen im Detail ansehen:

Hikmicro M10 - Detail links

Hikmicro M10 - Detail rechts

Die hier mit dem Pfeil zusätzlich markierte winzige Komponente auf dem rechten Bild beeindruckt mich wirklich. Ein derart kleines Bauteil noch halbwegs zuverlässig sehen zu können, ist vor allem bei Telefonen wirklich hilfreich und hier bringen die 7cm Mindestabstand wirklich einen enormen Vorteil, auch wenn das Fokussieren etwas Übung erfordert und Freihandaufnahmen kaum noch gelingen. Bei diesem Abstand sollte man lieber ein Stativ oder einen Schwenkarm verwenden, um halbwegs scharfe Bilder zu bekommen. 181

Man muss auch immer bedenken, dass eine Wärmebildkamera kleinste Temperaturunterschiede aufzeigt. Normalerweise versorgen wir die Geräte mit Strom durch das Labornetzteil und dabei können wir von der Anzeige des Netzteils ablesen, ob es einen Kurzschluss gibt oder nicht. Hier nutzen wir ein USB-Ladekabel und können die Stromstärke nur bedingt begrenzen. Darum müssen wir auch entsprechend Nachdenken, wie wir derartige Bilder interpretieren. Hier wurde das Display im Laufe der Versuche so warm, dass es um die 70°C erreichte und das sollte definitiv nicht innerhalb von 5 oder 6 Minuten passieren. Denken Sie aber immer daran - die Kamera zeigt nur Temperaturunterschiede an und es liegt an Ihnen zu interpretieren, ob diese normal sind oder auf ein Problem hindeuten. Ich mag Wärmebildkameras vor allem weil Sie mir erlauben, in recht kurzer Zeit zu beurteilen, ob eine Reparatur einfach sein könnte oder ob es wirtschaftlich sinnvoller ist, ein Ersatzteil zu besorgen. Hier macht es in meinen Augen wirtschaftlich keinen Sinn, stundenlang einen Schaltplan dieser Platinen und die Datenblätter der Komponenten zu besorgen und dann die mögliche Ursache zu suchen. Je nachdem, wie gut Ihre ElektronikKenntnisse sind, kann dies schneller oder langsamer gehen. Für Telefone gibt es das Programm ZXW (https://zxwtools.com/en/), das Schaltpläne von vielen Platinen und teilweise sogar gemittelte Messwerte verschiedenster User zur Verfügung stellt, um die Arbeit zu erleichtern. Wäre das Problem hier auf der Hauptplatine zu finden, würde eine Reparatur der einzige Weg sein, aber bei dem Display würde ich nur eine sehr einfache Reparatur in Betracht ziehen wie zB ein kurzgeschlossener Kondensator oder etwas in der Art. Ich muss hier auch damit rechnen, dass ich eventuell Bauteile wie den heiß werdenden Chip besorgen muss. Ganz abgesehen davon ist es auch nicht einfach, die 6 Beinchen auf einer Länge von ca. 2mm anzulöten und einen Chip zu bestellen kann unter Umständen deutlich längern dauern als ein gängiges Ersatzteil wie ein Display. Müsste ich einen Chip zB über aliexpress.com bestellen, dann dauert eine Lieferung einige Wochen oder ich muss mit Versandkosten um die 182

30 - 40 USD rechnen um die Teile binnen 3-5 Tagen zu erhalten. Dazu kommen dann natürlich noch entsprechende Gebühren für die Zollabfertigung und eventuell anfallende Einfuhrzölle. Daher entscheide ich mich hier definitiv für den Zukauf eines Displays. Nachdem wir hier ein fehlgeschlagenes Bastelprojekt haben, kann ich nicht darauf vertrauen, dass das Telefon nach dem vollständigen Zusammenbau noch funktioniert. Ich muss befürchten, dass es wieder zu einem Kurzschluss oder einer Beschädigung kommen wird. Daher habe ich das Telefon nur halb zusammengebaut:

Ich habe hier die Hauptplatine auch nur mit einigen wenigen Schrauben behelfsmäßig fixiert und das Display nicht angeklebt. Außerdem müsste ich noch den Home-Button aus dem defekten Display ausbauen, da das neue Display diesen nicht verbaut hat. Um die Daten zu sichern, brauchen wir weder den Lautsprecher noch angeschlossene Antennen oder eine Front-Kamera noch ein fertig festgeklebtes Display! Alles, was wir brauchen, ist ein funktionierendes Display, um den PIN-Code einzugeben und eine USB-Verbindung für HiSuite um ein Backup zu erstellen:

183

Zuerst müssen wir den EntwicklerModus aktivieren, indem wir Einstellungen -> System -> Über das Telefon aufrufen und dann 7x auf die BuildNummer tippen. Nicht nur HiSuite sondern auch die meisten Datenrettung- und viele Forensik-Tools benötigen dies.

Danach finden wir unter Einstellungen -> System -> Entwickleroptionen den Punkt USB-Debugging, den wir aktivieren müssen.

184

Wenn wir HiSuite am PC starten und denn das Telefon mit dem USB-Kabel verbinden, werden wir gefragt, ob wir die Verbindung zulassen wollen. Sobald wir dies bestätigen, erhalten wir einen 8-stelligen Code angezeigt, den wir in HiSuite eintragen müssen:

Danach haben wir zwei Optionen. Entweder wir verwenden HiSuite um ein Backup vom Telefon zu erstellen... Dabei werden alle Daten, die installierten Apps und einiges mehr gesichert und so von einem auf ein anderes Telefon übertragen:

185

Diese Backups werden in der Regel auch verschlüsselt und daher muss man ein Passwort vergeben. So sind die Daten dann auch schon direkt für den Datentransfer über das Internet vorbereitet, falls wir diese auf elektronischem Wege liefern. Wir müssen aber auch bedenken, dass viele der Hersteller-Tools markenspezifisch sind, und so können wir zB mit HiSuite Daten nur von einem Huawei-Telefon auf ein anderes Huawei-Telefon übertragen! Andere Tools erlauben es dann Daten, zwischen den verschiedenen Marken zu übertragen. Hier könnte man zB Phone Copier Express von COMPELSON (https://www.mobiledit.com/phone-copier-express) verwenden. Dieses Tool bietet ein Lizenzmodell, das für manche ganz interessant sein kann, denn es gibt sowohl bei Phone Copier als auch bei Mobiledit Forensics eine Lizenz für ein Telefon zu kaufen. Phone Copier erlaubt es beliebig viele Telefone auf ein Gerät zu übertragen - in dem Fall die Festplatte meines PCs.

186

Wenn wir das Programm starten, wird wieder über ADB (Android Debug Bridge) eine Verbindung aufgebaut, die wir auf dem Telefon bestätigen müssen. Danach müssen wir den Zugriff der über USB installierten Hilfs-Anwendung auf Kontakte, Bilder, etc. erlauben und schon können wir auswählen, welche Daten wir sichern wollen:

Ich habe hier die Daten nicht auf ein neues Telefon übertragen, sondern ein Backup auf die Festplatte gewählt.

187

Sobald wir den Kopiervorgang starten, werden wir aufgefordert, das QuellTelefon in den Flugmodus zu schalten. Im nächsten Schritt können wir wählen, welche Kontakte wir sichern wollen:

Ich habe hier die Telefon-, Google- und WhatsApp Kontakte gesichert, um keine Einträge zu übersehen. Der Kunde kann die doppelten Einträge später selber löschen. Dann starten wir den Backup-Vorgang:

188

Hier sehen wir aber auch gut, dass wir ganz unterschiedliche Ergebnisse mit den verschiedenen Tools bekommen. Phone Copier sichert zB nicht die Notizen, findet dafür einiges mehr an Kontakten, aber bei Fotos und Videos sind sich die Tools wieder einig. Eine Eigenart von Phone Copier Express ist, dass Nachrichten, Kontakte, etc. als PDFs exportiert werden:

Das kann je nach Anwendungsfall ein Vor- oder Nachteil sein... Alternativ dazu können wir HiSuite wie den Windows-Explorer nutzen oder wir verwenden direkt den Windows Explorer, um Daten vom Telefon zu kopieren. Hierbei erlaubt es HiSuite auch weitere Daten wie Kontakte oder Nachrichten zu exportieren. Darum ist dieses Programm in der Regel vorzuziehen...

189

Die Nachrichten und Kontakte können mit HiSuite als CSV-Listen exportiert werden. Allerdings können wir in den Fall weder mit dem Explorer noch mit dem Datenzugriff in HiSuite die Memos sichern. Dies gelang nur mit dem vollständigen Backup in HiSuite! Je nachdem, was der Kunde braucht, muss man also nach der geeigneten Methode und dem geeigneten Programm suchen. Das macht Android-Backups nicht gerade einfacher. Da der Kunde die Daten am Rechner haben wollte, habe ich das Backup mit Phone Copier Express gemacht und dann mit HiSuite noch die Kontakte und Nachrichten als CSV-Liste exportiert, damit der Kunde diese besser verarbeiten kann.

190

iPhone & iPad Für Geräte der Firma Apple gilt im Grunde genau das gleiche wie für AndroidGeräte ab Version 6.x - das Gerät muss repariert werden um die Daten zu sichern. Telefon-Shops, die Reparaturen anbieten, tauschen normalerweise Teile aus und machen keine Board-Level Reparaturen. Das ist OK für ein Display oder die Platine mit dem Lade-Port aber wenn die Hauptplatine das Problem ist, würde CPU und Speicherchip getauscht und somit verliert man die Daten. Bei der Board-Level Reparatur gibt es zwei mögliche Herangehensweisen: > Fehlersuche und Tausch einzelner Komponenten oder > Transplantation von Speicher und zusätzlich zur Ver- und Entschlüsselung benötigten Komponenten auf eine neue Platine. Letzteres ist oftmals schneller, aber die Ersatzteilkosten sind natürlich viel höher. Zur Fehlersuche gibt es einige Programme, die Ihnen interaktive Schaltpläne und teilweise sogar gemittelte Messwerte funktionierender Platinen zum Vergleich liefern. Die gängigsten Tools wären: > > > >

ZXW (https://www.zxwtools.com/en/) Phoneboard (https://phoneboard.co/) REFOX (https://www.refoxteam.com/bitmap) OpenBoardview (https://openboardview.org/)

Wobei ZXW meiner Meinung nach das umfangreichste Tool ist und daher ist dieses Programm auch meine eindeutige Empfehlung.

191

Netbooks & Windows-Tablets Diese Geräte haben oftmals einen eMMC-Speicherchip verbaut und daher ist in vielen Fällen eine Chip-Off-Datenrettung möglich. Falls der Speicherchip verschlüsselt ist oder aus anderen Gründen kein Chip-Off machbar ist, kommt nur eine Reparatur in Frage. Dabei fallen mit vor allem Geräte mit fest verlöteten SSDs ein. Die größte Schwierigkeit ist es hierbei, die entsprechenden Diagramme und Schaltpläne für die verschiedensten Modelle zu erhalten. Alternativ kann man ein gebrauchtes baugleiches Gerät als Ersatzteilspender besorgen und vergleichend Komponenten und Schaltungen beim Patienten- und beim Spendergerät messen. Egal ob es um ein Apple- oder andere Geräte geht, eine entsprechende Ausbildung für Board-Level-Repair ist dringend zu empfehlen - zB: TeelTechnologies Board Level Repair. Einfache Fehler wie Kurzschlüsse sind mit einer Wärmebildkamera sehr einfach zu finden, aber komplexere Probleme erfordern entsprechendes Grundlagenwissen in Elektronik und der Analyse von Schaltungen.

192

193

FIRMWARE-PROBLEME Firmware-Probleme machen nur einen kleineren Teil der Datenrettungen aus, sind aber der komplizierteste Teilbereich. Viele Dinge finden die Toolhersteller nur anhand von Reverse Engeneering heraus und daher sind manchmal allein schon die Namen für das gleiche Ding zwischen den verschiedenen Tools unterschiedlich. Oftmals gehen Toolhersteller auch bei Problemlösungen andere Wege, warum es Grenzfälle gibt, bei denen das eine Tool versagt, ein anderes aber funktioniert. Was Sie in diesem Kapitel lernen werden, ist nur ein sehr oberflächlicher Überblick. Außerdem werden wir einige kleinere Fallbeispiele besprechen. Wir arbeiten seit Jahren mit Firmware-Tools und haben dennoch immer wieder Fälle, bei denen wir auf den Support zurückgreifen müssen. Firmware-Reparaturen lernt man nicht über Nacht!

194

Genereller Aufbau der HDD-Firmware Eine Festplatte ist nicht nur ein dummes Periferiegerät, sondern ein kleiner Computer mit Prozessor, Arbeitsspeicher und Firmware, die einem Betriebssystem recht ähnlich ist. Mittlerweile haben sich am Markt nur noch 3 Hersteller, die auf Ihrem Weg viele andere Konkurrenten aufgekauft haben, durchgesetzt. Daher folgt die Firmware von Festplatten trotz aller Unterschiede zwischen den Herstellern im Grunde einem ähnlichen Aufbau. Hierbei wird die Firmware in verschiedene Module unterteilt, die entweder Daten (G-List, P-List, S.M.A.R.T. Daten, ...) oder ausführbaren Code darstellen. Generell kann man die einzelnen Module in folgende Kategorien aufteilen: 1. Das Servo-Subsystem, das wir mit Treibern auf einem PC vergleichen können. Auf der HDD ist es zB für die Ansteuerung und den Betrieb des Kopfes und des Motors zuständig. Die Servo-Adaptive Parameters (SAP) sind dazu da, diese Teile der HDD richtig anzusprechen. Beschädigungen in diesen Modulen kann auch dazu führen, dass der Motor nicht läuft oder der Kopf Klickgeräusche macht. 2. Das Read/Write Subsystem stellt die Adressierungen (CHS, LBA, PBA, ...) zur Verfügung. In diese Kategorie fallen zB Zone-Table, G-List, P-List, ... 3. Der Firmware-Kern ist dafür verantwortlich, dass die ganzen Module und Komponenten zusammenarbeiten und ist daher am ehesten mit einem Betriebssystemkernel zu vergleichen. 4. Die Zusatzprogramme sind sehr individuell und von Modellfamilie und Hersteller abhängig, so wie Anwendersoftware auf einem PC. Hierzu zählen zB Selbsttest- und Lowlevel-Formatierungsprogramme. 5. Das Interface ist für die Kommunikation über den SATA/PATA Port und in manchen Fällen auch für die Kommunikation über die serielle Schnittstelle, die manche Festplatten zur Verfügung stellen, verantwortlich.

Dabei bauen die höheren Schichten auf die darunterliegenden Schichten auf. Daher kann die Art eines Problems auch schon darauf hindeuten, in welcher Ebene bzw. welchen Ebenen man danach suchen muss. 195

Ein kleiner Teil der Firmware ist auf dem ROM-Chip oder direkt in der MCU (Micro Controller Unit) vorhanden. Diesen Teil kann man sich wie eine Mischung aus BIOS und Bootloader vorstellen. Er führt einen Selbsttest aus und nutzt dann die wichtigsten Daten zur Ansteuerung des Motors und des Kopfes dazu, den Rest der Firmware von den Magnetscheiben zu laden. Die restlichen Teile der Firmware finden wir in der sogenannten Service-Area (SA) auf den Magnetscheiben. Dies ist ein spezieller Bereich auf den Magnetscheiben, der für einen normalen Nutzer nicht zugänglich ist. Meist gibt es zumindest zwei Kopien, die dann über Kopf 0 und Kopf 1 gelesen werden können. Um auf die Service-Area zuzugreifen, benötigen wir spezielle Software wie WD Marvel und Sediv oder spezielle Hardware-Tools wie PC-3000, MRT, DFL SRP oder DFL URE (wobei URE hier ziemlich eingeschränkt ist). Dies sind wie bereits erwähnt, keine Tools, die man durch herumprobieren erlernen kann. Jede falsche Anwendung diverser Optionen kann die Festplatte beschädigen. Versuchen Sie ein gesundes Modul zu reparieren, ist die Chance groß, dass dieses danach beschädigt ist und wenn es sich um ein kritisches Modul handelt, wird die HDD danach nicht mehr booten. Außerdem ändern sich die angebotenen Optionen je nach Hersteller und Modell der Festplatte und so können Sie bestimmte Aktionen nur bei bestimmten Modellen ausführen. Die Lernkurve dieser Tools ist extrem steil und vieles hängt vom verwendeten Tool ab. Ich empfehle ihnen dringend ein Training mit dem entsprechenden Tool zu erwerben und sich vom Hersteller schulen zu lassen. Aber auch nach dieser Schulung haben Sie nur sehr beschränkte Kenntnisse. Ein Firmware-Tool zu beherrschen erfordert sehr viel Übung und Erfahrung, die Sie über die Jahre aufbauen, wenn Sie mit anderen Datenrettern zusammenarbeiten, Schulungen und Konferenzen besuchen und mit dem Support in bestimmten Fällen zusammenarbeiten. Dieser Bereich der Datenrettung erfordert also den größten Lernaufwand und die Anschaffung der teuersten Tools stellt aber nur einen recht kleinen Teil der Fälle dar. Daher gibt es durchaus einige Labore, die diese Firmware-Probleme nur in einem geringen Maße selbst behandeln und härtere Fälle outsourcen. MRT bietet zB an, dass deren Techniker Firmware-Probleme per Fernwartung lösen und verrechnet im Erfolgsfall 50 USD. DFL bietet seinen Kunden bis zu 5 Supportanfragen pro Monat kostenlos an, genau wie Ace Labs. 196

Lassen Sie die Support-Techniker nicht alleine arbeiten und sehen Sie sich genau an, was gemacht wird und fragen Sie nach, woran das Problem erkannt wurde und warum diese Lösung gewählt wurde. So lernen Sie mit jedem Support-Ticket dazu! Die möglichen Ursachen für Firmware-Probleme sind genau so vielfältig wie die Lösungen: > G- oder P-List werden voll oder laufen in andere Module hinein (ähnlich einem Buffer Overflow im RAM) und überschreiben diese teilweise. > S.M.A.R.T. Datenlogs laufen voll oder überschreiben nachfolgende Module. > Die Daten des Moduls wurden unvollständig geschrieben oder sind aufgrund anderer Fehler beschädigt (zB ausgefallener Sektor). > Die Daten im ROM-Chip passen nicht zu den Daten in der Service-Area. > Der ROM-Chip wird mechanisch beschädigt oder kurzgeschlossen. > usw. Ich will Ihnen an dieser Stelle einen groben Überblick geben und anhand einiger Beispiele zeigen, wie man mit MRT bestimmte Firmware-Probleme beheben kann. Das ist allerdings nur ein sehr kleiner Einblick in diese Thematik und reicht nur für einen kleinen Prozentsatz der Fälle. Erinnern wir uns an den Startvorgang der HDD zurück, dann wird aus Sicht der Firmware zuerst der ROM-Chip gelesen, dann das Servo-Subsystem, dann das Read/Write Subsystem und dann wird alles Weitere geladen, um auch den Zugriff auf die Userdaten bereitzustellen. Wird dieser Vorgang nicht vollständig, beendet ist es nicht ungewöhnlich, dass wir Lese- und Schreibzugriff auf die Service-Area haben, aber nicht auf die Userdaten. Das sagt uns dann, dass der Kopf höchstwahrscheinlich OK ist, aber die Firmware beschädigt wurde! Versuchen Sie aber unbedingt auf mehrere LBAs der UserArea zuzugreifen, um dies zu testen. Es kann auch sein, dass ein Kopf defekt ist und Sie Zugriff auf die Userdaten, die von anderen Köpfen gelesen werden haben. Testen Sie am besten den ersten,

197

den letzten und einen Sektor in der Mitte der Platte. So werden nicht nur mehrere Köpfe, sondern auch der sogenannte Translator getestet. Die meisten Befehle, die einen Zugriff auf die Firmware erlauben, sind herstellerspezifisch und leider auch nicht dokumentiert - zumindest nicht öffentlich! Es gibt in Datenretter-Kreisen einige Labore, die Zugriff auf vertrauliche unternehmensinterne Dokumente der Hersteller mit der Dokumentation verschiedenster Firmware-Versionen, herstellerspezifischen ATA-Befehlen oder dergleichen besitzen und teilweise diese auch unter der Hand an andere weitergeben. In vielen Bereichen sind geleakte Informationen wie die zuvor genannten oder Reverse Engeneering die einzige Informationsquelle. Online finden sich einige grundlegende Informationen genau wie in den Handbüchern der Firmware-Tools. Jeder, der anfängt, sich damit zu beschäftigen, wird hier einiges an Zeit investieren und sich entsprechend einlesen müssen, immer man auf neue Informationen trifft. Ich selber habe vor einiger Zeit angefangen, interessante Artikel, Dokumente und Forenbeiträge zu sammeln und als PDF-Dateien abzuspeichern. Reverse Engeneering ist auch das, worauf die Firmware-Tools (PC-3000, MRT, DFL) und Programme (Sediv, WD Marvel, ...) basieren.

198

Wichtige Module der Firmware Ein Teil der Firmware ist im ROM-Chip auf der Festplatte enthalten, wie wir bereits wissen. Der überwiegende Teil befindet sich auf der Festplatte selbst in einem Bereich, auf den der User nicht zugreifen kann. Der sogenannten Service Area. Dieser Bereich ist in Module unterteilt, wovon bestimmte Module für den Betrieb der Platte essenziell nötig sind und andere werden nicht unbedingt benötigt. Da die Firmware essentiell für den Betrieb der Festplatte ist, gibt es meist zwei Kopien (Copy 0 und Copy 1). Oftmals gibt es sogar noch mehr Kopien. Wenn eine Festplatte Daten nicht von Kopie 0 lesen kann, dann wird sie in der Regel versuchen, auf Kopie 1 auszuweisen. Daher kann es durchaus etwas dauern, bis eine Festplatte ihre Bereitschaft meldet. Oftmals unternimmt die Firmware mehrere Leseversuche, bevor sie auf die nächste Kopie ausweicht. Je mehr Module beschädigt sind, umso länger kann dies dauern. Ich habe schon Festplatten erlebt, die mehrere Minuten brauchten. Außerdem gibt es Module, die individuell für jede Platte sind, und andere Module, die für alle Datenträger mit einer bestimmten Firmware-Version oder sogar für alle Datenträger einer ganzen Modellreihe gleich sind. Beschädigte Module, die nicht individuell für jede einzelne Festplatte sind, kann man oftmals von Spenderplatten laden oder aus dem Internet beziehen und damit dann eine Kundenplatte reparieren. Innerhalb der Firmware-Sektoren gibt es eine weitere Adressierungsart - die sogenannte UBA-Adressierung (Utility Block Address). Manchmal spricht man auch von der Universal Block Address - das liegt daran, dass Hersteller von Datenrettungstools keinen Zugriff auf die Dokumentation der Firmware-Entwickler haben und das meiste durch Reverse Engeneering herausfinden und dann Dinge einfach selbst benennen. Darum unterscheiden sich die einzelnen Begriffe auch zwischen den einzelnen Firmware-Tools (PC-3000, MRT, DFL).

199

P-List Diese Liste beinhaltet Sektoren, die zur Produktionszeit defekt waren. Daher nennt man Sie auch Primary-, Permanent- oder Productiontime-List. Damit die Festplatte nicht vom Anfang an gezwungen ist, wegen ausgemappter Sektoren Sprünge zu vollziehen, werden die Sektoren, die bereits zur Produktionszeit defekt waren, übersprungen und die Nummerierung wird so aufgebaut, dass diese fortlaufend von Sektor 0 bis N ist und die Defekte dazwischen einfach übersprungen werden: PBA

0

1

2

3

4

5

6

7

8

9

.

.

.

.

.

.

.

.

.

.

.

.

N R1 R2 R3

0

1

2

3

4

5

6

7

8

9

.

.

.

.

.

.

.

.

.

.

.

.

N

P-List LBA

So mit ist die P-List eines der Module, das für jede Festplatte einzigartig ist und auch nicht ersetzt werden kann. G-List Die Growing-Defects-List oder G-List ist eine Liste der Sektoren, die während des Betriebs ausfallen. Damit im schlimmsten Fall nicht mehrere TB an Daten um einen Sektor verschoben werden müssen, ersetzt man im Betrieb einen defekten Sektor mit dem nächsten freien Reserve-Sektor: PBA

0

1

2

3

4

5

6

7

8

9

.

.

.

.

.

.

.

.

.

.

.

.

N R1 R2 R3

0

1

2

3

4

5

6

7

8

9

.

.

.

.

.

.

.

.

.

.

.

.

N

P-List LBA

G-List

Tritt ein Lesefehler auf, wird, wie bereits erwähnt, der Sektor als Defekt vermerkt und bei der nächsten Gelegenheit, bei der die Platte im Leerlauf ist, ausgemappt. Darum sollten wir nicht benötigte Hintergrundaktivitäten deaktivieren, um Daten nicht zu beschädigen und der Platte unnötige Arbeit zu ersparen.

200

Geht die G-List verloren, werden Daten beschädigt, da im Betrieb ausgemappte Sektoren wieder auf den Stand bei Auslieferung der HDD zurückgesetzt werden. Man kann dies aber auch bei einer forensischen Untersuchung nutzen und so selbst nach dem Überschreiben der Platte mit einem Löschtool zumindest noch versuchen, die alten Datenfragmente in den ausgemappten Sektoren zu sichern. Das bedeutet aber auch, dass eine Festplatte immer langsamer wird denn je mehr ausgemappte Sektoren es gibt, denn umso mehr öfter muss der Kopf beim Lesen der Daten Sprünge machen. Je nach Hersteller / Modellreihe ist dies etwas anders. So haben viele Platten kleinere Reserve-Bereiche über die Magnetscheiben verteilt, um eventuell nötige Sprünge und damit einhergehende Performanceeinbußen zu minimieren. Translator Der Translator ist das Modul, dass die LBA-Adresse in die entsprechende Armbewegung umsetzt. Ist der Translator defekt, haben wir keinen Zugriff auf die Daten. Ob der Translator ein Problem hat, kann man relativ einfach testen. Versuchen Sie den ersten Sektor zu lesen, wenn das klappt, lesen Sie den letzten Sektor und mindestens einen Sektor in der Mitte der Festplatte. Wenn zumindest eine der Stichproben fehlschlägt, könnte es entweder an einem defekten Kopf liegen oder am Translator (manchmal auch Adress-Decoder genannt). Zone Tables Zonen ermöglichen es, eine unterschiedliche Anzahl an Sektoren je Track zu verwenden. Die alte CHS (Cylinder, Head, Sectors) Adressierung ging davon aus, dass jeder Track bzw. Zylinder gleich viele Sektoren hat. Da sich der Umfang der Zylinder mit jedem Schritt in Richtung der Spindel verringert würde so aber viel Platz verschwendet, wenn die äußeren Zylinder genau so viele Sektoren hätten wie die inneren Zylinder. Hier nochmals die vereinfachte grafische Darstellung zum Vergleich:

201

Was hier grafisch aufgezeigt wirt, speichert die Zone-Table in einer für die Firmware brauchbaren Form. Ohne diese Daten könnte man nicht berechnen, wo auf den Magnetscheiben eine bestimmte LBA-Adresse liegt! Servo Parameter / Servo Adaptive Parameters Diese Daten dienen, dazu den Kopf feinzutunen und sie sind individuell für jede einzelne Festplatte. Falsche Daten können dazu führen, dass der Kopf nicht mehr oder nur mit verminderter Leistung ließt. Oftmals gibt es unterschiedliche Datensätze für die Service- und User-Area. Sicherheitsrelevante Daten / Passwörter Manche Verschlüsselungsmethoden speichern die Passwörter auf der Festplatte in der Service-Area. Mit Zugriff auf die Firmware-Module kann man in diesen Fällen Passwörter einfach auslesen oder entfernen. Firmware / Overlay Code Dies sind vereinfacht gesagt Programmanweisungen, die bei Bedarf in den Arbeitsspeicher der HDD geladen werden.

202

Wie bei sehr alten Rechnern ist auch bei Festplatten der Arbeitsspeicher nicht gerade üppig und daher gilt es für Entwickler damit sorgsam umzugehen. Je nachdem, in welchem Zusammenhang man diese Begriffe verwendet, ist es Code, der wie eine DLL bei Bedarf nachgeladen wird oder derjenige Code, der aus der Service-Area geladen wird und die ersten rudimentären Programmteile aus dem ROM überschreibt. Gängiger ist der Begriff jedenfalls für spezielle Codeteile, die bei Bedarf in den RAM der HDD geladen werden und dann bei Bedarf wieder mit anderen Codeteilen im RAM ersetzt werden, wenn die Funktion nicht mehr benötigt wird. S.M.A.R.T Daten S.M.A.R.T wurde entwickelt um den User rechtzeitig zu warnen bevor eine Festplatte ausfällt. Oftmals ist S.M.A.R.T. allerdings die Ursache für einen solchen Ausfall. Wenn die S.M.A.R.T. Tabelle beschädigt wird und ungültige Daten enthält, die die Festplatte nicht verarbeiten kann, sorgt das dafür, dass die Platte nicht vollständig starten kann und niemals ihre Bereitschaft meldet. Da S.M.A.R.T. nicht essenziell für den Betrieb ist, ist das Löschen der S.M.A.R.T. Daten und das Deaktivieren der S.M.A.R.T. Funktionen die einfachste Lösung für dieses Problem. Seriennummer und Modellnummer In sehr vielen Fällen wird die Serien- und Modellnummer aus der Service-Area ausgelesen. Wenn eine Festplatte die korrekte Modell- und Seriennummer sowie Speichergröße und Firmware-Version anzeigt, ist dies ein sehr starker Indikator dafür, dass der Kopf zumindest die Service-Area lesen kann. Sollte es keinen Zugriff auf die Userdaten geben, kann man anhand der oben genannten Werte mit sehr großer Sicherheit feststellen, dass der Kopf OK ist und lesen kann.

203

Safe-Mode Festplatten haben einen Safe-Mode, in den sie gehen, wenn ein Teil der Firmware korrupt ist. Dies äußert sich durch mehrfaches klicken, herunterfahren und erneutes Hochfahren des Motors und dann wieder von vorne. Kleinere 2,5" Laptop-Platten fahren oftmals einfach herunter und versuchen es nicht mehrfach. PC-3000 erkennt dieses Problem selbst und zeigt uns an, dass eine Festplatte im

Safe-Mode ist. Man kann die Festplatte aber auch absichtlich in den Safe-Mode versetzen. Hierbei wartet die Festplatte dann auf den Upload einer passenden Firmware in den RAM. Man spricht hierbei auch von einem "Loader". Wurde der Loader erfolgreich hochgeladen und läuft er, kann man damit beginnen, beschädigte Firmware-Module zu reparieren. Dazu folgt später noch ein Beispiel.

204

Seagate Hier müssen wir zwischen der alten T-Architektur und der neuen F3-Architektur unterscheiden. Seagate-Festplatten sind sehr gesprächig und helfen uns bei der Diagnose auch mit Terminal-Meldungen. Je nach Architektur und Modell müssen wir die richtige Baud-Rate einstellen, um mit der HDD sprechen zu können - zB 9600 für T und 38400 oder schneller für F3. Der PCB kann bei Seagate auch dann angesprochen werden, wenn dieser nicht mit der Festplatte verbunden ist. Das ermöglicht neben diversen FirmwareReparaturen auch das Auslesen und neu Programmieren des ROM-Chips für den Austausch eines PCBs. Hier sind Dummy-Werte für Modell, Kapazität, etc. im ROM enthalten. Daher weisen auch Angaben wie 0 GB oder 3.86 GB für die Kapazität und/oder eine falsche Modellbezeichnung und/oder QNR_BFW für die Seriennummer darauf hin, dass nur der ROM gelesen wurde und nicht die Service-Area. Natürlich könnte auch ein Teil der Daten von der SA gelesen worden und das vollständige Laden der Firmware wegen beschädigter Daten in der Service Area abgebrochen worden sein... Wenn eine Festplatte keine ID-Informationen (Modell, Seriennummer, Firmware, etc.) liefert und/oder die Status-LEDs auf BSY stehen bleiben, kann man für den Firmware-Zugriff die Familie auch manuell auswählen und mit alternativen Modi (Terminal- oder Bootcode-Mode) versuchen die Platte anzusprechen. Die Familie lässt sich am einfachsten ermitteln indem wir in Google nach [Modellname] Firmware suchen. Es gibt viele Seiten die Firmware-Dumps zum Download anbieten und neben Modell und Firmware-Version auch die Familie der HDD nennen. Sehen wir uns dazu ein praktisches Beispiel an:

205

Sobald die Platte mit DRD + DSC ihre Bereitschaft meldet, können wir mit den Automatic detection - Button das korrekte MRT-Modul ermitteln. Dies ist auch gleichzeitig schon ein einfacher Test, ob die rudimentärsten Informationen von der HDD gelesen werden können.

Danach wird das korrekte Modul ausgewählt. Für die Arbeit mit der Firmware ist es ebenfalls empfehlenswert, eine serielle Verbindung herzustellen. Dazu schließen wir neben dem SATA-Kabeln auch den mitgelieferten seriellen Adapter an:

Egal ob wir PC-3000, MRT oder ein DFL-Produkt verwenden, wir haben immer einen Adapter für die serielle Schnittstelle im Lieferumfang dabei. Hierbei gibt es die verschiedensten Anschlüsse für die einzelnen FestplattenHersteller und Modelle.

206

So unterscheiden sich oftmals die 2,5" von den 3,5" Modellen. Wie genau diese Adapter mit den Verbindungskablen und den Steckern für die jeweiligen Festplatten verbunden werden, entnehmen Sie bitte der Dokumentation des jeweiligen Tools. Wenn Sie das Bbild genau betrachten, sehen Sie auf der kleinen Platine mit dem Stecker MRT-SEAGATE aufgedruckt. Daran sehen Sie bei MRT, das es der passende Adapter für Seagate Platten ist. Dieser funktioniert auch nur bei Seagate Platten. Dann können wir das Modul mit einem Doppelklick starten:

Hierbei wird zuerst die Gerätefamilie ermittelt. Falls dies nicht klappt, ist dies schon mal das erste Zeichen für ein Firmware- oder Kopf-Problem.

207

Natürlich kann man die Familie auch von Hand auswählen. Außerdem haben wir ganz oben in diesem Dialog die Möglichkeit, zwischen Normal-, Terminal- und BootCode-Modus zu wählen. Den BootCode-Modus benötigen wir zB um einen Loader hochzuladen. Mit einem Klick auf den OK-Button kommen wir weiter und MRT versucht die nötigen Informationen von der HDD zu laden. Dabei wird folgendes im Log-Fenster angezeigt: Identifying device... model:ST9500325AS firmware version:0001SDM1

serial number:5VEKNY71

Getting detailed firmware version... WY05A7.SDM1.DA113D.0001SDM1 SMP Dbl: 0x3C000317 - 0x037FF7FF Disk cache reserve size: 0x0 physical sector size of user sector : ..............512 Bytes physical sector size of service area : .............512 Bytes Number of physical heads : .........................4 Get System module information ... ID length Description ========================= 00 2 01 2 02 16 03 1870 04 9 05 4 06 85 07 1 08 2400 09 1 0A 2251 0B 1000 208

0C 0D 0E 0F 13 15 16 17 19 1A 1B 1C 1D 1E 1F 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35

64000 160 432 223 8 100 2 40 24 33 1 9 128 128 640 80 80 80 80 80 80 80 80 9 535 432 432 432 432 432 432 432 4576 640 26

Finished to get system module information!

209

Getting DT information... ROM: ID Offset address Length ============================ 00 06020100 43520 01 06020000 256 04 04000000 4096 05 0006C000 81920 08 10070000 948 0A 060A2490 1024 12 100D4000 104 13 060AD4F0 768 14 060AD7F0 64 15 00000000 524288 1B 060AC2D8 4632 1C 060AC198 320 1D 06020120 208 1E 06020380 3216 RAM: ID offset address length ============================ 00 06020100 43520 01 06020000 256 02 060201F0 400 04 04000000 4096 05 0006C000 81920 06 00227C40 40996 08 10070000 948 0A 060A2490 1024 12 100D4000 104 13 060AD4F0 768 14 060AD7F0 64 15 00000000 524288 16 06020100 32 17 06022A60 1616 1B 060AC2D8 4632 1C 060AC198 320 210

1D 1E 1F 20

06020120 06020380 06144684 06144D44

208 3216 1728 72

Finished to get DT information! Getting service area size....... Service area size : .................................0x11075F Getting list of sys files....... Getting list of sys files completed! Reading autotuning buffer Buff Root FAT searching in RAM : ...................OK Searching module table in RAM : .....................OK Searching DT table(RAM, WR) in RAM : ................OK Searching DT table(RAM, RD) in RAM : ................OK Searching volume 0 file table in RAM : ..............OK Searching volume 3 file table in RAM : ..............FAIL Searching SMP RAM FID in RAM : ......................OK Searching Non Resident G-List FID in RAM : ..........FAIL Searching CFW OVL FID in RAM : ......................OK

Wir sehen am Ende der Ausgabe zwei Fehlermeldungen. Diese deuten auf Probleme hin. Man muss sich nur klar sein, dass wir hier keinen PC-Service anbieten, sondern Datenrettung. Es ist nicht das Ziel, die HDD wieder 100% in den funktionalen Zustand zu versetzen, damit diese noch einige weitere Jahre arbeiten kann, sondern die Daten zu sichern und das mit dem geringsten Risiko für die Daten! Natürlich könnte man jedes kleine Problem in der Firmware beheben, aber dabei würde man riskieren, die Daten zu verlieren oder schwerer zu beschädigen. Schlägt die Reparatur eines Moduls fehl, könnte die Firmware schwerer beschädigt werden und die HDD nicht mehr starten. Bevor wir also Firmware reparieren, prüfen wir zuerst, ob wir Zugriff auf die Daten haben:

211

Klicken wir dazu auf den Menüpunkt Tools -> User Sector Viewer und lesen wir Sektor 0:

Sektor 0 kann gelesen werden und wir sehen anhand der MBR-Signatur (55 AA), dass wir richtige Daten lesen und nicht irgendwelchen Datenmüll. Mit einem Klick auf den oben markierten Button gelangen wir zum nächsten Sektor. So können wir prüfen, ob es eine EFI-Partitionstabelle ist oder nicht. Sektor 1 sieht dann wie folgt aus:

212

Der oben markierte Button lässt uns zum Ende der HDD springen.

213

Im Falle einer EFI-Partitionstabelle findet man in den letzten Sektoren der HDD ein Backup der Partitionstabelle. Somit haben wir gesehen, dass wir die ersten beiden Sektoren und den letzten Sektor lesen können. Ein Klick auf den im vorherigen Bild markierten Button lässt uns dann einen bestimmten Sektor lesen:

Hierzu müssen wir die Sektornummer eingeben. Nachdem wir bereits am letzten Sektor sind und die aktuelle Sektornummer schon eingetragen ist, mache ich es meist so, dass ich nur die erste Ziffer der Sektornummer durch 2 Teile. Hier haben wir 976773167 Sektoren und 9 : 2 = 4,5. Ob wir nun Sektor 476773167 oder LAB 576773167 anspringen ist völlig egal. Es geht nur darum an 3 oder mehr Stellen zu testen ob wir daten lesen können. Klappt dies an allen Stellen, sollte der Kopf und auch der Translator in Ordnung sein und wir können direkt mit dem Klonen der HDD anfangen und brauchen uns um diverse kleine Firmware-Probleme nicht sorgen.

214

Ein Beispiel, bei dem dies nicht klappt, werden wir später bei den WD Festplatten sehen. Sollte man einige der getesteten Sektoren lesen können, aber andere nicht dann müsste man mit weiteren Stichproben ermitteln, ob der Translator defekt ist oder einer der Köpfe. In der Regel kann man sagen, wenn wir Lesefehle in bestimmten Abständen haben und dazwischen immer wieder Bereiche, die gelesen werden können, dann ist es höchstwahrscheinlich einer der Köpfe. Haben wir ab einem bestimmten Punkt nur noch Lesefehler, dann ist es höchstwahrscheinlich der Translator. Hier können wir Sektor 476773167 auch lesen:

Damit steht dem Klonen nichts im Wege und ich würde die zuvor aufgetauchten Fehlermeldungen ignorieren und gleich die Daten sichern. Egal ob ich die Firmware bearbeite oder nicht - ich sichere die Firmware jeder Kundenplatte, die ich bekomme. Man kann sich nicht darauf verlassen, immer eine passende Firmware im Internet zu finden und wenn Ihr Lager an Spenderplatte nicht Zehntausende Stück unterschiedlichster Modelle umfasst, sollten Sie keine Gelegenheit auslassen, sich eine Firmware-Datenbank aufzubauen! Ein Firmware-Backup benötigt nur einige MB und jede Firmware, die Sie haben, kann ihnen in der Zukunft dabei helfen, einen Fall zu lösen!

215

Wir haben in der Firma zB in altes NAS mit zwei mal 4 TB in RAID 1 um die Firmware-Backups zentral zu speichern und jedem der Rechner zur Verfügung zu stellen. Ein solches Backup erstellen Sie mit einem Klick auf den Menüpunkt Tools -> Backup and Restore Firmware Area -> Hard Disk Ressource Backup:

Im ersten Schritt wird der Speicherort für das Backup festgelegt.

Im zweiten Schritt legen wir fest, welche Daten gesichert werden sollen. Wählen Sie hier einfach alles aus!

216

Sobald das Backup fertig ist, sehen wir Folgendes:

Sollten wir an der Firmware arbeiten und etwas geht dabei schief, haben wir in vielen Fällen zumindest noch die Chance, das so erstellte Backup wieder einzuspielen. Über Tools -> System File (Module) R/W Mode können wir festlegen, mit welche Adressierungsmethode (ABA bzw. Absolute Block Adressing oder LBA) und mit welcher Kommunikationsmethode (ATA oder serielle Schnittstelle) wir die Daten lesen und schreiben wollen:

217

Das hilft uns vor allem bei Firmware-Problemem die verhindern, das das R/W Subsystem vollständig geladen wird, denn so können wir auch noch mit der Firmware arbeiten, wenn die LBA-Adressierung nicht zur Verfügung steht! So ein Fall wäre ein Beispiel dafür, dass wir aufgrund eines Firmware-Problems keinen Zugriff auf Userdaten erhalten. Es gibt allerdings auch Fälle, bei denen das Log deutlich kürzer ausfällt: Identifying device... model:ST1000DM003-1ER162

firmware version:CC45

serial number:S4Y11B44

Getting detailed firmware version... G2AED3005.CCD4.GG23DY.CC45 Failed to get firmware version! physical sector size of user sector : ..............0 Bytes physical sector size of service area : .............Failed to get Number of physical heads : .........................2 Get System module information ... ID length Description =========================

Finished to get system module information! Getting DT information... ROM: ID Offset address Length ============================

RAM: ID offset address length ============================ 218

Finished to get DT information! Getting service area size....... Service area size : .................................0xC5683 Getting list of sys files....... Failed to get list of sys files! DT List is empty, please get DT List first!

Seagate hat bei manchen Festplatten-Modellen die Firmware gesperrt und wir bekommen nicht ohne Weiteres Zugriff darauf. Dies erkennt man auch an den PCBs mit den abgeschrägten Ecken:

Hier haben wir zB den PCB einer ST1000DM003 von Juni 2015.

219

Wir sehen an der großzügig abgeschrägten Ecke, dass die Firmware gelockt ist. MRT bietet uns hierfür eine Lösung - mit einem Klick auf den ROM-Button bekom-

men wir ein Menü der am häufigsten gebrauchten ROM-Funktionen. Darin finden wir auch den Punkt Firmware unlock:

Zuerst werden wir nach einem Speicherort für den ROM-Dump gefragt. Beim Firmware-Unlock wird der Inhalt des ROM-Chips geladen, verändert und wieder hochgeladen. Dabei kann natürlich auch etwas schief gehen und wir führen derartige Dinge nur aus, wenn diese auch unbedingt notwendig sind! Im nächsten Schritt werden wir nach der Baud-Rate gefragt, mit der die Daten über die serielle Schnittstelle geladen werden sollen:

220

Mit einem Klick auf OK startet dann der Vorgang. Hierbei sehen wir den Fortschritt im Log-Tab: Initializing... Enter BootCode mode... Starting to read ROM... Detected ROM size:1048576 (0x100000) bytes succeed to read Flash ROM quickly! 97360 ms Save original ROM to: D:\Seagate F3 Arch\Grenada-58\ST1000DM003-1ER162CC45-S4Y11B44\FirwareUnlock\\ROM-20220129121759.bin Unlocking... Firmware Unlock patch applied to ROM Succeeded to exchange commands!

Die Meldung Succeeded to exchange commands informiert uns, dass der Unlock geklappt hat. Somit können wir die fehlenden Daten nachladen:

Dazu klicken wir auf den oben markierten Button. Dieser öffnet den Basic state Dialog. 221

Achten Sie darauf, dass hier > > > >

Module List, DT List, RAM und System File List

ausgewählt sind. Falls das R/W Subsystem nicht vollständig geladen wird, können Sie mit der Checkbox Read by serial port die System File List auch über die serielle Schnittstelle laden. Hier benötigen wir dies nicht! Ein Klick auf den Reload-Button liefert dann folgende Log-Meldungen: Get System module information ... ID length Description ========================= 00 36 01 2 02 16 03 7782 05 4 08 4800 0B 1000 0C 122880 0D 160 0E 432 0F 223 13 8 15 100 16 2 17 40 19 24 1A 33 1B 1 1C 9 1D 128 222

1E 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 39 3A 3D 3E 3F 40 41 42 43 4B 4F 51 52 53 54

128 80 80 80 80 80 80 80 80 9 10119 432 432 432 432 432 432 432 4576 640 8192 4 3072 3072 4576 10 2180 4096 10241 8192 14336 18432 1024 8192 3984384

Finished to get system module information! Getting DT information... 223

ROM: ID Offset address Length ============================ 00 40030200 57328 01 40030000 512 04 00013C00 7168 40002000 13288 total 20456 05 0006C000 81920 08 80070000 968 0A 002637EC 1024 0F 80014040 768 10 80015D00 448 12 800D40C0 72 13 4013AB80 2160 14 4013B3F0 36 15 00000000 1048576 1D 40030220 536 1E 40030718 5872 26 40137250 14640 27 401371A8 168 RAM: ID offset address length ============================ 00 40030200 57328 01 40030000 512 02 40030438 736 04 00013C00 7168 40002000 13288 total 20456 05 0006C000 81920 06 018A4C80 81948 08 80070000 968 0A 002637EC 1024 0F 80014040 768 10 80015D00 448 12 800D40C0 72 13 4013AB80 2160 224

14 15 16 17 1D 1E 1F 20 26 27

4013B3F0 00000000 40030200 40032408 40030220 40030718 4033C8F8 4033DF78 40137250 401371A8

36 1048576 32 2944 536 5872 5760 96 14640 168

Finished to get DT information! Getting list of sys files....... Getting list of sys files completed! Reading autotuning buffer Buff Root FAT searching in RAM : ...................OK Searching module table in RAM : .....................OK Searching DT table(RAM, WR) in RAM : ................OK Searching DT table(RAM, RD) in RAM : ................OK Searching volume 0 file table in RAM : ..............OK Searching volume 3 file table in RAM : ..............OK Searching SMP RAM FID in RAM : ......................OK Searching Non Resident G-List FID in RAM : ..........OK Searching CFW OVL FID in RAM : ......................OK

Wir konnten also wieder alle Firmware-Teile erfolgreich lesen und die Firmware dieser Platte meldet keinerlei Fehler. Alle weiteren Aktionen zum Beheben von Firmware-Fehlern kann man nur sehr bedingt verallgemeinern. Hier kommt es vor allem auf Wissen und Erfahrung an, um Firmware-Probleme richtig zu identifizieren und dann entsprechend zu beheben. Eine enge Zusammenarbeit mit dem Support und regelmäßiges Mitlesen in den Foren der Hersteller ist der beste Weg, sich hier einzuarbeiten! In weiterer Folge finden Sie im Buch noch ein paar einfache Fallbeispiele.

225

Western Digital Der Aufbau der Firmware und die Funktionen, die MRT für Western Digital Firmware bietet, sind sehr unterschiedlich zu Seagate oder anderen Herstellern. Lediglich fundamentalste Teile wie Translator, G-List, P-List oder Zone-Tables sind ähnlich und das Vorgehen zum Identifizieren und zur Auswahl der Familie sind relativ ähnlich:

Aber auch hier zeigen sich schon einige Unterschiede: > Die Familie wird nicht automatisch erkannt - eine Erkennung muss meist mit dem Klick auf den Auto Check - Button angestoßen werden. > Neben dem Normal-Modus gibt es den Kernel- und Diagnose-Modus. > Die meisten Optionen in diesem Dialog sind anders als bei Seagate. > WD Platten sind nicht so sehr an die serielle Schnittstelle gebunden wie Seagate und wenn man aus bestimmten Gründen die serielle Schnittstelle nutzen will oder muss, gibt es ein eigenes WDC Marvel COM Port Modul in MRT. Natürlich sind die Log-Meldungen nach dem Klick auf OK auch völlig anders:

226

Technology mode key : ..........................: OK RAM: Read HDD Info : ................................: Heads number : .................................: Head map : .....................................: SA Cyl Count : .................................: Serials Mark : .................................: Control version : ..............................:

OK 2 3 256 0xFE16 5511

Zone allocation table : ........................: OK SA SPT : .......................................: 1578 ROM: Read Rom Infos : ...............................: ROM Data Size : ................................: ROM version : ..................................: ROM generation : ...............................: Link table version : ...........................: ROM Firmware version : .........................:

OK 256 Kb 06.4CV 06.4DV C0.0A 0006004C

ROM Modules: Flash ROM dir reading : ........................: Switched off heads : ...........................: Heads number : .................................: Heads number in use : ..........................: heads map : ....................................:

OK Yes 0x2 0x2 0,1

Load SA translator : ...........................: OK SA Module Dir Loading... Load SA Module dir : ...........................: Configuration reading : ........................: Master Password : ..............................: User Password : ................................:

OK OK has not been set has not been set

Eine Funktion die zB nur bei Platten von Western Digital, Samsung und Hitachi existiert, ist ein Firmware-Test. Bei WD finden wir diese Funktion unter Test -> Firmware object operations (F) -> Work with SA -> SA Structure Test (S): 227

Hier können wir die zu testenden Module und die dazu verwendete Lesemethode auswählen und dann den Test mit einem Klick auf Start test beginnen. Der Test produziert folgende Ausgabe:

und kann je nach Lesemethode, Zustand der HDD und Anzahl der zu testenden Module einige Zeit benötigen.

228

Auch das ist nichts, was wir ohne Grund machen. Außerdem sollte sichergestellt sein, dass der Kopf in Ordnung ist, damit wir nicht mit einem sinnlosen Test eventuelle Schäden vergrößern. Der Test zeigt uns auch schön, dass wir zwei Kopien der Firmware (Copy0 und Copy1) haben. Wir können also beschädigte Module eventuell einfach aus der anderen Kopie sichern und dann das beschädigte Modul mit dem gesicherten Modul überschreiben. Das Backup der Firmware ist ähnlich wie bei Seagate zu machen und unter Test -> Firmware object operations (F) -> Work with SA -> Backup all Ressource (Q)

zu finden. Wenn wir einen Test ausführen oder die Testergebnisse betrachten, sehen wir die Spalte Importance. Diese gibt an, welche Module wie wichtig sind und ob diese individuell für die eine Festplatte oder ident für Modelle einer ganzen Familie sind. Aber darauf kommen wir später noch zu sprechen. Sie sehen auch gut, dass allein bei diesen zwei Herstellern die meisten Dialoge und Optionen selbst auf diesem sehr oberflächlichen Niveau schon einige Unterschiede aufweisen. Die Schulungen der Tool-Hersteller sind zwar empfehlenswert, aber auch dort werden Sie keinesfalls alles lernen! Wie hier im Buch werden einige Fallbeispiele durchgenommen und Sie können einige Übungen selbst ausführen, aber das deckt nur einen kleinen Bruchteil der Firmware-Fälle ab. Außerdem kommen laufend neue Modelle mit neuen Firmware-Problemen auf den Markt und daher werden Sie selbst nach einem Training viel Zeit und Energie darauf aufwenden müssen, sich entsprechend auf dem Laufenden zu halten und sich entsprechend mit den Fällen anderer User auseinandersetzen. Sonderfall WD USB-Festplatten Die meisten Firmware-Tools erlauben es zwar direkt mit USB-Platten zu arbeiten, aber auf Grund der Arbeitsweise des Betriebssystems ist dies nicht zu empfehlen. Daher ist es oftmals einfacher, eine USB-Platte vor der Firmware-Reparatur in eine SATA-Platte zu konvertieren, so wie wir dies bereits gelernt haben oder Sie nutzen den USB Stabilizer von Deepspar. 229

Individuelle und nicht individuelle Module Manche Module sind für die Festplatte individuell und andere können von Festplatten mit der gleichen Firmware-Version übernommen werden. Bei wieder anderen Modulen reicht es auch schon, wenn diese von einer beliebigen Firmware der gleichen Familie stammen. Dies kann man schön bei Western-Digital Festplatten sehen, wenn man sich den Tab Tools -> HDD Ressource Viewer (R) einblendet:

Auch hier finden wir wieder die Importance Spalte. Hierbei gibt es folgende Importance-Klassen: As ... Ad ... B .... C .... Dd ... Dr ...

230

Einzigartig und wichtig für die Funktion der HDD (zB Adaptives) Einzigartig und wichtig für den Zugriff auf Userdaten (zB Translator) Module mit Informationen für die Firmware (zB Microcode, HDD ID, ...) Module mit untergeordneter Wichtigkeit (zB SMART, G-List, ...) Hilfs-Module die die Funktion der HDD nicht beinträchtigen (zB P-List) Hilfs-Module die nicht für die Funktion benötigt werden (zB Test-Log)

Die individuellen Module der Kategorie As und Ad können nicht von anderen Festplatten verwendet werden und sind für jede HDD einzigartig. Ist eines dieser Module beschädigt, ist dies aber noch nicht das endgültige Ende für die Datenrettung. Den Translator kann man beispielsweise mit Hilfe der Pund G-List neu generieren. Andere Dinge wie Adaptives kann man unter Umständen aufwendig mit der Tryund Error-Methode näherungsweise ermitteln. Module der anderen Kategorien kann man von anderen Festplatten oder von Firmware-Backups aus dem Internet nehmen.

231

Unlock-PCBs für neuere WD Datenträger Neuere Modelle von Western Digital haben ähnlich wie manche SeagateModelle eine Sperre, die verhindert, dass wir die Firmware verändern oder auch nur sichern können. Die Modelle zum Zeitpunkt, an dem ich das Buch schreibe, sind: > > > > > > > > > > > > > >

800022 800041 800065 800067 810003 800066 800069 800077 800086 810011 800025 810035 810012 810033

Im Gegensatz zu Seagate gibt es allerdings keine Funktion in Firmware-Tools, die diese Sperre aufhebt. Dafür verkaufen diverse Anbieter Unlock-PCBs. Diese gibt es beispielsweise bei Dolphin Data Lab: https://www.dolphindatalab.com/wd-2060-800068-unlock-data-recovery-pcb/

... oder auf Aliexpress. Hierbei muss man wie bei einem USB -> SATA Umbau vorgehen und den ROMChip von PCB der Patientenplatte auf die Unlock-Platine transferieren. Danach kann man wie gewohnt mit der Firmware arbeiten.

232

Häufige Probleme und mögliche Ursachen / Lösungen In diesem Kapitel will ich einige Probleme zusammenfassen, die ich öfter sehe und mögliche Lösungen für diese Probleme aufzeigen. Diese Liste ist nicht mal annähernd vollständig und hier genannte Probleme können je nach Modell und Hersteller auch völlig andere Ursachen haben. Nehmen Sie diese also nicht als Anleitung, sondern nur als diverse Beispiele und versuchen Sie sich immer zu vergewissern, ob eine Lösungsvariante möglich, zielführend und vom Risiko her vertretbar für die Daten ist, bevor Sie an Datenträgern von Kunden arbeiten. Dies gilt natürlich für alle genannten Beispiele und nicht nur für die Folgenden. Festplatte bleibt in BSY-Status hängen Dies kann sowohl auf die Firmware und ein beschädigtes Modul (zB SMART, G-List overflow, Translator oder auch den Media Cache bei Segate Platten) hindeuten als auch auf Hintergrundaktivitäten, den PCB oder sogar den Schreib-/Lesekopf. Seagate und Samsung Platten haben hier den Vorteil, dass wir Ausgaben auf der seriellen Schnittstelle mitlesen können und dann oftmals Informationen erhalten, um das Problem einzugrenzen. Wir haben dies bereits beim Fallbeispiel der ST3000DM001 besprochen. Lösungen wären je nach Ursache ein Tausch des PCB, deaktivieren von Funktionen, Reparatur der Firmware oder ein Headswap. Festplatte wird erkannt, meldet aber 0 GB oder eine falsche Kapazität Hier für gibt es verschiedenste Gründe - von einem falschen ROM-Chip über defekte Module in der Firmware (zB SMART, G-List, Translator, Media Cache bei Seagate oder HDD logs, etc.) bis hin zu einem defekten Schreib-/Lesekopf oder unterbrochener Verbindung zum Schreib-/Lesekopf ist alles möglich. Mögliche Lösungen sind hierbei je nach Ursache die Rekonstruktion der ROMDaten aus der Firmware, ein Tausch des PCB, Reparatur der Firmware oder ein Headswap. 233

Ab einen bestimmten LBA gibt es nur noch UNC-Fehler Wenn eine Platte bis zu einem bestimmten LBA gelesen werden kann und danach nur noch UNC-Fehler liefert, ist dies ein sehr starkes Anzeichen für einen beschädigten Translator. Vereinfacht gesagt liegt dies daran, dass ab einer bestimmten LBA-Adresse die Sektoren versetzt sind, da Informationen über defekte Sektoren verloren gingen und diese nun nicht mehr korrekt übersprungen werden, wird ein "Uncorrectable data error" (UNC) geworfen. Dies kann verschiedenste Ursachen haben von Versuchen eines anderen Datenretters über einen Fehler in der G-List bis hin zu einem Fehler oder Stromausfall, während der Translator neu berechnet wurde. Die Lösung ist es, den Translator mit der passenden Vorgehensweise für die jeweilige Platte neu zu bilden. WD-Festplatte arbeitet sehr langsam und hängt lange im Status BSY Dies sind starke Anzeichen für erhöhte Hintergrundaktivitäten oder den recht oft anzutreffenden "Slow response bug". Die Lösung ist das Deaktivieren unnötiger Hintergrundaufgaben oder das Ausführen einer der Slow response - Lösungen in dem jeweiligen Firmware-Tool. Für beide Fälle haben wir später noch entsprechende Fallbeispiele.

234

Kernel-Mode für WD Festplatten Wenn eine Western Digital Festplatte nicht vollständig booten kann und Bereitschaft erreicht, kann man den Safe- oder Kernel-Modus dazu verwenden, den PCB anzusprechen und mit dem ROM zu arbeiten. Dies kann man verwenden, um ein Backup des ROM zu erstellen und dieses auf einen Spender PCB zu schreiben oder man kann dies dazu verwenden, die Headmap oder andere Informationen zu bearbeiten, um die Platte dann vollständig zu booten. Um den PCB in den Kernel-Modus zu versetzen, gibt es vier Methoden: 1. Die Kontakte für den Schreib-/Lesekopf abkleben oder mit einem Stück Papier zwischen PCB und Kontakten am Gehäuse verhindern, das die Platine mit dem Kopf kommuniziert. 2. Kontaktpad E47 auf Masse kurzschließen - dazu kann man zB eine Pinzette verwenden, um E47 und eine Schraube zu verbinden. 3. Verbinden der Pads P9 + P10, TV9 + TV10 oder T9 + T10 - zB mit einer Pinzette. 4. Setzen der ersten drei Jumper neben dem Stromanschluss bei IDE-Platten:

Kleben Sie die Kontakte ab, schließen Sie die entsprechenden Pins kurz oder setzen Sie die drei Jumper, bevor Sie die Platine mit Strom versorgen und warten Sie bis DRD und DSC angezeigt werden. Dies kann teilweise bis zu einer Minute dauern. Wählen Sie dann bei der Auswahl der Familie oben den Kernel-Mode und nicht den Normal-Mode! 235

Seagate Terminal-Kommandos Im Grunde stellen uns die diversen Firmware-Tools ein grafisches Interface für die verschiedensten Terminal-Kommandos zur Verfügung. Im Regelfall müssen wir also nicht selbst mit dem Terminal arbeiten. Es gibt jedoch immer wieder verschiedenste Gelegenheiten, wo wir in SupportForen Anleitungen finden, etwas über das Terminal zu lösen oder wir werden gebeten, bestimmte Terminalausgaben zu posten, da Screenshots von zig Bildschirmseiten nicht gerade übersichtlich wären. Daher wollen wir uns zumindest kurz mit dem Terminal der F3-Festplatten beschäftigen, um zumindest zu wissen, wie wir damit arbeiten. Außerdem werde ich Ihnen einige gängige Befehle nennen, die sie allerdings nicht alle auf einer funktionierenden Festplatte ausführen sollten! Zuerst gibt es einige Tastenkombinationen, die wir öfters brauchen:

In MRT können Sie unten den Terminal-Tab nutzen, um mit dem Terminal zu arbeiten. Dazu sollten Sie mit dem markierten Button in den ASCII-Modus wech236

seln und um den Eingabe-Prompt zu bekommen, klicken Sie in das Textfenster und drücken Sie Strg + Z - dann sollten Sie folgenden Text sehen: ASCII Diag mode F3 T>

Mit Strg + A können Sie sich die Kurz-Info über die HDD ansehen: Package Version: WY05A7.SDM1.DA113D.0001SDM1, Package P/N: ---------, Package Builder ID: 84, Package Build Date: 04/18/2011, Package Build Time: 12:14:13, Package CFW Version: WY05.SDM1.00349731.8400, Package SFW1 Version: 7AEE, Package SFW2 Version: ----, Package SFW3 Version: ----, Package SFW4 Version: ---Controller FW Rev: 01130001, CustomerRel: 0001, Changelist: 00349731, ProdType: WY05.SDM1, Date: 04/18/2011, Time: 121413, UserId: 00080603 Servo FW Rev: 7DED RAP FW Implementation Key: 0E, Format Rev: 3D03, Contents Rev: 26 1E 04 05

Falls danach nicht wieder der F3-Prompt erscheint, drücken Sie einfach die EnterTaste. Mit Strg + L wird eine ausführlichere Informationsmeldung ausgegeben: Wyatt TetonST4 Mule 01 Teton4.2 DDR160M 240M 248SS ZG Product FamilyId: 3C, MemberId: 01 HDA SN: 5VEKNY71, RPM: 5449, Wedges: F8, Heads: 4, Lbas: 3A386030, PreampType: 5A 34 PCBA SN: 0000N205AVF5, Controller: TETONST_4(63A2)(3-0E-4-2), Channel: AGERE_COPPERHEAD_LITE, PowerAsic: MCKINLEY MOBILE PLUS Rev 15, BufferBytes: 800000 Package Version: WY05A7.SDM1.DA113D.0001SDM1, Package P/N: ---------, Package Builder ID: 84, Package Build Date: 04/18/2011, Package Build Time: 12:14:13, Package CFW Version: WY05.SDM1.00349731.8400, Package SFW1 Version: 7AEE, Package SFW2 Version: ----, Package SFW3 Version: ----, Package SFW4 Version: ---Controller FW Rev: 01130001, CustomerRel: 0001, Changelist: 00349731, 237

ProdType: WY05.SDM1, Date: 04/18/2011, Time: 121413, UserId: 00080603 Servo FW Rev: 7DED RAP FW Implementation Key: 0E, Format Rev: 3D03, Contents Rev: 26 1E 04 05 Features: - Quadradic Equation AFH enabled - VBAR with adjustable zone boundaries enabled - Volume Based Sparing enabled - IOEDC enabled - IOECC enabled - DERP Read Retries enabled - LTTC-UDR2 disabled

Außerdem können Sie mit Strg + C einen Neustart der Platte ausführen und mit Strg + R die Terminal-Session beenden und in den ATA-Modus wechseln. Hierbei ist vor allem der PreampType wichtig. Diesen benötigen wir immer, wenn wir eine passende Spenderplatte suchen. Im F3-Terminal gibt es unterschiedlichste Level für die unterschiedlichen Aufgaben. Per Default sind wir im T-Level (Testing). Dies wird mit dem T vor dem > angezeigt. Mit /[LEVEL] können wir das Level wechseln: F3 F3 F3 F3 F3

T>/1 1>/2 2>/C C>/ T>

Hier haben wir zuerst zum Level 1, dann zu 2 und C gewechselt und dann mit / wieder zum Default-Level T zurück. Alternativ zu / kann man auch /T schreiben. Mir sind die Level 1 bis 8 sowie A, C und T bekannt. Je nach Modell mag es auch noch weitere Level geben. Außerdem gilt, dass nicht jede HDD alle Level und alle Befehle unterstützt. Vollständige Dokumentationen zu den einzelnen Funktionen und Befehlen werden Sie ebenfalls nur unter der Hand bekommen.

238

Einige sehr gängige Kommandos haben sich im Internet verbreitet und sind weitläufig bekannt und einige davon will ich Ihnen im Folgenden vorstellen: F3 F3 F3 F3

2>Z 2>U 7>X T>V1

F3 F3 F3 F3 F3 F3 F3

T>V2 T>V10 T>V40 1>N1 1>N4 T>i4,2,22 7>m100

F3 C>Q F3 T>F F3 T>F93,0 F3 T>m0,6,2,,,,,22

Platte herunterfahren und Kopf parken (spin down) Platte wieder hochfahren (spin up) Teste Schreib-/Lesekopf Widerstand Ausgabe der Defect-List (bestätigt, dass der Translator geladen ist) Ausgabe der T-List Ausgabe der P-List Ausgabe der NRG-List (Non Resident G-List) Lösche S.M.A.R.T Daten Ausgabe der S.M.A.R.T Daten Löschen der G-List Löschen der DOS (Disk Operating System) Konfigurationstabellen Hilfe zu den Kommandos anzeigen (wie eine manpage in Linux) Anzeige aller DOS Konfigurationswerte Setze DOS-Konfigurationswert Nr. 93 auf 0 Regeneriert den Translator (Bevor Sie dieses Kommando verwenden, sollten sie sich unbedingt in alle möglichen Optionen einarbeiten)

Die ganzen Ausgaben können sie gerne testen - ich wäre vor allem mit dem FKommando zum Setzen der DOS-Werte sehr vorsichtig. Aber auch das Löschen von Konfigurationstabellen oder der G-List birgt Risiken, wenn man dies ohne guten Grund macht. Natürlich kann man auch den Translator neu berechnen über einen Befehl im Terminal und vieles mehr. Die oben genannte Liste ist nicht mal annähernd vollständig! Ich habe hier die Befehle mit dem jeweiligen Prompt angegeben, so wie dies in Dokumentationen und den meisten Foren üblich ist. Wenn Sie also F3 7>X sehen, müssen Sie zuerst mit /7 in den Level 7 wechseln und dann den X Befehl ausführen:

239

F3 C>/7 F3 7>X Head Head Head Head

00 01 02 03

Resistance Resistance Resistance Resistance

00CF 00D7 0095 00C6

Darauf muss man unbedingt achten, denn je nach Level kann ein Befehl wie zB X etwas völlig anderes bedeuten: In Level 2 würde X zB die TrkSectorInfo anzeigen. Groß- und Kleinschreibung sind ebenfalls wichtig, denn x anstatt X in Level 7 würde statt der Widerstandwerte die Zone-Info anzeigen. Im Fall von X und x wären dies nur falsche Informationen und nicht wirklich gefährlich aber in einem anderen Level, einer anderen Firmware-Version oder einem anderen HDD-Modell könnte dies auch Schaden anrichten! Man sollte also sehr sicher sein was man macht und lieber zweimal darüber nachdenken oder die Dokumentation doppelt prüfen, bevor man irgendwas im Terminal abschickt. Die Befehle sind ja nicht wirklich selbsterklärend!

240

Samsung Terminal Auch Samsung-Festplatten haben ein sehr gesprächiges Terminal und erlauben das Abgreifen von diversen Meldungen, um ein Problem besser zu diagnostizieren. PSL++ SUMaxPhyHead = 0006RPM at Handoff: 1537§UtSHOS - Released on 2008/06/24 12:21 by sec DRAM=16MB SoC=26A3 SHOS-(1AA14b2M.a38) L=00000000,00000000 KeepSpinOn! RV Circuit Enabled Temp : 33 degC SpinOk mServoStatus1 00000003 SK C: 97708 H:0 ServoTable Loaded FdtTable Loaded TgtCyl: 4032 Hd: 0 Zn: 0 Avg.:140 TgtCyl: 221264 Hd: 0 Zn: 1 Avg.: 44 SVCAL(0080,0000)-->PASS | 21 | SET_MAX | 3 | | 21 | SET_MAX | 3 | | 21 | SET_MAX | 3 | | 159 | DCO | 31 | | 159 | DCO | 31 | | 159 | DCO | 31 | RecordValid : 00478021 No DRM 3G Lp00,PwrOnDn

0 1 2 0 1 2

| | | | | |

142 142 142 0 0 0

| | | | | |

B98B B98B B98B B98B B98B B98B

| | | | | |

ENG>

Durch das Drücken der Enter-Taste erhalten wir den Eingabe-Prompt ENG>!

241

ENG>HE [CMD LIST] HE RT RC RF MW FB FW DX PP RP FE FU QG QW QR QD SU SD PK UV TU IC TC DV LL LM LR LS

PD SB EP R0 SM LI LV

D CA EF R1 SG WS LT

DS DN RD XT EI CB LB

DL DT WR XL WI BD LD

DB DG SK XN MI BS LC

DW BI QT XA PR BC L4

DI SP QB XC PW GO

M TP QK XE IF SS

MD RB QN XS TF NS

MS ZM QA SL RU DA

ML DZ QL OU WU DR

MB LE QS ST TI MR

Das Kommando HE listet alle verfügbaren Kommandos auf. Durch das Drücken der Esc-Taste wechseln wir in den Debug-Modus, was durch den DBG> Prompt angezeigt wird. ENG> *** Break at 0x0000C08C [8000.05.00] DBG>

Mit dem GO-Kommando wechseln wir zurück in den ENG>-Prompt. DBG>GO ENG>

Die wichtigsten Kommandos sind: ENG>SD ENG>SU ENG>HE ENG>RT ENG>Lx ENG>LD ENG>LB ENG>ZM

242

... ... ... ... ... ... ... ...

Spin Down Spin Up Help (Command List) Reset Drive Liste der Defects (hierbei steht x für den Typ - L/M/R/S/V/T) List Defect Areas (mit Start- und End-LBA) Informationen über die HDD Zero MC

Fallbeispiel WD10JMVW-11AJGS0 Hier haben wir eine relativ schlechte Ausgangssituation. Die USB-Platte ist von einem Studenten, der sich maximal 300 EUR für eine Datenrettung leisten kann. Die wichtigsten Daten wäre die Bachelorarbeit und die Fotos, Zeichnungen und anderen Dateien aus dem Ordner mit der Bachelorarbeit. Nach einer kurzen Untersuchung ist klar, dass der Kopf sehr mitgenommen ist und Kopf 3 nicht mehr ließt. Wir schaffen Geschwindigkeiten von wenigen KB bis zu wenigen MB pro Sekunde mit langen Phasen des Hängens. Das klingt nach dem Slow response Bug aber so viel vorab - weder URE noch MRT konnten einen Slow response - Fix ausführen und auch der Support der Toolhersteller konnte nicht weiter helfen. Wir hatten es zuerst am URE probiert, aber diese Platte ist so unstabil, dass das USB-Tool Probleme hat und die Möglichkeiten des URE zu beschränkt sind. Daher mussten wir die Platte auf SATA umbauen, um sie am MRT zu bearbeiten. Hierzu hatten wir eine passende Spenderplatine auf Lager. Zuerst sollten wir mit dem entsprechenden Firmware-Modul dafür sorgen, dass keine unnötigen Hintergrundprozesse auf der HDD laufen:

Dazu öffnen wir das Firmware-Modul und wählen den Punkt Edit HDD ID in RAM... aus. 243

Hier können wir nun alle unnötigen Dinge wie S.M.A.R.T., Reallocation (ausmappen defekter Sektoren), Look ahead, etc. ausschalten:

Das Deaktivieren dieser Dinge im RAM ist relativ gefahrlos machbar und sobald die Festplatte abgeschaltet und wieder angeschaltet wird sind die Änderungen wieder weg. Dieser einfache Eingriff kann den Imaging-Vorgang beschleunigen und dafür sorgen, dass der ganze Prozess stabiler läuft. Normalerweise sollte Look ahead den Klon-Vorgang beschleunigen aber hier hatte es längere Phasen des Hängenbleibens zur Folge und darum habe ich es deaktiviert. Auch hier ist etwas Try & Error Optimierung nötig um die besten Einstellungen zu finden. Da diverse Hintergrundaufgaben wegfallen, ist die Platte auch deutlich entlastet und wir gehen nicht das Risiko ein, permanent Daten in der Servicearea zu ändern, was zu weiteren Fehlern führen kann, wenn ein Modul unvollständig geschrieben wird, egal ob durch uns selbst oder einen Hintergrundprozess. Dann haben wir eine Headmap erstellt, auch wenn es gut 6-7 Stunden gedauert hat: 244

Um nur die gesuchten Daten zu imagen wollte ich den Dateisystembrowser von MRT verwenden, aber ich fand nur eine Partition, die in der Mitte des Datenträgers anfängt. Daher sehe ich mir den MBR mit dem Hexeditor an. Und da steht auch nur eine Partition drin ab der Mitte des Datenträgers. Um zu sehen, was am Anfang des Datenträgers ist, image ich die ersten paar GB der Platte. Da Kopf 3 nicht mehr ließt, ist jedes Dateisystem schwer beschädigt und der Dateibrowser von MRT wird wahrscheinlich nicht optimal arbeiten... Nach ein paar GB stoppe ich den Image-Vorgang und beginne damit die zweite Partition zu imagen indem ich unter den Task Optionen (im Data Copy Tab) den Start LBA verändere. Außerdem kopiere ich die ersten zwei Dateien des geteilten Images in einen anderen Ordner, mounte Sie mit FTK Imager und untersuche diese virtuelle Festplatte mit DMDE um zu sehen, was auf ihr ist. So kann ich das Dateisystem untersuchen und parallel weiter Klonen!

245

In dem Beispiel ist MRT einem 60 EUR Datenrettungsprogramm wie DMDE unterlegen. Denn DMDE kann eine Partition suchen und bekommt das zerschossene Dateisystem zusammengefügt. Allerdings muss ich zur Ehrenrettung sagen, dass MRT nicht für derartige logische Datenrettungen konzipiert ist! Die erste Partition ist eine Backup-Partition von TimeMachine. Also warten wir auf die ersten paar GB der zweiten Partition. Als ich diese endlich gelesen habe, haben wir folgenden Zwischenstand:

Gute 55 Stunden Laufzeit für gut 13GB ist ein Wahnsinn. Bei dem Tempo braucht es 160 Tage die ganze Platte zu klonen. Der Kunde hat nicht das Budget für den Headswap und nicht die Zeit, um 160 Tage zu warten. Wir haben keine passende Spenderplatte auf Lager und eine für 100 - 150 EUR + Versand zu kaufen macht für uns wirtschaftlich auch keinen Sinn, wenn wir dann maximal 300 EUR verrechnen können. Das ist sicher nicht der typischste Fall, aber ein sehr gutes Beispiel, wie man alle Techniken kombiniert, um ein Problem zu lösen... 246

Nach gut 2 Tagen haben wir genug Daten, um in DMDE das Dateisystem der zweiten Partition zu untersuchen. Die Tatsache, dass die Backup- und Datenpartition auf der gleichen Platte sind, ist allerdings auch sehenswert. Da weiß man dann, dass derjenige den Sinn eines Backups "wirklich" verstanden hat. DMDE erlaubt es, die Dateisystemeinträge zu parsen und zu betrachten und Dateien in einem Hexeditor anzuzeigen, in dem man auch gut den Sektor sieht, in dem die Daten liegen sollen.

Die letzte Datei liegt auf LBA 234399831. Dies ist vom Start der Partition aus gesehen. Diese startet auf LBA 977021952. Also haben wir den groben Bereich eingrenzen können - LBA 977021952 bis LBA 1211425575 (977021952 Start LBA der Partition + 234399831 Start LBA der letzten Datei + 474 Dateilänge in Blöcken * 8 Sektoren pro Block) Das wären dann nur noch grob 112GB und ca. 8 davon haben wir schon. Somit kommen wir auf 18 Tage. Wenn wir den Start-Bereich auch noch eingrenzen, kommen wir auf gut 9 Tage. Da ich in den ersten zwei Tagen mit dem Feintuning von Lesemodus und Timeouts auch noch ein wenig Performance herauskitzeln konnte, waren es am Ende nur ca. 6 Tage. Und nach weiteren 8 oder 9 Tagen hatte ich die Daten der ganzen Partition geklont.

247

Die Daten habe ich in zwei Etappen geliefert, zuerst die Bachelorarbeit mit den ganzen Dateien und dann die restlichen Daten der Platte. Da Kopf 3 defekt ist, waren einige Dateien beschädigt oder gänzlich leer, aber die Arbeit an sich war lesbar und der Kunde musste nur einige Zeichnungen und dergleichen neu machen. Alles in allem konnten wir aber genug Daten retten, um den Kunden zu helfen und mit etwas händischer Nacharbeit und einer Kombination aus den bis dato gelernten Techniken haben wir ca. 2 - 3 Stunden Arbeit in den Fall gesteckt, was wirtschaftlich gesehen auch noch im Rahmen ist. Falls die Daten nicht von der Datenpartition wiederhergestellt worden wären, hätte man mit der gleichen Technik die Daten auch von der Backup-Partition wiederherstellen können. Noch schneller und Komfortabler wäre so etwas mit UFS Explorer Pro möglich... Dazu müssen wir zunächst in den File Explorer wechseln und den Fall mounten:

248

Natürlich mounten wir den Task als "Read only":

Dann können wir UFS Explorer Pro starten:

Hier können wir wie oben gezeigt zuerst nach der TimeMachine-Partition suchen. Dazu Klicken Sie zuerst auf die Partitionsverwaltung (1) und dann auf die Suche (2). Da wir bereits wissen, dass die Partition am Anfang der Platte zu finden ist, können wir im gezeigten Dialog die Suche auf die Sektoren 0 - 10 einschränken! So dauert die Suche nur 2 Sekunden: 249

Die gefundene Partition wird zusätzlich in der Liste angezeigt. Wüssten wir nicht, dass die Partition innerhalb der ersten paar Sektoren beginnt, hätte ich zuerst die ersten 3000 Sektoren untersucht, denn 2048 ist ein gängiger Wert für den Startsektor einer Partition und so kann UFS auch noch die ersten paar Sektoren der Partition lesen bzw. untersuchen. Nun können wir die Daten-Partition mit einem Doppelklick öffnen und den gewünschten Ordner auswählen:

Danach wählen wir die folgende Option:

250

Mit "Save image of space used by selected files" erstellen wir ein Image, das nur die gewählten Daten beinhaltet.

Dazu stellen wir bei Read using Protokoll den Wert "System procedure" ein. Mit einem Klick auf den Pfeil hinter der Zeile Target location wählen wir den Speicherort für die Image-Datei aus:

251

Sobald wir eine Datei festgelegt haben, schlägt uns das Programm den gleichen Speicherort für die Map- und Log-Datei vor:

Dies können wir so übernehmen! Mit einem Klick auf den Start Imaging Button wird der Klonvorgang gestartet. Sollte man in MRT bereits einen Klonvorgang gestartet haben, werden die Daten doppelt geklont, denn MRT schreibt nach wie vor die Daten in die eigenen ImageDateien. Sie könnten so zB Klonen und zugleich die Daten Wiederherstellen oder Sie wählen im Data Explorer Modul von MRT die Option Data copy ab! MRT kümmert sich um das Handeling der Platte und führt Resets, Neustarts

und/oder das Überspringen von defekten Köpfen aus. UFS Explorer stellt deutlich besseres Handling von beschädigten Dateisystemen zur Verfügung. So ergänzen sich die Tools perfekt und es reicht die kostenlose Demo-Version um dies zu tun!

252

Wie Sie sehen, können wir so die wichtigsten Daten in kürzester Zeit klonen. Meist sind dem Kunden einige Daten besonders wichtig, die restlichen Daten möchte der Kunde in der Regel aber auch nach Möglichkeit zurück. Daher kombinieren wir diese Techniken oftmals und retten die wichtigsten Daten mit UFS-Explorer vorab, während MRT den Klonvorgang übernimmt und dann klonen wir den Rest der Daten mit MRT... Oder wir schränken den zu klonenden Bereich auf die entsprechenden LBAAdressen der wichtigen Daten ein und klonen später alles. Wenn das Dateisystem nicht stark beschädigt ist, bietet uns der File Explorer in MRT die gleichen Möglichkeiten:

253

Ein Rechtsklick auf den Ordner mit den wichtigsten Daten oder eine bestimmte Datei erlaubt uns die Option Image marked item (D) zu wählen. Damit werden nur die Bereiche auf dem Datenträger geklont, die den zuvor gewählten Daten zugeordnet werden:

Das war auch wieder sehr viel Imaging in dem Firmware-Kapitel, aber oftmals kann man sich auch nur so behelfen, wenn ein Firmware-Fix nicht klappt.

254

Fallbeispiel WD10JMVW-11AJGS1 Dies ist wieder ein typischer Fall für eine WD10JMVW - die HDD braucht recht lange, um Bereitschaft zu melden und das Klonen der Daten läuft wieder nur mit wenigen KB bis etwas über 1 MB / Sekunde. Das kennen wir schon vom vorherigen Beispiel. Also öffnen wir das Firmware-Modul und versuchen "Fix slow startup in RAM":

Im Log-Tab sehen wir die folgende Ausgabe: Solve slow in RAM... Get 02 module from RAM : .......................: OK Cheack Head Data And CheckSum : ................: OK Solve Slow In Ram : ............................: OK

Diesmal klappt die Problemlösung mit wenigen Mausklicks!

255

Sie sehen also nicht immer bietet ein Tool die passende Lösung, also müssen wir kreativ werden und eine alternative Lösung finden oder auf andere Tools ausweichen. Aber selbst alle Tools zusammen bieten nicht für jedes Problem eine so komfortable Lösung an. Wieder zurück im Data Explorer läuft der Klonvorgang nun mit akzeptabler Geschwindigkeit:

Natürlich habe ich auch hier wieder sämtliche nicht benötigten Hintergrundprozesse deaktiviert, wie wir es schon gesehen haben. Die 9 - 10 MB / Sekunde sind immer noch nicht berauschend, aber ca. 1,5 - 2 Tage um die ganzen 931 GB zu Klonen ist ein akzeptabler Zeithorizont. Dieser Fall erinnert mich aber auch an eine andere HDD bei der ich das gleiche Problem und den gleichen Fix mit den gleichen Erfolgsmeldungen ausgeführt hatte. Als ich die HDD klonen wollte, konnte die HDD nichts lesen. Nach einigem Herumprobieren merkte ich, dass der lange Startvorgang daran lag, dass Kopf 0 defekt war und auf ein Timeout gewartet wurde um die Firmware von der Kopie 1 zu laden. Meine Diagnose war also falsch und diese Platte hat mich eine wertvolle Lektion gelehrt - methodisches Vorgehen und das ausführen von verschiedenen Tests braucht mich auf die richtige Lösung. Hinterfragen Sie Ihre Diagnosen, überlegen Sie sich mögliche andere Ursachen, machen Sie sich eine Liste der möglichen Ursachen und testen Sie auf alle, bis Sie die richtige Lösung des Problems gefunden haben!

256

Fallbeispiel ST1000DM003 Hier haben wir einen eigentlich recht simplen Fall, der sich aber als etwas komplexer herausstellt. Die ST1000DM003 bleibt bei BSY hängen. Das abhorchen der Platte mit einem Stethoskop liefert keinen Grund zur Besorgnis und darum warte ich ein wenig, ob die Platte doch noch fertig bootet. Nach guten 2 Minuten meldet die HDD Bereitschaft. Das riecht nach irgendwelchen Hintergrundaktivitäten oder Firmware-Problemen und ich wechsle in das entsprechende Seagate F3 Modul in MRT. Dadurch geht die HDD aber sofort wieder auf BSY und hängt selbst noch nach 5 Minuten. Ich bekomme weder eine ID noch sonst etwas. Also recherchiere ich die Familie (Grenada), wähle diese manuell aus und starte das Modul. Zuerst will ich mir die Meldungen im Terminal ansehen: Boot 0x40M Spin Up Trans. Spin Up SpinOK TCC:0023 (P) SATA Reset

Das ist nicht viel an Information, aber die HDD meldet wieder nach ca. 2 Minuten DRD und DSC. Ich versuche mit Strg + Z ob ich eine Terminalverbindung bekomme und die HDD reagiert nicht. Darum schalte ich die HDD noch mal aus und wieder an und versuche direkt nach dem Einschalten mit mehrmaligen Drücken von Strg + Z beim Hochfahren weitere Ausgaben oder einen Terminal-Prompt zu bekommen.

257

Nun sehe ich Folgendes: Spin Up SpinOK TCC:0022 (P) SATA Reset SIM Error 1009 LBA 0000000000097E38 FD FCFFF3FF RW Error 00000080 Drive AMPS Configuration has been modified from compiled defaults. Drive must be re-initialized to controller firmware defaults by re-downloading controller firmware DO NOT SHIP WITHOUT FIRST RE-DOWNLOADING CONTROLLER FIRMWARE OR RESETTING TO DEFAULTS! SIM Error 1009 LBA 0000000000097E38 FD FCFFF3FF RW Error 00000080 SNOOOZZZZZZEEE Retry MCMainPOR: Start: User Data Base 0043E2B8 Check MCMT Version: Current MC026: Reconstruction: MCMT Reconstruction Start [RSRS] 053A MC022: Reconstruction: HeadPtr was unwritten MC024: Reconstruction: Completed: LED:000000EE FAddr:00267A3E Rst 0x40M F T>

Das sind nun alles Ausgaben, die ich in Supportforen suchen könnte oder dem Support des Toolherstellers zusenden könnte, um einen Lösungsvorschlag zu bekommen. Hier macht mich MCMT stutzig - das deutet auf den Media Cache hin, den ich ohnehin schon im Verdacht hatte. Nachdem die Platte wieder DRD und DSC meldet, versuche ich über das Terminal erst mal die "System file" Liste zu laden: 258

Dazu brauchen wir wieder das "Basic state" Fenster. Hierbei haken wir nur System File List und den untergeordneten Punkt Read by serial port an. Als Baud rate wähle ich 57600, wobei ich auch sicherlich noch 1 oder zwei Schritte schneller gehen könnte, aber mir ist Stabilität wichtiger als Geschwindigkeit. Ich erspare Ihnen an dieser Stelle diverse Screenshots - MRT hat für diesen Fall keine passende Lösung bzw. die Lösung klappt nicht. Auch ein Edit HDD ID klappt in den Fall nicht. Da wir Terminal-Zugriff haben, versuche ich es auf diese Weise und suche zuerst die passenden Befehle. Dabei finde ich in einem Support-Forum folgende Befehle von einem User mit dem Namen "Spildit": F"READ_SPARING_ENABLED",0,22 F"WRITE_SPARING_ENABLED",0,22 F"OFFLINE_SPARING_ENABLED",0,22 F"DAR_ENABLED",0,22 259

F"DISABLE_IDLE_ACTIVITY",1,22 F"BGMS_DISABLE_DATA_REFRESH",1,22 F"ABORT_PREFETCH",1,22 F"READ_LOOKAHEAD_DISABLED_ON_POWER_UP",1,22 F"READ_CACHING_DISABLED_ON_POWER_UP",1,22 + F"RWRecoveryFlags",00,22 F"BGMSFlags",00,22 F"PerformanceFlags",043C,22 F"MediaCacheControl",00,22

OK, das sieht gut aus - den F-Befehl kennen wir schon und wir wissen ja bereits, dass dieser im T-Modus auszuführen ist. Zuvor habe ich zur Sicherheit noch ein F3 7>m100 ausgeführt. Hier haben wir die besser lesbare Schreibweise mit den Bezeichnern anstatt den Nummern. Wir sehen aber auch, wie wichtig etwas Basiswissen über das F3Terminal ist! Im Grunde genau das, was ich auch machen wollte - Hintergrundaktivitäten und andere nicht benötigte Dinge deaktivieren. Leider klappt das nicht - wenn ich mir nach den Befehlen die Ausgabe von F wieder ansehe, fällt mir auch gleich auf, warum: Byte:0464: Byte:0464: Byte:0464: Byte:0464: Byte:0464: Byte:0464: Byte:0465: Byte:0465: Byte:0465: Byte:0465: Byte:0465: Byte:0465: 260

PerformanceFlags = 04 3C Bit:0, REDUCED_RAW_TRANSITION_FLUSH = 0 Bit:1, REDUCED_AV_RETRIES = 0 Bit:2, ID_READ_PARAMETERS_FROM_CAP = 1 Bit:4, VJIT_DISABLED = 0 Bit:5, ZERO_LATENCY_RD_ENABLED = 0 Bit:0, DAR_ENABLED = 0 Bit:1, OFFLINE_SPARING_ENABLED = 0 Bit:2, JIT3 = 1 Bit:3, JIT2 = 1 Bit:4, JIT1 = 1 Bit:5, JIT0 = 1

Byte:0465: Byte:0465:

Bit:6, DISABLE_IDLE_ACTIVITY = 0 Bit:7, ENABLE_SELF_SEEK = 0

Bleiben Sie an dieser Stelle kurz stehen und versuchen Sie den Fehler als Übung selber zu finden, bevor Sie weiterlesen! Spildit schrieb zuerst F"DISABLE_IDLE_ACTIVITY",1,22 und danach F"PerformanceFlags",043C,22. Das habe ich auch genau so gemacht, aber das kann nicht klappen! DISABLE_IDLE_ACTIVITY ist Bit Nr. 6 vom zweiten Byte von PerformanceFlags und wenn wir zuerst das DISABLE_IDLE_ACTIVITY-Bit setzen und dann das ganze Bitmuster von PerformanceFlags überschreiben, verändern wir DISABLE_IDLE_ ACTIVITY wieder.

Ich hätte die Befehle auch entsprechend selber zusammensuchen können. Hier hat wahrscheinlich ein User aus seinen eigenen Notizen und Aufzeichnungen die entsprechenden Befehle zusammenkopiert. Es wird in der Regel in solchen Foren davon ausgegangen, dass man derartige Kleinigkeiten auch selber debuggen kann. Nachdem ich nochmals F"DISABLE_ IDLE_ACTIVITY",1,22 ausgeführt hatte, sah es wie folgt aus: Byte:0464: Byte:0464: Byte:0464: Byte:0464: Byte:0464: Byte:0464: Byte:0465: Byte:0465: Byte:0465: Byte:0465: Byte:0465: Byte:0465: Byte:0465: Byte:0465:

PerformanceFlags = 04 7C Bit:0, REDUCED_RAW_TRANSITION_FLUSH = 0 Bit:1, REDUCED_AV_RETRIES = 0 Bit:2, ID_READ_PARAMETERS_FROM_CAP = 1 Bit:4, VJIT_DISABLED = 0 Bit:5, ZERO_LATENCY_RD_ENABLED = 0 Bit:0, DAR_ENABLED = 0 Bit:1, OFFLINE_SPARING_ENABLED = 0 Bit:2, JIT3 = 1 Bit:3, JIT2 = 1 Bit:4, JIT1 = 1 Bit:5, JIT0 = 1 Bit:6, DISABLE_IDLE_ACTIVITY = 1 Bit:7, ENABLE_SELF_SEEK = 0

Dann musste ich die fehlenden Daten nachladen: 261

Zuerst habe ich mit den Re-identify device Button die Modell- und Seriennummer geladen sowie die Firmware-Version. Dann habe ich Module-List, DT-List und RAM angehakt und mit dem Reload Button geladen: Identifying device... model:ST1000DM003-1CH162

firmware version:CC49

serial number:S1DGAXZT

Getting detailed firmware version... GPX17B.CCD4.DC0CAL.CC49 SMP Dbl: 0x3C001000 - 0x0001FFFF Disk cache reserve size: 0x43E2B8 physical sector size of user sector : ..............4096 Bytes physical sector size of service area : .............512 Bytes Number of physical heads : .........................2 262

Get System module information ... ID length Description ========================= 00 36 01 2 02 16 ... Ausgabe gekürzt Finished to get system module information! Getting DT information... ROM: ID Offset address Length ============================ 00 40030200 40944 01 40030000 512 04 0001D400 7168 40002000 13288 total 20456 05 0006C000 81920 ... Ausgabe gekürzt RAM: ID offset address length ============================ 00 01 02 04

05 ...

40030200 40944 40030000 512 400303C8 496 0001D400 7168 40002000 13288 total 20456 0006C000 81920 Ausgabe gekürzt

Finished to get DT information! Getting service area size....... 263

Service area size : .................................0x18AD07 Getting list of sys files....... Getting list of sys files completed! Reading autotuning buffer Buff Root FAT searching in RAM : ...................OK Searching module table in RAM : .....................OK Searching DT table(RAM, WR) in RAM : ................OK Searching DT table(RAM, RD) in RAM : ................OK Searching volume 0 file table in RAM : ..............OK Searching volume 3 file table in RAM : ..............OK Searching SMP RAM FID in RAM : ......................OK Searching Non Resident G-List FID in RAM : ..........OK Searching CFW OVL FID in RAM : ......................OK

Das sah sehr gut aus, also habe ich den Klonvorgang gestartet:

... und dieser lieferte mir Daten in akzeptabler Geschwindigkeit.

264

Fallbeispiel WD3200BEVT - Verlorene ROM-Daten Bei Western Digital und einigen Seagate-Platten können wir die Daten defekter ROM-Chips erneut generieren, indem wir entsprechende Backups der ROMDaten von der Service-Area lesen. Auf dem PCB dieser Festplatte ist U12 nicht belegt - der ROM-Code steckt also im Mikrocontroller und genau der ist kurzgeschlossen... Dies ist einer der Fälle, bei dem wir dem ROM-Inhalt verloren haben! Also habe ich aus dem Internet die bestmögliche Spender-Firmware gesucht. Hierbei habe ich darauf geachtet, dass die ganze Modellnummer und der Beginn der Seriennummer übereinstimmen, da ich auf dem Label der HDD nicht die Firmware-Version sehe und auf der Webseite nicht das Produktionsdatum. Also hoffe ich, dass der gleiche Beginn der Seriennummer bedeutet, dass die zwei Platten innerhalb einer kurzen Zeitspanne produziert wurden. Zuerst haben wir die Platine mit einer anderen ersetzt und den ROM-Chip mit dem heruntergeladenen ROM-Dump programmiert. Dies führte dazu, dass die HDD einige Zeit im BSY-Status hängen blieb. Nach ca. 30 Sekunden springen die Status-LEDs auf DRD + DSC. Wenn wir versuchen, das WD Marvel Modul im MRT zu starten, bekommen wir folgende Fehlermeldung:

265

Wenn wir dies mit OK bestätigen, erhalten wir folgenden Dialog:

Oben wurde automatisch der Kernel-Modus ausgewählt. Dieser dient dazu, mit dem ROM-Chip bzw. den ROM-Daten zu arbeiten. Wie wir sehen, meldet die HDD weder das Modell noch die Seriennummer oder die Speichergröße. Mit dem Auto Check Button wird dann die Denali Familie gewählt. Dann können wir den Button Load LDR dazu verwenden, um einen Loader aus den heruntergeladenen Firmware-Modulen zu erstellen und damit Zugriff auf die Service-Area zu bekommen. Hier klappte dies mit der ersten Firmware. Oftmals brauchen wir dazu mehrere Versuche! Wenn es nicht klappt, wiederholen wir den Vorgang mit dem nächsten Firmware-Dump und dann wieder dem nächsten so lange, bis es klappt! Nach dem Klick auf den Button öffnet sich folgendes Fenster:

266

Ich habe hier den Unterordner mit den Modulen nach ID ausgewählt. Je nachdem, ob dieser Dump mit PC-3000, MRT, DFL oder DD3000 erstellt wurde, ist die Ordnerstruktur etwas unterschiedlich. Hier hatten wir zB die Ordner-Struktur Data -> Module -> Id. Ich wähle hier vorsichtshalber Write to RAM aus, da ich im schlimmsten Fall nicht irgendwelchen, nicht funktionierenden Datenmüll auf die Platte schreiben und die Situation damit verschlimmern will! Ich starte den Vorgang mit dem Load All LDR Button und bekomme folgenden Dialog:

267

Im Log-Fenster sehen wir zusätzlich folgende Ausgabe: Load LDR(0x1B), Write to Hdd Ram ... Write Data(0x1B) : .............................: OK Load LDR(0x11), Write to Hdd Ram ... Write Data(0x11) : .............................: OK load 01... load 01 to HDD RAM... The data source : ..............................: Get 01 module from HDD : .......................: Load module list : .............................: Zone allocation table : ........................:

HDD OK OK Err

Open SA access... Get SA access information : ....................: OK Check SA access data: ..........................: OK Open SA access : ...............................: OK 268

Sobald wir auf OK klicken, erhalten wir folgenden Fehler:

Das ist kein Problem. Wir haben zwar keinen vollständigen Zugriff auf die Userdaten, aber auf die Service-Area (SA) und das ist alles, was wir im Moment brauchen! Es ist immer wichtig, die Log-Meldungen zu kontrollieren. Diese sagen oftmals mehr aus als die dürftigen Fehlermeldungen. In den Fall hätte uns der Fehler sogar in die Irre geführt. Nachdem wir die Fehlermeldung mit OK bestätigt und den Load LDR Dialog mit Exit geschlossen haben, können wir dem Mode auf Normal stellen und mit OK das WD Marvel Modul starten. Dann sollten wir im Log-Fenster folgende Meldungen sehen: Technology mode key : ..........................: OK RAM: Read HDD Info : ................................: Heads number : .................................: Head map : .....................................: SA Cyl Count : .................................: Serials Mark : .................................: Control version : ..............................:

OK 4 F 128 0x9E12 42B1

Zone allocation table : ........................: Err 269

ROM: Read Rom Infos : ...............................: ROM Data Size : ................................: ROM version : ..................................: ROM generation : ...............................: Link table version : ...........................: ROM Firmware version : .........................:

OK 192 Kb 08.2CD 08.2CD 02.14 0008002C

ROM Modules: Flash ROM dir reading : ........................: Switched off heads : ...........................: Heads number : .................................: Heads number in use : ..........................: heads map : ....................................:

OK Yes 0x4 0x4 0,1,2,3

Load SA translator : ...........................: OK SA Module Dir Loading... Load SA Module dir : ...........................: Configuration reading : ........................: Master Password : ..............................: User Password : ................................:

OK OK has not been set has not been set

Außerdem haben wir noch immer keine Angaben zur Speichergröße oder die Modell- und Seriennummer. Wenn wir allerdings dem Punkt Tools -> HDD Ressource Viewer aufrufen, sehen wir folgenden Dialog:

270

Wir haben tatsächlich Zugriff auf die SA-Module der Festplatte und damit können wir folgende Funktion aufrufen:

Dies führt uns zu folgendem Dialog:

MRT macht für uns ein Backup der aktuellen ROM-Daten, damit wir im schlimm-

sten Fall wieder darauf zurückgreifen können. Da wir die Seriennummer und das Modell nicht auslesen können, schlägt uns MRT an dieser Stelle Datum und Uhrzeit als Ordnername vor.

271

Nach dem Klick auf OK sehen wir folgenden Dialog:

Hier setze ich zusätzlich den Haken bei Write to hard disk um den Vorgang hier im Buch nicht noch mehr in die Länge zu ziehen - ich würde hier normalerweise die Daten nur generieren lassen und dann mit ROM -> Write ROM modules (P) in einem weiteren Schritt schreiben, falls das Generieren klappt. Im Log sehen wir folgende Meldungen: Start to generate ROM module Save file path: D:\WDC Marvell\Denali\20220222-203222-0008002C\Data\ROM Rebuild 0A... Load the matched Sa Module : ...................: OK Check Sa Module Data : .........................: OK Backup Old Data : ..............................: OK Check New Rom module(0A) Data...... Find Head map Data from Key Modules : .........: Err Cancel Check New Data! Backup New Data : ..............................: OK 272

Rebuild 0A : ...................................: OK Rebuild 0D... Load the matched Sa Module : ...................: Check Sa Module Data : .........................: Backup Old Data : ..............................: Backup New Data : ..............................: Rebuild 0D : ...................................: Rebuild 30... Load the matched Sa Module : ...................: Check Sa Module Data : .........................: Backup Old Data : ..............................: Check New Rom module(30) Data...... Backup New Data : ..............................: Rebuild 30 : ...................................: Rebuild 47... Load the matched Sa Module : ...................: Check Sa Module Data : .........................: Will Create 0x47 By Another method...... Load the matched Sa Module(40) : ...............: Check Sa Module Data : .........................: Read Module(0x47) : ............................: Backup Old Data : ..............................: Backup New Data : ..............................: Rebuild 47 : ...................................: Rebuild 4F... Load the matched Sa Module : ...................: Check Sa Module Data : .........................: Backup Old Data : ..............................: Backup New Data : ..............................: Rebuild 4F : ...................................:

OK OK OK OK OK

OK OK OK OK OK

OK Err OK OK OK OK OK OK

OK OK OK OK OK

Sobald der Vorgang abgeschlossen ist, schalte ich die HDD ab und verlasse das Modul. Dann starte ich die HDD wieder und steige neu ein:

273

Diesmal bekommen wir alle Informationen über die HDD und auch den Zugriff auf die Userdaten, wie wir hier mit Tools -> User Sector Viewer prüfen:

274

Bei Seagate-Festplatten ist dies nur bei einigen Modellen möglich und der Vorgang ist außerdem komplexer und manueller. Western Digital Festplatten sind bei derartigen Problemen einfacher zu handhaben, aber auch hier steckt der Teufel oftmals im Detail. Je nach Modellreihe muss man einige wenige oder recht viele Loader versuchen, bis man Glück hat. Das Beispiel zeigt auch gut, was passiert, wenn man nicht die Daten aus dem ROM hat. Je nach Festplatten-Modell und Hersteller kann es auch zu Beschädigungen kommen, wenn man achtlos einfach die Platine tauscht und falsche ROM-Daten nutzt...

275

Fallbeispiel WD10JUCT - My Passport Hierbei handelt es sich um eine mit AES verschlüsselte HDD. Sobald wir den USB PCB mit einem kompatiblem SATA PCB austauschen, sehen wir keine Daten, sondern nur verschlüsseltes "Kauderwelsch": In diesem Fall haben wir den USB-PCB mit der Modellnummer 2060-771961-001 REV A durch einen 2060-771960-000 REV P2 ersetzt. Hierbei wurde natürlich wie üblich der ROM-Chip transferiert. Nachdem ich die Platte mit dem MRT verbunden hatte, meldete diese DRD und DSC. Danach öffne ich das WDC Marvel Utility und wenn ich mir darin den MBR (Sektor 0) im User Sector Viewer betrachte, sehe ich Folgendes:

Hierbei fällt uns auf, dass wir nicht die zu erwartende Bootsektor-Signatur 55 AA sehen und auch nichts, was nach einer Partitionstabelle aussieht. Es ist sehr wichtig, beim Klonen ein Auge auf die Daten in der hexadezimalen Schreibweise zu haben. Normale Daten haben Muster und bestimmte lesbare 276

Teile wie die Signatur eines MFT-Eintrags (FILE0) oder den Dateinamen in diesem Eintrag oder lesbare Texte in EXIF-Daten, etc. Das zufällig wirkende "Kauderwelsch", das wir hier, sehen ist typisch für verschlüsselte Daten und auf so etwas sollten wir unbedingt achten - es wäre schade, wenn wir tagelang verschlüsselte Daten klonen, nur um dann festzustellen, dass wir diese so nicht brauchen können! Daher habe ich die ersten Minuten des Klonvorgangs ein Auge auf die hexadezimale Ansicht, in der die Daten durchlaufen und ich prüfe nach einigen GB zusätzlich mit einem Tool wie r-Studio oder UFS-Explorer ob in den geklonten Daten ein Dateisystem und Dateien gefunden werden. In diesem Fall brauchen wir das WDC Marvel Utility um Zugriff auf die Servicearea zu bekommen. Daher lasse ich dieses Utility offen und wechsle mit dem WindowMenü wieder zurück zum Hauptfenster, ohne das Utility zu schließen. Dann starte ich einen neuen Task in Data Extractor und wähle die Festplatte aus. Bevor wir den Klonvorgang starten, müssen wir allerdings noch etwas ändern. Dazu öffnen wir die Task Parameter:

Wir sehen in diesem Bild auch gut, dass der File Explorer nicht in der Lage ist, eine Partition zu finden.

277

Unter Command to Read wählen wir den Eintrag Read from active MRT Utility aus. Danach bekommen wir die Auswahl, die Daten über den COM-Port zu lesen oder eine USB-Festplatte zu entschlüsseln. Das Lesen der Daten über den COM-Port ist zwar extrem langsam, aber die einzige Alternative wäre, wenn die Firmware keine Kommunikation per SATA erlaubt. In unserem Fall wollen wir die USB-Festplatte entschlüsseln. Sobald wir das mit OK bestätigen, sehen wir eine leere Liste. Wenn wir auf Auto Check klicken, werden wir gefragt, wo Teile der Firmware zwischengespeichert werden sollen:

Genau hierzu benötigen wir das Utility. Sobald die entsprechenden Daten zwischengespeichert und analysiert wurden, sehen wir einen Eintrag in der Liste:

278

Wenn wir diesen Eintrag auswählen und den Dialog mit OK bestätigen, sehen wir noch eine kurze Bestätigung, die wir mit OK schließen. Dann können wir im File Explorer den MBR neu laden und es werden Partitionen und Ordnerstrukturen gefunden:

279

Nun können wir mit dem Klonvorgang beginnen und die Daten entschlüsselt in eine Image-Datei schreiben. Bei neueren Modellen mit den zuvor genannten PCB-Modelnummern benötigen wir einen sogenannten Unlock-PCB (entsperrten PCB), um Zugriff auf die Firmware zu erhalten! Seien Sie bei USB-Gehäusen vorsichtig und lassen Sie sich immer das Gehäuse mitsenden. Ich habe nicht selten den USB -> SATA PCB für die Entschlüsselung einer HDD gebraucht und am Ende die Daten mit dem URE oder Deepspar USB Stabilizer geklont, wenn die HDD verschlüsselt war. Oftmals wissen Kunden selber nicht, dass Ihre Platten verschlüsselt sind, da Sie nicht bewusst ein Passwort angeben müssen! Viele kaufen auch Festplatten mit Hardwareverschlüsselung, weil diese teurer sind und sie glauben, dass die teureren HDDs höherwertiger sind. Dabei zahlen Sie nur einen Aufpreis für ein Feature, von dem Sie nichts wissen und das Sie nicht nutzen oder brauchen. Ich habe mit vielen Kunden gesprochen, die völlig überrascht waren, dass Ihre HDD verschlüsselt ist.

280

Fallbeispiel WD10EADS - Defekter Translator Bei dieser Platte hatten wir Zugriff auf die Userdaten, aber kurz vor der 30% Marke konnte kein einziger Sektor mehr gelesen werden. Meine Skip-Einstellung für den ersten Klondurchlauf (ca. 1,5%) hat dafür gesorgt, dass wir die letzten 70% der Festplatte mit einigen wenigen Schritten übersprungen haben. Um zu testen, woran das lag, habe ich das WDC Marvel Utility geöffnet. Die LogAusgaben waren Folgende: Technology mode key : ..........................: OK RAM: Read HDD Info : ................................: Heads number : .................................: Head map : .....................................: SA Cyl Count : .................................: Serials Mark : .................................: Control version : ..............................:

OK 4 F 192 0xCE16 53B1

Zone allocation table : ........................: OK SA SPT : .......................................: 1974 ROM: Read Rom Infos : ...............................: ROM Data Size : ................................: ROM version : ..................................: ROM generation : ...............................: Link table version : ...........................: ROM Firmware version : .........................:

OK 192 Kb 90.2AM 90.2BM 01.20 0090002A

ROM Modules: Flash ROM dir reading : ........................: Switched off heads : ...........................: Heads number : .................................: Heads number in use : ..........................: heads map : ....................................:

OK Yes 0x4 0x4 0,1,2,3

Load SA translator : ...........................: OK 281

SA Module Dir Loading... Load SA Module dir : ...........................: Configuration reading : ........................: Master Password : ..............................: User Password : ................................:

OK OK has not been set has not been set

Nachdem bereits fast 30% geklont waren, konnte es kein defekter Kopf sein. Um herauszufinden, ob ich es mit einem Translator-Problem zu tun habe, führte ich den "Translator-Test" von Hand durch, indem ich versuche, den ersten, den letzten und einige Sektoren dazwischen zu lesen. Hier waren die ersten 30% irrelevant, also versuchte ich Sektoren bei ca. 40%, 70% und den letzten Sektor zu lesen. Für alle drei Sektoren meldete die Festplatte einen UNC Fehler. Auch das ist wieder ein gutes Beispiel, warum man derartige Vorgänge überwachen sollte oder zumindest entsprechende Einstellungen getroffen werden sollten, die dafür sorgen, dass eine Platte nicht unnötig belastet wird. Es ist nicht ideal, wenn eine Platte stundenlang versuchen würde, Sektoren zu lesen, die nicht gelesen werden könnten. Also wähle ich im Utility folgende Option:

Damit öffnen wir den folgenden Dialog, in dem wir die Option Only use P_List (for data recovery) auswählen:

282

Danach sehen wir im Log-Tab folgende ausgaben: Start translator regeneration The translator is in regeneration, please wait. The translator regeneration success!

Dieser Vorgang kann ein paar Minuten dauern und Sie sollten Geduld haben. Generell sollte man bei Datenrettungen nichts überstürzen und ich hatte schon Festplatten, die mehrere Minuten brauchten, um DRD + DSC zu melden und noch viel länger um diverse Vorgänge zu beenden. Wir haben es bei Datenrettungen in der Regel mit nicht 100% funktionstüchtigen Datenträgern zu tun und Fehler, Instabilität und lange Ausführungszeiten für diverse Aufgaben sind eher die Regel als die Ausnahme! Einen Vorgang vorzeitig abzubrechen kann einen Schaden noch verschlimmern. Daher sollte man niemals ungeduldig sein oder einen Fall beginnen, wenn man wenig Zeit hat!

283

SSD-Firmware Da SSDs eine relativ neue Technologie sind, wird noch sehr viel experimentiert und es entstehen sehr schnell neue Firmware-Versionen mit weiteren Optimierungen oder anderen Anpassungen. Bei den Festplatten wurden über die Jahre viele Firmen aufgekauft und viele Firmen, die neue Konzepte ausprobierten, verschwanden vom Markt, als diese floppten. HDDs haben diese "wilde Zeit", in der viele Firmen versuchten, sich mit neuen Ideen zu überflügeln, lange hinter sich und es gibt in der Regel eine stetige Evolution von bekannten und lange erprobten Konzepten und keine revolutionären neuen Experimente. Bei den SSDs sind wir mitten in dieser "wilden Phase", in der neue Hersteller einsteigen und diese Fülle an unterschiedlichen Konzepten und neuen FirmwareVersionen macht es für die Hersteller von Datenrettungs-Tools unmöglich, jede Firmware-Version jedes Herstellers zu untersuchen und Lösungen für Firmwareprobleme in Ihre Tools einzubinden. Das sorgt dafür, dass wir nur von einem sehr kleinen Teil an SSDs Daten retten können. Mit der Zeit wird dies sicher besser werden, aber derzeit ist es ein echtes Problem und es ist auch auf die nächsten Jahre keine wirkliche Besserung in Sicht... Genau wie bei Festplatten hat ein Sektor 512 Bytes oder oftmals auch 4 Kilobyte an Daten und weitere Flags und einige ECC-Bytes um kleinere Lesefehler zu korrigieren. Die Struktur an zusätzlichen Daten ist jedoch etwas simpler, da wir keine Positionierungsdaten brauchen, anhand derer sich ein Schreib-/Lesekopf orientieren könnte... Dafür sorgen Dinge wie Wearleveling dafür, dass die Daten möglichst fragmentiert auf die Speicherchips geschrieben werden. Wenn wir es also nicht schaffen, die Firmware zum Laufen zu bringen, die dieses "Chaos" entwirren kann, ist eine Datenrettung in der Regel aussichtslos. Elektronische Fehler können wir beheben, solange weder der Controller noch einer der Speicherchips defekt sind, ist eine Datenrettung möglich.

284

Bei Firmware-Problemen sind wir auf die Lösungen angewiesen, die uns die ToolHersteller anbieten, wenn wir nicht selbst die entsprechende Firmware Reverse Engeneeren wollen, um den Fehler zu verstehen und eine Lösung für das Problem zu finden. Da wir hierbei noch relativ gesehen am Anfang stehen, sind die Reparaturoptionen noch recht beschaulich. PC-3000 und vor allem PC-3000 Portable III hat mit Abstand die beste Abdeckung, ist aber trotzdem noch sehr weit davon entfernt, einen Großteil der Fälle lösen zu können.

285

Fallbeispiel Kingston SSD mit Satafirm S11 Bug Die SSD meldet sofort ihre Bereitschaft (DRD + DSC), bleibt aber gleich bei der automatischen Erkennung beim BSY-Status hängen. Nach dem Ausschalten und wieder Anschalten ist die SSD gleich bereit, aber auch das manuelle Starten des Moduls führt dazu, dass die SSD nicht erkannt wird und gleich wieder bei BSY hängt.

Hier kann man einige Minuten darauf warten, das ein Hintergrundprozess beendet wird, aber dies bringt in diesem Fall leider auch nichts. Darum versuchen wir eine Sache, die bei einigen Festplatten schon geholfen hat. In dem Fall ist dies auch nicht zielführend, aber so kann ich Ihnen wenigstens diese Option vorstellen! Dazu erstelle ich einen neuen Task im Data Extractor Modul:

286

Wenn das Data Extractor Modul von MRT die Größe der HDD oder SSD nicht ermitteln kann, werden wir nach der Anzahl der Sektoren gefragt. Oftmals hilft das manuelle Eingeben der LBA-Anzahl und ich konnte so schon Platten klonen, die keine vollständige ID lieferten. Hier wurde die SSD neu gestartet und blieb sofort beim Auslesen der Informationen wieder auf BSY hängen. Nach einem Klick auf OK wird wieder versucht, mit dem Datenträger zu kommunizieren, aber die SSD ist ja immer noch im BSY-Status...

Da auch das Abfragen der unterstützten SATA Kommandos nicht klappte, werden wir darauf hingewiesen, dass nur die SATA Option "high-speed" zur Verfügung steht. Jetzt können wir endlich die SSD neu starten und sie meldet wieder Bereitschaft. Diesmal können wir den Klon-Prozess auch starten und zumindest ein paar Sektoren lesen, bis die SSD wieder hängt:

287

Man sah auch im Hex-Viewer, dass sogar irgendwelche Daten kopiert wurden, aber nun hängt die SSD und selbst nach einigen Neustarts und mit unterschiedlichen Einstellungen konnte ich die SSD nicht dazu bewegen, mehr Daten zu liefern. Also untersuche ich, was ich habe, mit r-Studio:

288

Wie wir sehen, werden keine Daten gefunden - nicht mal ein Boot-Sektor oder eine Partitionstabelle oder irgendwelche Fragmente eines Dateisystems! Im Hex-Editor finden sich allerdings viele Sektoren, die irgendwelche Bitmuster enthalten:

Dieses Vorgehen hat mir bei ein paar Datenträgern, die sich ähnlich verhielten, bereits geholfen. Hier bringt es leider keinerlei Erfolg. Also müssen wir anders an die Sache herangehen. SSDs haben einen speziellen Technologie-Modus in dem MRT oder PC-3000 mit der Firmware arbeiten kann. Um die SSD in diesen Modus zu versetzen, müssen wir zwei Kontakte kurzschließen. Welche genau das sind, muss für jedes Modell recherchiert werden. Meist sind es zwei allein stehende Löcher oder Pads. Hier helfen die Support-Foren der Toolhersteller oder auch deren Dokumentation und technisches Support-Team weiter...

289

Bei dieser SSD sind es die gezeigten PINs, die ich mit einer Metall-Pinzette kurzschließe. Danach bekomme ich endlich eine ID von der SSD. Allerdings nicht die ID, die ich erwartet habe! Die SSD meldet sich als SATAFIRM S11 mit richtiger Größe und auch einige andere Daten können gelesen werden. Dieser Bug tritt bei einigen Modellen mit Phison-Controller auf. MRT bietet zu dem Zeitpunkt, an dem ich diesen Fall bearbeitete, kein eigenes Modul für Kingston SSDs und ich musste auf das Modul für Silicon Power ausweichen. Dies ist teilweise möglich, solange der Controller das gleiche Modell ist.

290

Nun kann ich versuchen, einen Translator zu erstellen:

Dieser Vorgang läuft dann quasi automatisch für mich ab:

291

Sobald dies geklappt hat, kann ich einen neuen Task in Data Extractor erstellen. Hierbei muss ich dann unter Umständen auswählen, dass ich vom aktiven MRT Util lesen will und nicht vom SATA Port direkt. Dies hängt aber wieder vom aktuellen Fall ab und wir haben das auch schon gesehen, als wir die verschlüsselte HDD mit dem WD Marvel Util entschlüsseln, um die Daten wieder lesbar zu machen. Wie Sie sehen, ist die Auswahl der Controller und Tools noch sehr bescheiden, aber bei der Menge an neuen Herstellern und den häufigen neuen Firmwareversionen, die diese auf den Markt werfen, wird sich dies auch nicht so bald ändern! Dies gilt nicht nur für MRT sondern auch für PC-3000. Wobei ich hier auch ganz klar sagen muss, dass PC-3000 hier die Nase klar vorne hat!

292

Man muss nur für sich entscheiden, ob die SSD-Fälle die PC-3000 mehr lösen kann, die Mehrkosten für die Anschaffung und den Support einspielen... Ab einer bestimmten Menge an Fällen macht es durchaus Sinn, einen PC-3000 zusätzlich anzuschaffen, um noch mehr Fälle gleichzeitig abarbeiten zu können und um auch die Fälle lösen zu können, die ein MRT Express oder Ultra nicht schafft. Dann steht man auch nicht mehr am Anfang und dann sollte die Investition auch kein Problem darstellen. Wenn dies von Anfang an der Fall wäre, würde ich auch mit PC-3000 und PC-3000 SSD anfangen! PC-3000 Portable III bietet zwar nur einen Port, unterstützt aber als einziges Tool

auch NVMe SSDs. Dafür ist dieses Tool auch mit Abstand am teuersten in der Anschaffung.

293

CHIP-OFF DATENRETTUNG Einfache Defekte wie Kurzschlüsse sind zwar noch sehr schnell mit einer Wärmebildkamera zu finden, aber das Suchen nach komplexeren elektronischen Defekten ist oftmals recht zeitaufwendig und erfordert einiges an Wissen. Nicht jeder Datenretter ist auch ein sehr guter Elektroniker und viele haben entsprechende Partner, an die sie komplexe elektronische Defekte outsourcen. Bei einigen Geräten ist das Beheben des Fehlers aber gar nicht nötig.

294

Mobiltelefone / Tablets mit Android-Versionen vor 6.0 Unverschlüsselte eMMC Speicherchips, wie man Sie in vielen alten Telefonen und einigen Netbook- und Windows-Tablets findet, können einfach ausgelötet und dann an einem Lesegerät angeschlossen werden. Ich will diesen Fall an einem alten Lenovo A760 mit Android 4.x demonstrieren. Hier hatte der Kunde noch ein altes und defektes Telefon zu Hause auf dem sich einige Fotos befanden. Logischerweise legte der Kunde nur Wert auf die Daten und nicht das veraltete und quasi wertlose Mobiltelefon. Der schnellste Weg an die Daten führt also über ein Chip-Off. Zuerst müssen wir das Gerät zerlegen und den Speicherchip identifizieren. Dazu googeln wir einfach die Datenblätter zu den Part-Nummern auf den Chips und bei "Hynix H9TP32A8JDMC datasheet" werden wir fündig: "32G EMMC FLASH FBGA162" Das sind nicht 32 Gigabyte, sondern 32 Gigabit. Das entspricht 4 GB und damit der Speichergröße des Telefons. Außerdem sehen wir, dass dies ein BGA162 Chip ist. Hierbei steht BGA162 für Ball Grid Array mit 162 Pads. Das sind Chips, die keine Füßchen, sondern Kontaktpads auf der Unterseite haben. Die 162 ist ein Standard für ein bestimmtes Layout an Pads. Das sagt uns also, welchen Socket wir zum Lesen benötigen. Ich habe für diese Chips entsprechende Sockets für meine EasyJTAG Box und nochmals ein entsprechendes Socket im MOORC E-MATE X 13-in-1 Set mit dem SDKarten Adapter. Damit kann ich den Chip wahlweise wie eine SD-Karte an einem Kartenleser anschließen (MOORC) oder an der EasyJTAG Box (https://easy-jtag.com/). Ich entscheide mich für Ersteres, da ich mit der EasyJTAG Box auch gut die Lesegeschwindigkeit und damit die Stabilität anpassen kann.

295

Derartige Datenrettungen werden aber immer seltener. Sie müssen selber entscheiden, ob die zusätzliche JTAG-Box die paar hundert Euro wert ist. Neben EasyJTAG gibt es viele weitere Boxen, die alle bestimmte Vor- und Nachteile haben. Diese Geräte sind allerdings nicht für Datenrettungen gebaut worden, sondern für Mobiltelefon-Shops um Geräte zu flashen, entsperren, etc. Zum entlöten verwende ich meine Heißluft-Lötstation mit einer passenden Düse, um den Luftstrom auf den Chip zu konzentrieren. Als Vorheiztemperatur verwende ich 180°C und als Luftstromtemperatur 410°C wobei dies die Angaben meiner Lötstation sind und die Temperaturen auf der Platine vor allem bei günstigen Lötstationen stärker abweichen können. Um keine kleinen Bauteile von der Platine zu blasen, habe ich den Luftstrom auf ca. 30% geregelt. Ich versuche in solchen Fällen recht heiß und schnell zu löten, wobei die Vorwärmplatte auftretende Temperaturunterschiede über den ganzen PCB etwas angleicht, um die Belastung durch ein Verziehen des PCB zu reduzieren. Der Haltearm ermöglicht es mir, die Hände frei zu haben, um den Chip schnell mit einer Pinzette abzuheben, wenn dieser frei ist. Je nach Hersteller und Modell haben wir es hier auch mit versiegelten Chips zu tun. Diese sind mit einer Art Harz unterfüllt um den Chip vor Feuchtigkeit zu schützen. Dieser Schutz ist beim Entlöten ein echtes Ärgernis und macht die ganze Aufgabe deutlich schwerer.

296

In solchen Fällen nutze ich ein Skalpell, um mich langsam an den Rändern entlang zu arbeiten und dann von einer Seite langsam und vorsichtig immer weiter bis der Chip frei ist. Dabei muss man nicht nur vorsichtig, sondern auch schnell sein, um den Chip nicht zu überhitzen! Wir müssen bei derartigen Chips die Temperatur durch den Chip auf die Pads darunter bringen und darum sollte man die Lötzeit kurz halten, um keine Beschädigung des Chips zu riskieren. Man darf aber auch nicht zu heiß löten, um den Chip nicht zu verbrennen. Sie müssen für sich passende Einstellungen mit Ihrer Lötstation selber finden!

Auch hier gilt wieder: Viel Flussmittel hilft viel! Sie sehen an diesem Bild gut, wie die Form der Pads an der Unterseite aussieht, aber Sie sehen auch, dass keine Bauteile rund um den Chip verschoben sind. So sollte ein gutes Ergebnis aussehen! Wenn Sie mit derartigen Datenrettungen beginnen, sollten Sie mit verschiedensten alten Platinen üben, bis Ihre Ergebnisse gut aussehen.

297

Es finden sich immer wieder auf Ebay sogenannte "Lots" von defekten Telefonen zum Reparieren oder Ausschlachten. Diese sind recht günstig zu haben und eignen sich hervorragend zum Üben. Selbst wenn die Userdaten gelöscht wurden, bleiben Systemdateien und einige Systempartitionen immer auf den Speicherchips und damit können Sie den Erfolg einer möglichen Datenrettung kontrollieren. Wir sehen bei diesem Telefon aber auch einen weiteren Stolperstein für TelefonReparaturen:

Hier sehen wir, dass in diesem Telefon zwei unterschiedlich lange Schrauben verbaut sind. Der Unterschied ist zwar nur 1mm aber das kann reichen, um ein Bauteil zu beschädigen! Bei Telefonen und vielen anderen elektronischen Geräten ist es unbedingt nötig, sich zu merken, welche Schraube an welcher Stelle gewesen ist. Drehen wir eine zu lange Schraube an die falsche Stelle, kann dies Bauteile kurzschließen oder eventuell sogar die Platine selber beschädigen und Leiterbahnen unterbrechen. Daher gibt es Löt-/Arbeitsmatten mit kleinen nummerierten Fächern, in die man einzelne Schrauben legen kann. Ich habe eine solche Arbeitsunterlage mit 8x14 solchen Vertiefungen an der Seite. Darin kann ich die einzelnen Schrauben nicht nur sicher ablegen und vor den wegrollen schützen, sondern auch grob das Muster legen, in dem die Schrauben in das Telefon gehören. So kann ich weder eine Schraube verlieren noch vergessen, an welcher Position diese waren! 298

Nachdem der Speicherchip entlötet wurde, müssen wir die Pads säubern. Dazu kann man eine feine Lötlitze und viel Flussmittel verwenden. Arbeiten Sie möglichst vorsichtig! Ein solches Pad ist schneller abgerissen, als Sie glauben. Üben Sie keinen Druck aus oder reiben Sie nicht mit der Entlötlitze über die Pads. Wenn die Temperatur stimmt und ausreichend Flussmittel verwendet wird, gleitet die Entlötlitze wie von allein über die Pads!

Es ist auch empfehlenswert, dass Sie ein kleines Stück der Entlötlitze abschneiden und nur mit dem abgeschnittenen Stück gearbeitet wird. Metall ist ein sehr guter Wärmeleiter und Sie wollen Wärme in die Pads und die Reste vom Lötzinn bekommen und nicht 3m Entlötlitze erhitzen! Ein kleines Stück von ca. 1 cm Länge erwärmt sich schnell und kann vorsichtig mit dem Lötkolben über die ganze Fläche geschoben werden... Nachdem der Chip gesäubert ist, kann dieser beschriftet und in den passenden Sockel eingesetzt werden. Ich verwende hierzu wieder einen Pica Classic 532, da dieser Lackstift nicht gepumpt werden muss und daher seine feine Spitze auch länger behält, aber trotzdem gut auf verschiedensten Materialien hält... Meist markiere ich auch an der Oberseite den Pin 1, da viele Chips diese Markierung nur an der Unterseite haben und ich den Chip nicht laufend umdrehen will, um nachzusehen. Es ist hierbei sehr wichtig, dass die Pads gut gesäubert wurden und es keine Reste von Lötzinn gibt, die hervorstehen. Bei unterfüllten Chips müssen oft die Ränder vorsichtig mit einem Skalpell gereinigt werden, damit der Chip sauber in den Sockel passt. Achten Sie unbedingt darauf, dass der Chip gerade aufliegt! Sind die Ränder auch nur leicht durch Harz-Reste verbreitert, sitzen die Chips nicht gerade im 299

Sockel und brechen, wenn der Deckel geschlossen wird und das bedeutet totalen Datenverlust! Derartige Sockel können einen Chip nur sauber lesen, wenn dieser flach aufliegt. Sollte auch nur ein Pad einen größeren Punkt aus Lötzinn haben, riskieren Sie im schlimmsten Fall, dass der Chip bricht und die Daten verloren gehen! Sollte ein Chip nicht erkannt werden, versuchen Sie den Chip zu entnehmen und neu hineinzusetzen. Oftmals nutze ich einen Blasebalg, um den Sockel von kleinen Staubkörnern zu befreien und den Chip kann man mit einem fusselfreien Tuch von Fettresten und/oder Schuppen befreien. Es reicht schon, wenn nur ein einziges falsches Pad keinen Kontakt hat, damit der Chip nicht gelesen werden kann. Den Sockel verbinden wir dann mit dem EasyJTAG. Dieses Tool wird mit drei unterschiedlichen Programmen geliefert: > EasyJTAG Plus EMMC, > EasyJTAG SPI Flasher und > EasyJTAG Tool Wir verwenden im Folgenden das Programm EasyJTAG Plus EMMC. Wenn Sie das MOORC Set mit dem SD-Karten Adapter verwenden, dann verbinden Sie das Socket mit dem SDKarten Adapter und den Adapter mit einem USB-Kartenleser. Der Chip wird dann wie eine SDSpeicherkarte am PC eingehängt und kann mit entsprechender Software ausgelesen werden. 300

In EasyJTAG wählen Sie 1.8V und 1MHz aus. Je langsamer Sie lesen, umso stabiler wird der Vorgang. Ich beginne immer mit der niedrigsten Volt-Zahl und der langsamsten Geschwindigkeit. Wenn ich eine ID vom Chip bekommen, kann ich versuchen, ob dies auch bei 42MHz (schnellste Einstellung) klappt. Wenn nicht, versuche ich die nächst langsamere Einstellung, usw. Bis die Kommunikation mit dem Chip wieder klappt. Durch das Testen auf der langsamsten Einstellung schließe ich Probleme mit instabilen Chips aus! Außerdem wähle ich bei Interface EasyJTAG2 / E-Socket und bei Bus-Weite 1 bit aus.

Nachdem Sie auf Check EMMC/UFS geklickt haben, sollten Sie folgende Meldungen sehen: eMMC_tool Suite ver. 1.6.3.0 (release date: 23.06.2020) Microsoft Windows 10 (64 bit) build 19041 (10.0.19041.662) Looking for EasyJTAG box... EasyJTAG API ver. 3401 EasyJTAG Box Serial = CD73030F70F33A45 Card Serial = AA18D36B EasyJTAG Box Firmware = 2.5301 Changelog: 23.06.2020 (ver 1.6.3.0) Fix: Bugs that have been found through your crash report Setting interface to EasyJtag2/E-Socket Setting bus width to 1 Bit 301

Setting frequence to 1 MHz EMMC Device Information : EMMC CID: 90014A2058494E594816A1D928CB4081 EMMC CSD: D02701320F5903FFFFFFFFE78A4040E3 EMMC Manufacture : SKHYNIX , EMMC NAME: XINYH , HEX: 0058494E5948 , S/N: A1D928CB , rev. 0x16 EMMC Manufacture ID: 0x90 , OEM ID: 0x4A , Device Type: BGA (Discrete embedded) , Date: 4/2013 EMMC ROM 1 (Main User Data) Capacity: 3696 MB (0000E7000000) EMMC ROM 2/3 (Boot Partition 1/2) Capacity: 2048 KB (000000200000) EMMC RPMB (Replay Protected Memory Block) Capacity: 2048 KB (000000200000) Counter: 0 , Response: Clean EMMC Permanent Write Protection: No EMMC Temporary Write Protection: No Extended CSD Information : Extended CSD rev: 1.5 (MMC 4.41) Boot configuration [PARTITION_CONFIG]: 0x38 , Boot from: ROM1 (Main User Area) Boot Bus Config: 0x00 , width 1bit H/W Reset Function [RST_N_FUNCTION]: 0x00, RST_n signal is temporarily disabled Supported partition features [PARTITIONING_SUPPORT]: 0x03 Device supports partitioning features Device can have enhanced technological features in partitions and user data area Partition Settings [PARTITION_SETTING_COMPLETED]: 0x00 Backup saved: XINYH_A1D928CB_20220126_125436.extcsd EMMC Init completed. Scanning soft partitions GPT header is not found MBR header is found. Analyzing data ... Partition: mmcblk0p0 [000000000200 - 000000005200], size: 000000005000 (20,0 KB) Partition: mmcblk0p1 [000000005200 - 000000043A00], size: 00000003E800 (250 KB) Partition: mmcblk0p2 [000000043A00 - 000003243A00], size: 000003200000 (50,0 MB) EBR detected at address: 000003243A00 302

Partition: Partition: Partition: Partition: Partition: Partition: Partition: Partition: Partition: Partition: Partition: Partition: Partition: Partition: Partition: Partition: Partition: Partition: Partition: MBR header

mmcblk0p3 [000004000000 - 000004200000], size: 000000200000 mmcblk0p4 [000004200000 - 000004500000], size: 000000300000 mmcblk0p5 [000004500000 - 000004800000], size: 000000300000 mmcblk0p6 [000004800000 - 000004B00000], size: 000000300000 mmcblk0p7 [000004B00000 - 000004D00000], size: 000000200000 mmcblk0p8 [000004D00000 - 000005100000], size: 000000400000 mmcblk0p9 [000005100000 - 000005200000], size: 000000100000 mmcblk0p10 [000005200000 - 0000052C0000], size: 0000000C0000 mmcblk0p11 [0000052C0000 - 000006002000], size: 000000D42000 mmcblk0p12 [000006002000 - 000006A02000], size: 000000A00000 mmcblk0p13 [000006A02000 - 000007402000], size: 000000A00000 mmcblk0p14 [000007402000 - 000008144000], size: 000000D42000 mmcblk0p15 [000008144000 - 000030B44000], size: 000028A00000 mmcblk0p16 [000030B44000 - 000038344000], size: 000007800000 mmcblk0p17 [000038344000 - 000038349000], size: 000000005000 mmcblk0p18 [000038349000 - 000087449000], size: 00004F100000 mmcblk0p19 [000087449000 - 0000E5049000], size: 00005DC00000 mmcblk0p20 [0000E5049000 - 0000E5349000], size: 000000300000 mmcblk0p21 [0000E5349000 - 0000E6FFFE00], size: 000001CB6E00 successfully parsed

Get firmware version GPT header is not found GPT header is not found Brand = Lenovo Manufacturer = LENOVO Device = audi Model = Lenovo A760 Phone platform = msm7627a CPU Abi = armeabi-v7a Android release = 4.1.2 Firmware version = audi-user 4.1.2 JZO54K A760_1_S_2_001_0133_130828 testkeys Firmware date = Wed Aug 28 12:03:27 CST 2013

Wir sehen, dass Informationen zum Telefon geladen wurden und auch zu den Partitionen. Damit könnten wir direkt auf die Daten zugreifen: 303

Über den Explorer-Tab können wir direkt auf die Daten zugreifen und diese exportieren. Wenn der Kunde also wie hier nur den DCIM-Ordner mit den Fotos und die Kontaktliste braucht, können wir diese direkt vom Chip lesen:

Für gängige Dinge wie die contacts2.db (Kontakte) bietet EasyJTAG einen dezidierten Button, um an die passende Stelle im Dateisystem zu springen. Außerdem haben wir die Chance, bei älteren Telefonen zB das Sperrmuster zu entschlüsseln. Auch das kommt ab und zu nochmals vor - Kunden finden ein altes Telefon und wollen an die Daten, haben aber das Entsperrmuster vergessen. In solchen Fällen würde ich nicht den Speicherchip entfernen, sondern über den JTAG-Port bzw. die JTAG-Pins auf die Telefonplatine zugreifen. Bei Bedarf finden Sie dazu entsprechende Anleitungen im Internet! 304

Danach können wir eine oder mehrere Dateien markieren, mit Rechts anklicken und über den Punkt Export... die Dateien auf den Rechner speichern.

Mit dem Read eMMC Button können wir den gesamten Speicherchip klonen. Dazu sollten wir unter Rom to access den Punkt 000000000 - xxxxxxxx (ROM1) auswählen, um den gesamten Chip zu klonen. Hierbei steht xxxxxxxx für das jeweilige Ende des Chips in hexadezimaler Schreibweise. Wir könnten bei Bedarf auch nur bestimmte Partitionen oder Speicherbereiche klonen. Hierbei wäre es ratsam, die Daten mit mehr als 1 MHz zu klonen, denn mit der langsamsten Einstellung würde der 4 GB Chip ca. 13 - 14 Stunden benötigen. Das Image können wir dann in Tools wie r-Studio oder UFS Explorer öffnen:

305

... und die gesuchten Daten extrahieren:

Dabei können wir eventuell sogar gelöschte Dateien wiederherstellen. 306

Speicherkarten & USB-Sticks Chip-Off Datenrettungen sind bei diesen Speichermedien nicht wirklich einfach. Einerseits benötigen wir dazu wieder spezialisierte Hardware wie zB: > PC-3000 Flash (https://www.acelaboratory.com/pc3000flash.php) > Rusolut VNR (https://rusolut.com/) > Flash Extractor (http://flash-extractor.com/) Andererseits sind die Daten, die wir damit von den Speicherchips lesen, nicht direkt benutzbar. Wir müssen die Arbeit des Controllers erst in einem Programm nachbilden. Chip-Off sollte also nicht die erste Option, die wir wählen sein, sondern die Letzte! Darum will ich ihnen auch zwei Möglichkeiten vorstellen diese Speichermedien mit einem MRT zu bearbeiten: 1) DeLock 91673 - SD zu SATA adapter Dieser einfache Adapter kostet ca. 35 EUR und erlaubt es, eine SD-Karte wie eine Festplatte mit dem MRT zu klonen. Dies hilft bei einigen SD-Karten mit instabilem Controller und der DeLock Adapter ist der stabilste Adapter, den ich bei meinen Tests gefunden habe. Leider ist diese Lösung nur für SD- und entsprechend adaptierte Mini und Micro SD-Karten hilfreich, aber nicht für USB-Sticks. Das bringt uns zum nächsten Produkt: 2) Deepspar USB Stabilizer (https://www.deepspar.com/USB Stabilizer.html) Damit können wir alle USB-Geräte an den PC anschließen und dann mit MRT klonen. Dies funktioniert für USB-Sticks genau so gut wie für USB-Festplatten oder SD-Karten an einem USB Kartenleser. Der USB Stabilizer tritt dem PC gegenüber selbst als Speichergerät auf und unterhält intern eine zweite Verbindung zum eigentlichen Speichergerät.

307

Sollte das Speichermedium instabil werden, kann der USB Stabilizer das Gerät neu starten, ohne das der PC dies mitbekommt. So wird dem PC eine stabile Verbindung vorgegaukelt, damit diese das instabile Gerät nicht auswirft. Außerdem können wir über das mitgelieferte Programm Timeouts und ein paar weitere Dinge steuern. Das macht den USB Stabilizer deutlich flexibler und zu einer sehr guten Ergänzung für ein Tool wie PC-3000, MRT oder DFL SRP. Man kann derartige Speichermedien auch gut an einem DFL URE klonen. Wenn alle diese Tools nicht helfen und auch eine Reparatur der Platine nicht möglich ist, können wir ein Chip-Off durchführen. Beim Entlöten gilt das Gleiche, was ich bereits bei dem Telefon gesagt hatte. Um zu verstehen, wie die zuvor genannten Tools arbeiten, müssen wir uns ansehen, wie Flash-Speicher arbeiten. Flash-Speicher wurde 1984 von Dr. Fujio Masuoka für Toshiba entwickelt und es gibt zwei Speichertechnologien, die darunter fallen: > NAND > NOR NAND Speicher erlauben es, mehr Speicherzellen auf dem gleichen Raum unterzubringen. Das macht diese Speichertechnologie günstiger als NOR und darum wird in den meisten Speichergeräten nur NAND Speicher verbaut. Außerdem können NAND Speicherzellen bis zu 10x öfter beschrieben werden als NOR Speicherzellen. NOR Speicher bieten im Gegensatz zu NAND Speicher einen externen Adressbus für Random-Access Zugriffe und daher findet man sie hauptsächlich in ROMSpeicherchips, da viele Mikrocontroller darauf angewiesen sind, auf einzelne Bytes zuzugreifen, und Daten nicht blockweise lesen wie es bei NAND-Speichern nötig wäre.

308

Generell verläuft eine Chip-Off Datenrettung nach folgendem Schema: 1. Vorbereiten für den Dump (entlöten, säubern, ...) 2. Erstellen eines physischen Images (Dump) 3. Erstellen eines virtuellen Images 4. Zusammenfügen eines logischen Images 5. Datenrettung von einem logischen Image Punkte 1 und 5 haben wir bereits zuvor behandelt und ich werde mich im Folgenden primär auf die Schritte 2 bis 4 konzentrieren. Zurvor hatten wir es mit einem eMMC Speicher zu tun. Das ist quasi eine Einheit aus Controller und NAND-Speicher. Daher konnten wir diese wie eine SD-Karte einfach lesen. Sehen wir uns einige gängige Geräte an:

309

Hier sehen wir ganz links eine monolithische Micro SD-Karte, bei der die Schutzlackierung mit einem Glasfaser-Stift entfernt wurde. Dann sehen wir eine Miniund eine normal große SD-Karte, bei der Controller und Speicherchip separate Chips auf der Platine sind (nicht monolithisch). Rechts sehen wir einen monolithischen und einen nicht monolithischen USBStick. Monolithische Speichermedien erlauben keine Reparatur, an der Platine wird aber der Schutzlack entfernt, wie zB bei dem monolithischen USB-Stick, dann kommen weitere Kontakte und Leiterbahnen zum Vorschein. An diese Kontakte kann nun ein sehr dünner Draht gelötet werden, um diese dann mit entsprechender Datenrettungs-Hardware zu verbinden. So können wir auf den Speicherchip selbst zugreifen und Daten ohne den Controller auslesen. Natürlich ist dies auch bei eMMC (Embedded Multi Media Card) Chips möglich, falls der Controller defekt sein sollte! Lesen wir die Daten direkt vom Chip (Dump), dann haben wir neben den Userdaten alle möglichen Dinge wie ECC-Daten, Bad-Block Marker, etc. im Dump genau wie die Firmware des Gerätes. Diese liegt wie auf einer Festplatte auch in einem speziellen Speicherbereich. Lesen wir die Daten direkt vom Chip selbst, wäre es, als würde man Daten direkt von den Magnetscheiben der HDD lesen... Wir haben bis jetzt auch die zwei gängigen Chip-Typen kennengelernt. TSOP (Thin Small Outline Package) sind die Chips mit den vielen Beinchen wie oben bei den zwei Speicherkarten und den USB-Stick. Ein Beispiel für einen BGA-Chip hatten wir bereits beim Android Chip-Off gesehen. Eigentlich gibt es noch TLGA-Chips, diese Unterscheidung ist für unsere Zwecke nicht wirklich wichtig, denn TLGA-Chips haben wie BGA-Chips Pads an der Unterseite. Der Pitch bzw. Abstand zwischen den Pads ist heutzutage nur noch 0,4 oder sogar 0,3mm. Dies macht das Platzieren und wieder anlöten dieser Chips zu einer feinmotorischen Herausforderung...

310

Bei manchen Geräten findet man auch abgedichtete Chips. Diese wurden mit einer Art von Harz zusätzlich abgedichtet und sind eine ziemliche Herausforderung beim Löten da man das Harz erwärmen und abkratzen muss bevor man den Chip auslöten kann. Auch wenn die zuvor genannten Tools für Datenrettungen sicherlich der beste Weg sind, Daten wiederherzustellen, sind diese nicht unbedingt für das Erstellen eines Dumps erforderlich. Jeder Chip-Programmer der die entsprechenden Speicherchips unterstützt, kann dazu verwendet werden. Das Problem hierbei ist jedoch, dass man dann die Schritte 3 und 4 irgendwie selbst lösen müsste. Da PC-3000 Flash und die anderen Tools genau dafür geschaffen wurden! Wird ein Chip gelesen, gibt es intern ein gewisses "Grundrauschen", das ab einem bestimmten Level zu Bitfehlern führen kann. Diese Bitfehler müssen dann anhand der ECC-Daten korrigiert werden. Was der Flash-Controller im Gerät selbst erledigt, ist bei einer Chip-Off Datenrettung der erste Schritt, den wir in der Software ausführen müssen. Hierbei kann das Lesen des Dumps mit einer etwas niedrigeren Spannung das Grundrauschen und die Anzahl der Bitfehler verringern. Diese Bitfehler können aber auch durch den langsamen Verfall der Isolierungen zwischen den Speicherzellen oder durch das langsame Verlieren der Ladung entstehen. Dies kann man sich wie bei einem Telefon vorstellen, dass man vollständig geladen und abgeschaltet ablegt. Wenn man das Telefon nach Wochen oder gar Monaten anschaltet, wird der Akku nicht mehr voll sein. Elektrische Ladungen streben nach einer neutralen Verteilung. Ein geladener Akku oder eine volle Speicherzelle ist das genaue Gegenteil davon und über eine gewisse Zeit schaffen es kleinste Ladungen immer wieder auszubrechen und so nähert sich ein Akku langsam einem ausgeglichenen Zustand ohne jegliche Ladung. Wenn wir uns an das erste Kapitel mit den Speichertechnologien zurückerinnern, entspricht bei TLC und QLC-Speichern schon ein kleiner Ladungsverlust einem Bitfehler!

311

Außerdem arbeiten moderne Speichermedien mit einer Temperatur/Volt Tabelle, die für die jeweilige Betriebstemperatur der Geräte eine optimale Spannung zum Lesen der Daten vorgibt. Auch diese Werte haben wir in diesen Fall nicht und daher muss sich ein entsprechendes Tool daran herantasten. Außerdem ist dies einer der Fälle, bei denen es hilfreich sein kann, den Datenträger bzw. den Chip in dem Fall etwas zu erwärmen oder abzukühlen. Wenn wir mit den entsprechenden Tools mehrere erneute Leseversuche, gefolgt von Bitfehler-Analysen und dem Korrigieren der Bitfehler anhand der ECC-Bytes im Dump ausführen, kann es durchaus vorkommen, dass ein nur wenige GB großer USB-Stick mehr Zeit in Anspruch nimmt als eine mehrere TB große HDD. Lesen, erneutes Lesen und ECC-Korrekturen machen oft 90 - 95% der benötigten Zeit einer Datenrettung aus! Hierbei ist PC-3000 Flash die beste Wahl für Anfänger, da durch ACE Labs Datenbank mit erprobten Lösungen für viele Fälle schon ein Lösungsansatz vorhanden ist. Allerdings ist für die auszuführenden Analysen und Berechnungen ein schneller Computer (mindestens 4C/8T, besser 6C/12T oder noch mehr) mit ausreichend RAM (mindestens 16 GB, besser 32 GB) von Nöten, da sonst einige Vorgänge sehr lange dauern können! Ich habe schon Speicherchips gesehen, die 4, 5 oder gar 6 Tage benötigten, bis die erneuten Leseversuche und ECC-Korrekturen ein brauchbares Ergebnis lieferten. NAND-Speicher haben genau wie Festplatten schon bei der Produktion bestimmte Defekte. Diese sind aufgrund der Art und Weise, wie NAND-Speicher intern konstruiert ist, in Form von Spalten in den Daten vorhanden - man spricht von "Bad Columns". Wear-Leveling sorgt dafür, dass die Daten sehr stark fragmentiert und wild durcheinander gemixt sind. Das Extrahieren der Sektoren der User-Area, das Anwenden von ECC-Korrekturen und das ausschließen von Reservespeicher bringt uns mit einigen weiteren Schritten von einem physischen zu einem virtuellen Image. 312

Ein Problem stellt hierbei FDE (Full Device Encryption) dar. Derzeit gibt es noch wenige Controller und Geräte, die dies bei Flash-Speichern einsetzen, aber das Problem wird in Zukunft immer schlagender werden... Neben der Hardware-Verschlüsselung (FDE) gibt es noch die einfachere XORVerschlüsselung, die von der Firmware ausgeführt werden kann. Diese ist derzeit verbreiteter, da hierfür die verwendete Hardware deutlich weniger Rechenleistung braucht. Hierbei kann man den Key aber mit entsprechendem Aufwand aus den Daten extrahieren. Da viele Userdaten stellen enthalten, die mit 0x00 gefüllt sind und ein XORen von 0x00 mit einem Schlüssel-Byte wiederum das Schlüssel-Byte liefert, kann man Schlüssel recht einfach finden da die einzelnen Schlüssel-Bytes recht oft im Dump vorkommen. Danach gilt es nur noch die entsprechende Reihenfolge der Schlüssel Bytes zu finden. Das "Scrambling" der Daten mit XOR ist auch dazu gut, die Ladungen auf die einzelnen Speicherzellen besser zu verteilen. Da Userdaten, die in der Regel bestimmte Muster enthalten, die Speicherzellen innerhalb der Pages und Blöcke ungleichmäßig abnutzen würden. Denken Sie zB an Quantisations-Tabellen und einen Teil der EXIF-Daten in JPEG-Dateien auf SD-Karten. Wenn wir dann Dinge wie das Wearleveling rückgängig machen, ausgemappte, defekte Speicherbereiche ausschließen und damit die Userdaten in die richtige Reihenfolge bringen, haben wir ein logisches Image. Haben wir es mit mehreren Speicherchips zu tun, dann müssen wir diese ähnlich wie bei einem RAID 0 auch noch zusammenführen, da die Userdaten über alle Speicherchips gestreut sind. Wie Sie sehen, ist dieser Vorgang nicht nur relativ komplex, er erfordert auch noch genaue Kenntnisse der Arbeitsweise von Firmware und Controller! Ich habe versucht, das Ganze stark vereinfacht zu Illustrieren:

313

NTFS / HFS / EXT ...

WEAR-LEVELING

NAND

LBA 0

BLOCK 0

E

LBA 1

BLOCK 1

E E

LBA 2 LBA 3

BLOCK 3

E

LBA 4

BLOCK 4

E

LBA 5

BLOCK 5

E

LBA N

BLOCK 6

E

BLOCK 2

E

RES.BL. 1 E RES.BL. 2 E RES.BL. 3 E RES.BL. N E TBL FOR REASSIGNED BL. Dieses stark vereinfachte Schema zeigt gut, welche Schritte wir vom NANDSpeicher aus gesehen rückgängig machen müssen, um wieder auf das gesuchte Dateisystem zu kommen. Dabei steht das E am Ende der Blöcke für ECC-Daten und ist quasi stellvertretend für alle zusätzlichen Daten abgesehen von den eigentlichen Userdaten in den Blöcken. Man sieht auch gut, dass der eigentliche NAND-Speicher Reserve-Speicher (RES. BL 1-N) und weitere Daten zum eigentlichen Betrieb, hier durch die Tabelle der neu zugewiesenen Blöcke angedeutet, enthält. 314

Dabei müssen wir auch noch bedenken, dass eine Art der Verschlüsselung bzw. Randomisierung der Daten (meist XOR) verwendet wird, um Muster, wie sie in Userdaten üblich sind, zu vermeiden. Nehmen wir zB ein bekanntes Dateiformat wie SQLite, das in vielen Mobiltelefon Apps genutzt wird, um Daten zu speichern. Beispielsweise die Anrufliste oder Datenbanken von Whatsapp und anderen Messengern müssen diese Datenbanken dutzende Male pro Tag neu geschrieben werden. Füllzeichen wie zB 0x00, die genutzt werden, um Blöcke innerhalb der Datei bis zu einer bestimmten Länge aufzufüllen, wenn diese nicht vollständig mit Daten gefüllt sind, unterminieren das ganze Wearleveling. Das Wearleveling würde neue Versionen der Datei in andere Blöcke schreiben, um ungleichmäßiges Abnutzen der Blöcke zu verhindern, aber die Muster innerhalb der Datei selber würden für ungleichmäßige Abnutzung der Speicherzellen innerhalb der Blöcke sorgen. So wäre das Wear-Leveling deutlich weniger effektiv und darum ist ein Scrambling oder eine Verschlüsselung der Daten für Flash-Speicher so wichtig, da dadurch ein viel zufälligeres Muster entsteht. Für die einzelnen Tools gilt aber auch hier das Gleiche, wie ich schon bei der Firmware gesagt habe. Die Arbeitsweise mit dem jeweiligen Tool sollten Sie durch entsprechende Schulungen der Hersteller und darüber hinaus durch die entsprechenden Support-Foren und durch den technischen Support bei schwierigen Fällen über die Zeit erlernen. Für den Anfang kann man sich auch einen Partner suchen, an den man alle Flash-Datenrettungen vergibt. Speicherkarten und USB-Stick machen nur einen kleinen Teil der Datenrettungen aus und auch wenn das entsprechende Equipment nicht so teuer ist wie für Festplatten und SSDs, ist die Lernkurve doch nicht zu verachten. Meine Empfehlung wäre es, im ersten Schritt HDDs und SSDs wirklich zu lernen und sich erst auf Flash-Speicher zu fokussieren, wenn man Festplatten und SSDs gut im Griff hat.

315

REINRAUM DATENRETTUNG Reinraum-Datenrettungen können mit Abstand der profitabelste Bereich in der Datenrettung sein. Entsprechende Ausstattung kann man für deutlich weniger als ein FirmwareTool erstehen und die Lernkurve ist mit Abstand nicht so steil. Allerdings muss man entsprechende feinmotorische Fähigkeiten besitzen und die entsprechende Geduld für derartige Arbeiten mitbringen! Außerdem ist der Anteil der Rainraum-Datenrettungen höher als der Anteil der Firmware-Schäden. Dennoch würde ich Ihnen abraten, ein reines Imaging-Tool wie einen DDI zu kaufen. Selbst wenn Sie die Funktionen nicht nutzen oder nur dazu nutzen, Hintergrundprozesse zu unterbinden, würde ich dennoch zu einem PC-3000, MRT oder DFL SRP / PCIe 4x raten!

316

Ausstattung für den Reinraum Im Folgenden will ich die wichtigsten Geräte und Tools für Reinraum-Datenrettungen besprechen und Ihnen eine kleine Orientierung geben, wo Sie bestimmte Dinge kaufen können und welche Tools empfehlenswert sind. Der "Reinraum" Auch wenn die meisten Labore (wir sind hier auch keine Ausnahme) mit ehrfurchtgebietenden Bildern von völlig vermummten Gestalten in sterilen und hoch technisch wirkenden Reinräumen werben, sieht die Realität ganz anders aus. Für die meisten Labore zahlt es sich nicht aus, einen kompletten Reinraum einzurichten. Nicht der ganze Techniker muss in einen Reinraum, sondern nur die Spenderund Patientenplatte. Die meisten Datenretter arbeiten darum mit einer sogenannten Laminar-Flow Box die einen konstanten Luftstrom durch einen HepaFilter drückt und so einen permanenten Strom von gefilterter und partikelfreier Luft über die Festplatten drückt. Der andauernde Luftstrom verhindert auch, dass Staub von außen in das Innere der Reinraumwerkbank gelangt. Der Datenretter selber trägt meist nur Latexbzw. Nitril-Handschuhe um keine fettigen Fingerabdrücke zu hinterlassen und auch um keine Hautschuppen in die Festplatte hineinzutragen. Ein Mundschutz verhindert, dass man versehentlich beim Sprechen in die geöffnete Platte spuckt. Reinraum-Boxen kosten neu zwischen 1.200 und 6.000 Euro je nach Größe und Marke. Teurere und noch größere Modelle machen aus meiner Sicht keinen Sinn. Wir nutzen im Labor eine Alpina K700 (https://e-alpina.eu/laminar-verticalairflow-cabinet/) und eine chinesische TBK-705 wobei die TBK-705 nur gelegentlich dazu verwendet wird, eine HDD offen zu betreiben. Die TBK-705 ist keine Reinraumwerkbank im eigentlichen Sinne, sondern dazu gemacht, um Telefon-Displays staubfrei zu laminieren. Sie ist für einen Headswap zu klein, da man keine HDD-Werkbank darin unterbringen könnte.

317

Dafür ist die TBK-705 faltbar und so klein, dass Sie leicht neben dem PC mit dem MRT platz findet. Sollte Ihnen das Geld für eine richtige Reinraumwerkbank anfangs fehlen, lässt sich zur Not auch mit der TBK arbeiten. Ich habe die Leistung mit einem SEKSPS30 von Sensirion gemessen und der Luftstrom ist sauber genug. Wobei ich Ihnen in dem Fall empfehlen würde, das Geld, das Sie mit den Ersten zwei oder drei Headswaps verdienen, in eine größere Reinraumwerkbank zu stecken... Headcombs & diverses Zubehör Sogenannte Headcombs sind Abstandhalter, um Schreib-/Leseköpfe ausbauen zu können, ohne das diese zusammenstoßen. Außerdem braucht man diese auch für den Einbau, um den Kopf wieder auf die Parkposition zu bringen. Die besten Tools baut HDD Surgery (https://hddsurgery.com/), allerdings sind deren Sets nicht gerade günstig! Für eine Vollausstattung zahlt man beinahe eine fünfstellige Summe und das auch nur, wenn man alles als Set auf einmal kauft und einen entsprechenden Rabatt bekommt. Auf der anderen Seite bietet APEX (https://apextoollab.com/) ein Komplettste aus E-Type, Ramp- und C-Type Tools sowie Werkbank, MagnetscheibenExtraktor und -Halter für gut 2000 Euro an. Diese Tools sind gut, nicht die Qualität, die HDD Surgery bietet, aber man kann problemlos damit arbeiten! Daher wäre APEX meine klare Empfehlung, für Leute die Anfangen wollen. Man kann später für die wichtigsten Modelle, die man sehr oft braucht, einzelne Sets auf HDD Surgery upgraden, wenn man möchte... Wir arbeiten derzeit an einem Opensource-Toolset das viele Ramp-Tools abdeckt und auch Tools für einige exotischere Platten beinhaltet. Wenn Sie also Ihre Tools selbst CNC-Fräsen oder 3D Drucken wollen, sehen Sie sich folgende Webseite an: https://opensource-data-recovery-tools.com/hardware.php?t=head_comb_ universal_ramp

Die folgenden drei Bilder zeigen unsere eigenen Tools und demonstrieren den Sinn von Headcombs recht gut:

318

Ein Headcomb wird zwischen die Köpfe geschoben, um den Anstand beim Einund Ausbau zu halten.

Mit dem Headcomb kann der Kopf dann von der orangen Rampe geschoben werden, ohne das die federnd gelagerten Köpfe zusammenschlagen.

319

Hier sieht man am Ende der Arme nochmals die schwarzen Slider, auf denen sich die Köpfe befinden. Im Grunde ist ein solcher Headcomb ein sehr einfaches Werkzeug! Köpfe können außerhalb der Magnetscheiben auf einer Rampe (so wie in diesem Fall) geparkt werden oder ganz innen bei der Spindel. Im letzteren Fall brauchen wir ein sogenanntes E-Type Tool, das über die Magnetscheiben geschoben wird und die Köpfe ganz leicht anhebt, um sie über die Magnetscheiben ziehen zu können. Diese Tools kann man auch gut verwenden, um steckende Köpfe von den Magnetscheiben abzuheben. Beides werden wir später noch im Detail besprechen. Weiteres Zubehör wie Magnetscheiben-Halter und Magnetscheiben-Extraktoren erlauben es, die eigentlichen Datenspeicher zB für eine Reinigung zu entnehmen und diese sicher abzulegen. Wir werden diese Dinge noch im weiteren Verlauf des Kapitels genauer kennenlernen und damit arbeiten.

320

Weitere Werkzeuge uns nützliche Tools Neben den speziellen Reinraum-Tools benötigen wir einige weiter Werkzeuge: > Schraubenzieher-Set mit Kreuz und Torx-Schraubenziehern (T5 - T8) > Verschiedene Pinzetten (Spitz, Spitz und gebogen und eine gröbere Pinzette), um Schrauben zu entnehmen oder auch das Head-Stack-Assembly (HSA) zu entnehmen und sicher zu greifen. > Spitzzange mit glatter Innenfläche oder magnetischer Heben für die Neodymmagnete. > Arbeitsunterlage oder eine andere Sortiermöglichkeit für die verschiedensten Schrauben. > Skalpell zum Freischneiden der Schrauben unter den Labels. > Ein Öffnungstool aus Metall wie zB das BT-135 / BT-136 / BT-137 um USBGehäuse auf- und den Deckel von den Platten abzuhebeln. Meine Lieblingspinzette ist die Proskit 1PK-104T. Damit greife ich in die kleinsten Öffnungen im Schwenkarm und habe dennoch einen sehr sicheren Griff dank der aufgerauten Innenseite. Gleiches gilt für Schrauben! Wir haben in unserer Reinraumwerkbank neben der HDD-Werkbank (https://apextoollab.com/work-bench/work_bench.html) eine kleine Silikonunterlage zum Löten, um darin die Schrauben von den Festplatten, an denen ich arbeite, sicher abzulegen und nach ihrem Ursprung (Deckel, HSA, HSA-Stecker, ...) zu sortieren. Wie bei einem Telefon gilt auch hier - wir wollen die Schrauben wieder genau da einsetzen, wo Sie zuvor waren! Außerdem verhindert die Silikonunterlage das wegrollen von Schraubenziehern.

321

Zusätzliches Reinraum-Zubehör Hierunter fallen weitere Dinge wie: > Handschuhe - wir schwören auf Ansell TouchNTuff 92-600 (puderfrei, antistatisch). Wenn Sie texturierte Fingerkuppen für einen noch sichereren Griff wollen, dann greifen Sie zu TouchNTuff 93-250. > Fusselfreie Tücher und Wischer (Swabs) zum Reinigen von Magnetscheiben. > Treibmittelfreier Druckluft-Spray oder ein "Rocket Blower" zum Wegblasen von Schmutz auf den Magnetscheiben. > Mundschutz. > Flüssigkeiten zum Reinigen - zB IPA (Isopropylalcohol) mit 70% oder mehr. Alternativ dazu Novek™ 7100 / 71IPA von M3. Vor allem bei den Druckluft-Sprays müssen Sie sehr vorsichtig bei der Auswahl sein und die Produkte vor dem realen Einsatz testen, ob diese wirklich keinen Treibmittel-Film auf den Magnetscheiben hinterlassen. Ich verwende meist einen Rocket-Blower vor und nach einer Operation und greife nur zum Spray, wenn ich wirklich starke Verschmutzungen beseitigen muss. Viele Labore nutzen einen Ultraschall-Reiniger zum Beseitigen von Verschmutzungen, aber wir hatten bis jetzt noch keine so extremen Verschmutzungen, das wir ein solches Gerät anschaffen mussten. Die üblichen Spuren von DIY-Versuchen (Fingerabdrücke, Schuppen oder Wimpern) lassen sich mit einfachen Wischstäbchen entfernen. Selbst Wasserflecken, von Festplatten die in der Badewanne oder dem Fischteich landeten, sind gut auf die später gezeigte Weise zu beseitigen.

322

Die richtige Spenderplatte finden Im Grunde könnte man einen Headswap auch ganz ohne Reinraum oder Reinraumbox durchführen und als ich angefangen habe zu üben, habe ich auch einige Festplatten in meinem Büro ohne zusätzliche Staubfilterung zerlegt und wieder zusammengebaut. Meist reicht die Rotation der Platten aus, um Staubpartikel von den Magnetscheiben zu schleudern. Eine Reinraumumgebung ist im professionellen Umfeld wichtig, um das Risiko eines Ausfalls nochmals zu senken. Worauf ich hinaus will, ist, dass ein großer Teil der DIY-Headswaps im Bastelkeller von Onkel Willi nicht an der fehlenden Staubfreiheit scheitern, sondern an der falschen Spenderplatte. Nur weil ein Bauteil physisch in eine Festplatte passt, heißt das noch lange nicht, dass es darin auch funktioniert! Nur weil eine Niere von einem Menschen stammt, heißt das nicht, dass ich diese in einen beliebigen anderen Menschen transplantieren kann, auch wenn sie rein von der Form her passen würde... Bei Festplatten ist es ähnlich - es müssen mehr Faktoren als nur das Modell übereinstimmen, damit ein Kopf auch richtig arbeitet. Daher wollen wir in diesem Kapitel darüber sprechen, welche Kriterien erfüllt sein müssen und was diese Kriterien eigentlich bedeuten. Die Firma Donordrives in den USA hat diesbezüglich eine hervorragende Übersicht der Kriterien erstellt. Sie finden deren "Donor Matching Guide" unter: https://www.donordrives.com/blog/matching-guide

Die einzelnen Parameter sind in dem Guide nach der Wichtigkeit geordnet. Es gibt bestimmte Ansätze, die es erlauben, eine Spenderplatte auf eine andere Art auszuwählen. Diese erfordern aber eventuell genauere Untersuchungen oder sogar Modifikationen an Firmware, etc. oder gar einen anderen Prozess, bei dem zB der PCB und der Kopf zusammen getauscht werden. Als Anfänger sollten Sie sich erst mal an bekannten und erprobten Wegen versuchen. Dann wissen Sie im Fehlerfall mit einer sehr großen Sicherheit, ob es an 323

einem Fehler Ihrerseits bei der Ausführung des Vorgangs lag und Sie müssen nicht herumraten, ob Ihre Arbeit oder die Inkompatibilität der Grund dafür sind, das ein Kopf nicht ließt. Modell- und Part-Nummer Der offensichtlichste Faktor, der übereinstimmen muss, ist die Modellnummer. Je nach Hersteller muss dabei die gesamte Modellnummer oder nur ein bestimmter Teil davon stimmen. Bei manchen Herstellern sollte die Part-Nummer ebenfalls übereinstimmen, da darüber eventuell im Laufe der Serie vorgenommene kleine Änderungen vermerkt werden. Land und Datum Das Land und Herstellungsdatum ist meines Erachtens nach vernachlässigbar, wenn die anderen Kriterien stimmen. Ich habe schon einige Headswaps erfolgreich durchgeführt, bei denen das Herstellungsdatum 2 oder 3x so weit auseinanderlag wie von Donordrives empfohlen. Das Gleiche gilt auch für das Herstellungsland. Vor allem wenn Sie entsprechend passende Lagerplatten haben, würde ich den Headswap probieren, bevor ich teure Ersatzteilspender nur wegen dem Datum oder Land zukaufe. Wenn ich die Wahl habe, mich an die Kriterien zu halten oder nicht, dann werde ich dem Matching Guide sicherlich folgen. Oftmals konnte ich aber auch Festplatten auf eBay finden, die von Privatpersonen für wenige Euro verkauft wurden und wenn dann Land oder Datum nicht perfekt passen, werde ich es auf jeden Fall mit dieser HDD zuerst versuchen und in fast allen Fällen hatte ich kein Problem damit! Seriennummer Bei Seagate-Platten muss ein Teil der Seriennummer übereinstimmen.

324

Bei WD Platten sind folgende zwei Kriterien ebenfalls wichtig: DCM Die Werte TJ, VJ, T2 und V2 innerhalb der DCM-Nummer müssen übereinstimmen. Aber auch hier gibt es Ausnahmen und ich kenne Kollegen, die auf Basis Ihrer Erfahrungswerte bei manchen Familien zB TJ und T2 ebenfalls matchen. Wenn Sie eine Kundenplatte haben, von der Sie die Daten bereits gerettet haben, können Sie gern derartige Experimente mit Ihren Lagerplatten versuchen und sich selbst solche Erfahrungswerte erarbeiten. Micro-Jog Wenn wir uns den Schreib-/Lesekopf ansehen, dann besteht dieser aus zwei Teilen. Dem Schreibkopf, mit dem die Magnetisierung der Magnetbeschichtung geändert wird, und dem Lesekopf:

WRITE

READ

Der Abstand zwischen Schreib- und Lesekopf wird als Micro-Jog bezeichnet und ist sehr wichtig bei der Auswahl eines passenden Tauschkopfes, da dieser Abstand als Wert in der Firmware hinterlegt ist und dazu verwendet wird, um die Köpfe optimal auszurichten. Da die Spuren rund und die Köpfe versetzt sind, ist der Schreibkopf leicht seitlich versetzt.

325

Da diese Teile mikroskopisch klein sind, ist eine gewisse Schwankung in den Abständen fertigungsbedingt vorhanden. Ist der tatsächliche Abstand deutlich größer als der Micro-Jog in der Firmware, der als Korrekturwert zum Ausgleichen dieses Versatzes benutzt wird, dann funktioniert der Ausgleich nicht mehr sauber und es kann zu Problemen kommen. Im Idealfall sollte die Abweichung bei den Micro-Jogs zwischen Spender und Empfänger nicht mehr als 200 - 300 sein. Preamp / Preamp Type Der Preamplifier (Vorverstärker) oder kurz Preamp ist ein Chip, der auf dem Flexkabel des HSA montiert ist:

In diesem Bild sehen wir die zwei gängigen Formen der Vorverstärker. Die elektrischen Signale, die der Kopf generiert, sind derart schwach, dass es nötig ist, diese schon innerhalb des Gehäuses zu verstärken, da sonst die Leitung bis zum PCB zu lang wäre und das Signal leiden würde.

326

Zur Erinnerung: Den Preamp-Wert können wir über das Terminal auslesen. Drücken Sie dazu beim F3 T> Propt einfach Strg + L: F3 T> Wyatt TetonST4 Mule 01 Teton4.2 DDR160M 240M 248SS ZG Product FamilyId: 3C, MemberId: 01 HDA SN: 5VEKNY71, RPM: 5449, Wedges: F8, Heads: 4, Lbas: 3A386030, PreampType: 5A 34 PCBA SN: 0000N205AVF5, Controller: TETONST_4(63A2)(3-0E-4-2), Channel: AGERE_COPPERHEAD_LITE, PowerAsic: MCKINLEY MOBILE PLUS Rev 15, BufferBytes: 800000 Package Version: WY05A7.SDM1.DA113D.0001SDM1, Package P/N: ---------, Package Builder ID: 84, Package Build Date: 04/18/2011, Package Build Time: 12:14:13, Package CFW Version: WY05.SDM1.00349731.8400, Package SFW1 Version: 7AEE, Package SFW2 Version: ----, Package SFW3 Version: ----, Package SFW4 Version: ---Controller FW Rev: 01130001, CustomerRel: 0001, Changelist: 00349731, ProdType: WY05.SDM1, Date: 04/18/2011, Time: 121413, UserId: 00080603 Servo FW Rev: 7DED RAP FW Implementation Key: 0E, Format Rev: 3D03, Contents Rev: 26 1E 04 05 Features: - Quadradic Equation AFH enabled - VBAR with adjustable zone boundaries enabled - Volume Based Sparing enabled - IOEDC enabled - IOECC enabled - DERP Read Retries enabled - LTTC-UDR2 disabled

Daher ist es bei Seagate ratsam, Ersatzteile von entsprechenden Händlern zu kaufen, die einen Preamp-Type angeben. Auch wenn diese teurer sind, kann man sicher sein, dass man den richtigen Kopf bekommt. Bei privaten Käufern kann man Glück haben und ein Schnäppchen machen oder man kauft einfach nur eine alte Platte, die man im Moment nicht brauchen kann, und hofft, diese in der Zukunft als Ersatzteilspender für einen anderen Fall zu brauchen... 327

Head unstick Wenn eine Festplatte ordnungsgemäß abgeschaltet wird, sollte sich der Kopf auf die Parkposition begeben. Diese ist entweder auf einer Plastik-Rampe außerhalb der Magnetscheiben oder so wie hier ganz innen bei der Spindel. In einigen Fällen schafft es der Kopf nicht, die Parkposition zu erreichen und er bleibt einfach auf den Magnetscheiben liegen. Wenn man die Festplatte nun anschaltet, hört man oftmals ein Fiepen, Brummen, Rattern oder sogar ein Geräusch, das an alte Midi-Sounds eines C64 erinnert. Im Grunde hört man, dass der Motor hochdrehen will, aber nicht kann. Versuchen Sie nicht mehrfach die HDD zu starten! Durch mehrere Versuche anzulaufen, kann sich der Kopf losreißen und Kratzer oder andere Schäden anrichten! Nachdem Sie den Verdacht hegen, dass der Kopf auf der Magnetscheibe feststeckt, sollten Sie die HDD in einer Reinraumbox öffnen und nachsehen. Öffnen Sie dazu die Schrauben (meist 6) am Deckel der HDD. Eine oder mehrere zusätzliche Schrauben sind unter dem Label versteckt - diese müssen Sie durch abziehen des Labels oder durch Ausschneiden freilegen:

Ich bevorzuge das Ausschneiden, wenn es möglich ist, da abgezogene Labels danach nicht mehr ordentlich kleben. Die Informationen auf dem Label brauchen wir später aber vielleicht noch. Metallische Label wie zB auf manchen HitachiPlatten kann man nicht ausschneiden. Den Deckel kann man danach mit einem Prying-Tool wie den zuvor genannten aufhebeln. 328

Dann nehmen Sie den Druckluftspray oder Blasebalg zur Hand und säubern Sie das Innere der HDD und den Deckel von Staub und Schmutz. Die Gummidichtungen einer HDD ziehen Staub und Fussel an und wenn die HDD geöffnet wird, fällt immer ein wenig davon hinein. Im Idealfall ist die Platte vor dem öffnen schon grob gereinigt worden. Bei dieser HDD blieb der Kopf mitten auf der Platte liegen:

Oftmals sieht man auch deutliche Ringe rund um die Spindel - dies sind keine Kratzer, die auf einen Schaden hindeuten, sondern Rillen, um die Anhaftung des Kopfes beim Parken zu verhindern! Nun gibt es zwei Wege, dieses Problem zu lösen... 1. Ohne Unstick / E-Type Tool: Hierbei rotieren wir die Magnetscheiben in Drehrichtung und bewegen gleichzeitig den Kopf. Je weniger Geräusche der Kopf dabei macht, umso besser! Dabei ist der Kopf wie ein Zeiger, der die Rotationsrichtung anzeigt:

329

Hier habe ich die Rotationsrichtung, in der die Scheibe gedreht werden muss, eingezeichnet. Wenn Sie die Magnetscheiben in entgegengesetzter Richtung drehen, zerstören Sie mit hoher Wahrscheinlichkeit die Köpfe! Manchmal sitzt der Kopf ziemlich fest, denn zwei sehr glatte Oberflächen können eine sehr starke Haftwirkung entwickeln. Das ist auch das Problem - durch den erhöhten Kraftaufwand, um die Haftung des Kopfes auf der Oberfläche der Magnetscheiben zu überwinden, kann der Kopf sehr leicht beschädigt werden, wenn er dies nicht ohnehin schon durch die Landung auf der Oberfläche wurde! Sobald sich die Magnetscheiben drehen, können wir anfangen, den Kopf zu verschieben. Die Drehbewegung mit einer Hand auszuführen, während die andere den Kopf seitlich wegzieht oder wie hier weiter zur Mitte drückt, braucht etwas Übung. Dabei gibt es zwei mögliche Risiken die Oberfläche zu zerkratzen. Da oftmals einiges an Kraft für die Rotation gebraucht wird und wir kaum Platz haben, die Halteplatte mit den Schrauben zu greifen, müssen wir in der Regel mit 330

einer Pinzette oder einem Schraubenzieher bei den Schraubenköpfen einhaken und diese dann je nach Rotationsrichtung drücken oder ziehen. Dabei kann man schnell abrutschen und die Magnetscheiben oder den Kopf beschädigen, wenn die Haftung überwunden ist und die Spindel sich ruckartig in Bewegung setzt. Den Kopf können wir in der Regel nicht mit der Hand bewegen und darum hakt man bei den Aussparungen der Arme mit einem Schraubenzieher oder einer Pinzette ein. Das heißt aber auch, dass wir dabei im schlimmsten Fall einen spitzen Gegenstand mit kaum 2mm Abstand über die Oberfläche der obersten Magnetscheibe bewegen. Hier ist äußerste Vorsicht geboten! 2. Mit Unstick / E-Type Tool: Hierbei nutze ich die E-Type Tools von ER-Tools (http://er-tools.com/). Diese sind quasi ident mit den E-Type Tools von Apex, aber ich persönlich bevorzuge es, PVC-Tools statt Aluminium-Tools über die Oberflächen der Magnetscheiben zu schieben...

Bei dieser HDD müssen wir zuerst Platz schaffen, um arbeiten zu können. Versuchen Sie nicht 40 Sekunden Arbeit zu sparen und irgendwie um derartige Hindernisse herumzuarbeiten! Halten Sie den Kopf dann mit einem Finger an der Drehachse (mit dem Pfeil markiert) fest, damit Sie das Tool unter den Kopf schieben können und nicht den Kopf selbst auf der Oberfläche verschieben und diese damit verkratzen.

331

Haben Sie ausreichend Platz zum Arbeiten, dann schieben Sie das Tool vorsichtig an den Kopf heran. Das Tool sollte dann leichtgängig unter den Kopf gleiten! Wenn Sie zu viel Kraft aufwenden müssen, ist etwas falsch! Prüfen Sie, ob es irgendwo hakt oder das Tool nicht richtig positioniert wurde...

Hier sehen Sie anhand einer anderen Platte noch mal in der Detailaufnahme, wie E-Type Tools die Köpfe einige Zehntel-Millimeter von der Oberfläche abheben:

Danach sollten wir den Kopf ausbauen und unter einem Mikroskop untersuchen, um festzustellen, ob dieser in Ordnung ist. Wie das geht, beschreibe ich detaillierter im nächsten Abschnitt.

332

Bevor wir die Festplatte starten, muss unbedingt sicher sein, dass die Köpfe in Ordnung sind und die Oberflächen nicht beschädigt wurden. Sonst könnte sich ein nicht bemerkter Schaden verschlimmern oder gleich den Kopf einer Spenderplatte kosten. Hier sehen wir einen beschädigten und einen verunreinigten Kopf. Der Rechte ist völlig zerstört und hat auch die Oberfläche beschädigt. Am Linken findet man Abriebspuren und Partikel der Oberfläche, die vom rechten Kopf verursacht wurden.

Wenn ein Kopf aussieht wie einer der beiden gezeigten Köpfe, sollten Sie die Platte weiter zerlegen und alle Oberflächen der Magnetscheiben genau unter Grünlicht untersuchen! Außerdem haben HDDs einen kleinen herausnehmbaren Filter eingebaut. Diesen kann man ebenfalls unter dem Mikroskop betrachten. Sollten darauf einige Abrieb-Partikel zu finden sein, haben wir zumindest einen Oberflächenschaden... In so einem Fall sollte man besonders vorsichtig sein... Sieht der Kopf funktional (sauber) aus, kann man ihn wieder einbauen und testen, ob er funktioniert. Nicht jeder Kratzer führt sofort zum Ausfall, aber es wird definitiv früher oder später zum Ausfall kommen.

333

Danach können wir den Kopf wieder mit dem E-Type Tool an die Parkposition bringen. Sie können das E-Type Tool auch für den Ausbau und/oder einen Headswap verwenden. Durch die längliche Form des Tools müssen Sie sehr vorsichtig arbeiten.

Nachdem der Kopf wieder läuft oder ein Tauschkopf eingebaut ist, kann die Festplatte geklont werden. Hierbei sollten Sie die Einstellungen so wählen, dass eventuell übersehene kleine Kratzer sofort weiträumig übersprungen werden. Hier sehen wir noch ein weiteres Beispiel, warum man den Kopf unbedingt ausbauen und inspizieren muss:

334

In diesem Fall hatte der Kunde sogar sehr viel Glück. Nach eigenen Angaben hat er mehrfach versucht, die HDD zu starten und dabei wurde einer der Slider mit den Köpfen abgerissen. Glücklicherweise haben die anderen Slider sich gleich wieder festgesetzt und die HDD konnte nicht hochdrehen. Andernfalls wäre die obere Seite der oberen Magnetscheibe völlig verkratzt worden. Das Gleiche kann auch bei einem der anderen Köpfe passieren und dann sehen wir den abgerissenen Slider nicht direkt. Wenn wir den Schwenkarm dann nicht ausbauen und genau untersuchen, sondern einfach auf die Parkposition schieben und die HDD starten, wird es zu massiven Schäden an den Oberflächen kommen! Auch das ist einer der typischen Fehler, den ich von nicht entsprechend in Datenrettung ausgebildeten Personen immer wieder sehe!

335

Schreib-/Lesekopf tauschen (Headswap) Ich kaufe immer ganze Spenderplatten, selbst wenn ich nur einen PCB benötige. Oftmals finden sich auf eBay Festplatten von privaten Verkäufern, die günstiger sind als nur die Platine von spezialisierten Händlern. So kann ich selbst mit jedem PCB-Tausch das Lager von Spenderplatten erweitern und über die Zeit ausbauen. Wenn wir einen bestimmten Kopf brauchen, ist dies in einigen Fällen schwer, denn Privatpersonen können uns keine Angaben zu Micro-Jogs oder dem Preamp machen. In anderen Fällen ist dies kein Problem und so kaufe ich Samsung-, Toshiba-, Maxtor- und Hitachi-Platten meist von privaten Verkäufern für wenige Euro, wenn ich die Wahl habe! Diese Datenträger kann man nur mit den Angaben am Label abgleichen und bestimmen, ob die Platte als Spender in Frage kommt. Ich frage aber immer vor einem Kauf nochmals nach, ob die Fotos auch Originalfotos sind und schreibe dem Verkäufer auch direkt, dass ich die Platte als Ersatzteilspender verwenden will und Sie nur brauche, wenn die ganzen Angaben am Label genau so sind! Es gibt einige gewerbliche Händler, die alte Workstations wiederaufbereiten und mit SSDs aufrüsten, um diese als günstige gebrauchte Rechner weiterzuverwenden. Diese verkaufen auf oftmals die alten HDDs dieser Workstation nach dem Löschen weiter. In der Regel reagieren diese aber auf eine solche Nachricht und sagen gleich das dies nicht das Originalfoto ist... Aber auch das ergibt oftmals interessante Kontakte - so habe ich bei einem dieser Händler vor einigen Jahren ein Lot von über 800 Platten (teilweise defekte HDDs oder unter 1 TB) für sehr wenig Geld ankaufen können, da diese für den Verkauf nicht mehr sinnvoll waren. Sehr alte und recht kleine Platten findet man allerdings nicht von Privatpersonen und schon gar nicht von Hardware-Verwertern, denn es macht keinen Sinn, zB eine 120GB Festplatte zu verkaufen, wenn die so gut wie niemand mehr als Festplatte benutzen will. Ich würde mal sagen, derzeit braucht man unter 500 GB oder 1 TB nicht auf ein Schnäppchen zu hoffen. 336

Außer man findet diese in einem Lot und kann diese in Bausch und Bogen kaufen. Hierbei hat man aber in der Regel keine Liste der enthaltenen Festplatten mit allen nötigen Angaben. Bekomme ich eine Spenderplatte, dann teste ich diese vorab auf die Funktion, indem ich die Firmware sichere. Diese kann ich irgendwann eventuell brauchen und so habe ich einen Dump der Firmware schon am PC und kann diesen später noch verwenden, selbst wenn die Festplatte bei der Datenrettung beschädigt wird. Bevor wir loslegen, müssen wir prüfen, ob dieses Modell eine Schraube an der Unterseite hat und ob diese Schraube von der Platine verdeckt wird:

Die hier markierte Schraube müssen wir lösen, um den Schwenkarm zu entnehmen. Bei einigen Festplatten ist diese Schraube durch den PCB verdeckt und darum muss der PCB entfernt werden, bevor die HDD in die Werkbank eingespannt wird. Bevor wir weitermachen, müssen wir prüfen, welches Tool für den Kopftausch benutzt werden kann. Dazu bietet APEX zB ein Suchfeld auf Ihrer Webseite an, mit dem man das passende Tool für die jeweilige HDD ermitteln kann: https://apextoollab.com/search/?search=ST9500325AS

Hier brauchen wir zB das Tool 56. Nachdem alles bereit liegt, können wir die HDD in die Werkbank einspannen.

337

Ich habe die Platten für die folgenden Fotos immer wieder ausgespannt und nebeneinandergelegt. Sie brauchen definitiv eine HDD-Werkbank um nicht gezwungen zu sein, die Festplatte anzuheben, gleichzeitig den Kopf zu fixieren und die Schraube an der Unterseite herauszudrehen und dies alles Freihand. Wie wir den Deckel öffnen, wissen Sie schon aus dem letzten Kapitel. Bei Headswaps habe ich die Patienten-Platte immer auf der linken Seite und egal was ich mache, ich mache es zuerst auf der rechten Seite an der Spender-HDD. Jedes Festplattenmodell ist ein wenig anders konstruiert und manchmal muss man Schrauben herausdrehen, um den Magneten zu entfernen oder manchmal die Rampe entfernen, um mehr Platz zu haben und wieder ein anderes Mal muss man den unteren Magneten mit Schrauben fixieren, nachdem der obere Magnet entfernt wurde, damit er nicht am Schwenkarm hängen bleibt. Mache ich einen Fehler oder übersehe ich etwas bei der Spenderplatte, dann ist dies eventuell das aus für die Spenderplatte aber nicht das aus für die Datenrettung. Notfalls habe ich mit einer neuen Spenderplatte noch eine Chance. Nachdem ich den Deckel geöffnet habe, nehme ich eine kleine Spitzzange ohne Zähne zur Hilfe, um den oberen Magneten zu entfernen:

Dies wurde auf der rechten Seite bereits gemacht. Alternativ dazu kann man auch einen magnetischen Heber verwenden. Dabei sollte man den Heber waagrecht an der Seite ansetzen und dann über die Kante des Gehäuses aufrichten und gleichzeitig über den Magneten schieben. 338

Oder schräg mit einer Ecke aufsetzen und dann langsam herunterkippen und dabei den Magneten fixieren: https://www.youtube.com/watch?v=wVcMC8uoNYk Das sollte man ein paar Mal üben und dies möglichst sanft auszuführen. Das Letzte, was wir wollen, ist es, den Magneten mit einem Schlag aufzusetzen und etwas an der Platte beschädigen. Mir persönlich ist eine Zange viel lieber, da ich damit mehr Kontrolle habe. Hierbei sollte die Zange wie gesagt keine Zähnchen an den Backen haben, um möglichst keine Metallsplitter zu verursachen, wenn man versehentlich abrutscht. Als Nächstes entfernen wir die Platine mit den Kontakten für den PCB:

Denken Sie auch daran, die Schrauben so abzulegen, dass Sie später auch wieder wissen, welche Schraube wohin gehört! Wenn Sie die Platine anheben und herausnehmen, dann drücken Sie den Kopf unbedingt an der Drehachse leicht hinunter, um ihn zu fixieren. Sonst können Sie den Kopf leicht mit dem Flexkabel auf die Magnetscheiben schwenken und beschädigen! Dann setzen Sie das Tool ein:

339

Dieser Schwenkarm hat vier Löcher. Das Längliche ist für uns unwichtig, aber in das runde Loch direkt daneben können wir den Stift des Tools einführen. Dann können wir das Tool so schwenken, dass die zwei Spitzen zwischen die Köpfe gleiten:

340

Danach wird das Tool mit dem Messing-Pin gegen das versehentliche Herausschwenken gesichert, wie auf dem vorherigen Foto gezeigt. Dann müssen wir noch den Begrenzer-Pin entfernern:

Dieser soll den Verschwenkweg des Kopfes begrenzen, damit dieser nicht von der Rampe rutscht. Sobald er entfernt wurde, können wir den Kopf rückwärts von der Rampe herunter schwenken, den Kopf an der Drehachse herunterdrücken, um ihn zu fixieren, die Schraube von unten lösen und den Kopf dann mit der Pinzette greifen (zB am hinteren runden Loch) und abheben. Ob Sie eine Schraube oder das HSA bewegen - achten Sie darauf, niemals etwas über die Magnetscheiben der Patientenplatte zu tragen! Mir sind in meiner kariere schon ein paar Schrauben und zwei Köpfe aus einer Pinzette gerutscht. So etwas ist ärgerlich, kann aber passieren. Es sollte aber niemals auch nur die Chance bestehen, dass etwas auf die Magnetscheiben der Patienten-Platte fällt! Hat alles geklappt, heben Sie den Kopf der Patienten-HDD ab und legen Sie ihn seitlich ab. Dann setzen Sie den Kopf der Spender-Platte in den Patienten ein.

341

Dann bauen Sie die Patienten HDD in umgekehrter Reihenfolge zusammen. Hierbei baue ich die Patienten-Platte zuerst zusammen und dann erst die Spenderplatte. Bevor Sie den Deckel wieder schließen, nehmen Sie das Druckluftspray oder den Blasebalg und entfernen Sie Staub und Schmutz, der eventuell während des Vorgangs eingedrungen ist. Ich mache dies immer, auch wenn ich nichts erkennen kann - eventuell versteckt sich ein Fussel unter der Magnetscheibe oder in sonst einer Ecke. APEXToolLab und HDDSurgery haben ein paar Videos auf Youtube, die den Vorgang gut zeigen - zB: > https://www.youtube.com/watch?v=0iiEKZhDapo > https://www.youtube.com/watch?v=iAAfqMluXoU Um diese Arbeiten zu üben, können Sie ein paar alte, aber funktionale Festplatten besorgen und diese mit Daten bespielen. Danach können Sie diese zerlegen und wieder zusammenbauen. Wenn alles geklappt hat, können Sie die Daten danach wieder lesen.

342

Umbau in ein anderes Gehäuse Der Motor ist das Bauteil, das in den wenigsten Fällen Probleme macht. Dennoch kommt es manchmal vor, dass ein Motor feststeckt und sich nicht mehr dreht. Der Umbau in ein anderes Gehäuse ist scheinbar die einfachste Lösung für einige Fälle, hat aber einige Tücken. Daher würde ich diesen nicht vornehmen, wenn es nicht unbedingt sein muss! Sollte eine Festplatte einen Wasserschaden oder dergleichen haben, würde ich versuchen, das Gehäuse zu reinigen und erst wenn dies nicht geht oder der Motor nach der Reinigung nicht sauber läuft einen Umbau in Angriff nehmen. Wie wir bereits gehört haben, beinhalten die Magnetscheiben mehr Daten als nur die Userdaten. Hierzu gehören auch Servoinformationen, die je nach Modell der Festplatte zueinander ausgerichtet bleiben müssen oder nicht. Neuere Festplatten schreiben diese Servoinformationen in einem Zufallsmuster auf die Magnetscheiben, was dazu führt, dass eine genaue Ausrichtung der Magnetscheiben zueinander nicht mehr nötig ist. Bei älteren Platten würden die Daten nicht mehr lesbar sein, wenn diese Servoinformationen nicht zueinander korrekt ausgerichtet sind! Was davon für eine bestimmte Platte zutrifft, ist im Einzelfall zu recherchieren! Die Diagnose, dass der Motor festgefressen ist, lässt sich relativ einfach bewerkstelligen. Wenn die HDD geöffnet ist, muss sich die Spindel sehr leichtgängig drehen lassen. Ist das nicht der Fall, kann man versuchen, den Motor mit etwas Kraft und einem speziellen Tool (zB: https://hddsurgery.com/motor-unstuck-tools) zu drehen. Das folgende Video erklärt die Arbeitsweise mit so einem Tool: https://www.youtube.com/watch?v=BwLZAZ14ep8

Klappt dies nicht, dann wird der Umbau in ein anderes Gehäuse nötig.

343

Es kommt zwar selten vor, aber gelegentlich ist ein Motor defekt. Dieser würde sich zwar leicht von Hand drehen lassen, aber nicht laufen, wenn der Motor mit Strom versorgt wird. Ob nun der PCB defekt ist oder der Motor lässt sich relativ einfach testen. Ich nehme dazu eine meiner Spenderplatten. Diese muss zum Testen nicht einmal ein passendes Modell sein, so lange die Kontakte für den Motor gleich sind... Zuerst entferne ich den PCB von der Spenderplatte und ich klebe dort die Kontakte für den Kopf ab. Dann versuche ich, ob der Spender-PCB den Motor auf der Patienten-Platte zum Laufen bringt. Passen die Kontakte für den Kopf nicht genau mit denen auf der HDD überein, muss man diese an der HDD auch abkleben und aufpassen, dass man die Pins der Kontakte nicht verbiegt! Testen Sie zuvor an der Spenderplatte, ob der Spender-PCB auch ohne Kontakt zum Kopf den Motor hochdreht. Nicht jeder PCB macht das! Also finden Sie einen PCB, der es macht... Falls der Motor mit dem gerade getesteten PCB der Spenderplatine nicht hochdreht, ist der Motor der Patienten-HDD defekt. Nun kann ich noch die Patienten-Platine auf die gleiche Weise mit der Spenderplatte testen. Bringt der Patienten-PCB mit abgeklebten HSA-Kontakten den Spender-Motor zum Laufen, ist der PCB in Ordnung. Falls nicht, ist wahrscheinlich auch der PCB der Patienten-Platte defekt. Nachdem wir nun wissen, ob PCB und/oder Motor defekt sind, können wir entscheiden, wie wir weiter vorgehen. Ist der PCB defekt, muss ich zusätzlich zum Umbau der Magnetscheiben in ein anderes Gehäuse auch noch den PCB tauschen und den ROM-Chip transferieren oder umprogrammieren. Sehen wir uns die entsprechenden Tools an, die wir dazu verwenden können, um die Magnetscheiben in ein anderes Gehäuse umzubauen. Zuerst gibt es das Tool von APEX mit dem man die Magnetscheiben einzeln abheben kann: https://apextoollab.com/platter_extractor/ Alternativ dazu kann man auch ein 3D gedrucktes Tool verwenden: https://opensource-data-recovery-tools.com/hardware.php?t=platter_ extractor_tweezers 344

Falls die Ausrichtung der Magnetscheiben zueinander beibehalten werden muss, sollte man folgendes Tool verwenden:

Bevor wir dieses Tool einsetzen können, müssen wir wie in den vorherigen Beispielen beschrieben zuerst den Schreib-/Lesekopf entfernen. Danach müssen wir auch die Rampe entfernen, wenn es eine gibt. Dann kann das Tool über die Magnetscheiben gestülpt werden. Bei einigen modernen Platten ist dies aus Platzgründen gar nicht mehr möglich...

Ist das Tool in Position dann sehen wir durch den Schlitz die einzelnen Magnetscheiben:

345

Der Schieber, den wir am oberen Ende des Schlitzes sehen können, muss ganz nach unten geschoben werden:

So wird der Ring etwas enger und greift seitlich auf die Magnetscheiben. Hierbei sollte man mit der zweiten Hand das Tool am oberen Griff festhalten. Danach können wir die Halteschrauben entfernen... Dazu führen wir einen Schraubenzieher von oben in das Tool ein. Genau so, wie wir dies im ersten Foto sehen... Damit können dann die Schrauben in der Krone, die die Magnetscheiben herunterdrückt, um sie festzuhalten, entfernt werden. Hierbei schützt eine Abdeckplatte die Oberfläche der Magnetscheiben vor herunterfallenden Schrauben und dem Schraubenzieher:

346

Hier sehen wir diese Schutzplatte mit den Nieten, an denen Sie befestigt ist. Diese Nieten sind an der Unterseite gummiert, um die Magnetscheiben nicht zu verkratzen. Es gibt auch andere Versionen diese Tools mit Plexiglas-Schutzplatten. Auch beim Lösen der Krone sollte man etwas Druck von oben auf das Tool ausüben. Außerdem muss man die gelösten Magnetscheiben dann ganz vorsichtig und gerade abheben und man darf den Turm keinesfalls kippen. Zwischen den Magnetscheiben sind dünne Abstandhalter und denn diese verrutschen ist es ein ziemliches Geduldspiel, diese wieder an die richtige Position zu bringen. Außerdem könnten die herum rutschenden Abstandhalter feine Kratzer auf den Magnetscheiben hinterlassen. Hierbei sollte man den Kopf und den PCB ebenfalls in das neue Gehäuse mit transferieren, wenn diese nicht beschädigt sind. 347

Die Lager des Motors werden eingepresst und es gibt kleinere Schwankungen. Darum ist keine Platte wie die andere und es gibt winzige Abweichungen bei der Plattenhöhe. Darum ist ein solches Vorhaben auch nicht ganz einfach. Hier habe ich auch eine HDD-Werkbank benutzt, die die Festplatten festhält. Dieses Tool sollte man immer verwenden, da man so am einfachsten an den Platten arbeiten kann:

Die Schrauben halten die Festplatte in Position und die Werkbank selbst hat so viel Gewicht, dass man die Platte nicht festhalten muss, wenn man Teile wie den oberen Magneten, den Kopf oder die Magnetscheiben abhebt. Die Öffnung in der Werkbank erlaubt den Zugang zu der Schraube, die den Schwenkarm von unten festhält.

348

Fallbeispiel ST380013AS - Fingerabdruck entfernen Es gibt immer wieder Kunden, die auf die Idee kommen, eine Festplatte aufzuschrauben in der Hoffnung darin ein einfach zu lösendes Problem zu entdecken. Wenn nicht gerade der Schreib-/Lesekopf auf den Magnetscheiben liegen blieb, dann ist dies aber nicht der Fall und selbst ein Head Unstick braucht etwas Übung und die richtige Technik. Oftmals hinterlassen uns Kunden dann kleine Andenken in Form von Wimpern, Schuppen oder Fingerabdrücken. Teilweise wird dann noch versucht, diese selbst wieder zu entfernen und der Fettfleck dann über die halbe Fläche verschmiert und dabei noch einiges an Fusseln eingebracht. Hier hatten wir einen Kunden, der eine alte 80GB HDD aus seinem alten Windows XP Computer der jahrelang im Keller stand, ausgebaut hat und diese dann mit einem USB-Adapter lesen wollte. Leider klappte das nicht und der Rechner hat die Platte immer wieder beim Kopieren der Daten ausgehängt. Also wollte der Kunde selbst einen Headswap versuchen, wie er es auf Youtube gesehen hat. Dabei hat der Kunde beim hantieren mit der HDD einen Fingerabdruck auf der oberen Magnetscheibe hinterlassen. Nachdem er merkte, dass Datenrettung doch nicht so einfach ist, fragte er an, was eine derartige Datenrettung kosten könnte, da ihm die alten Familienfotos doch recht wichtig waren. Ich habe kein Problem mit solchen Fällen - das sind meiner Meinung nach gute Gelegenheiten, sich einen Ruf aufzubauen. Immer wenn ich Fälle lösen kann, an denen andere Firmen oder Personen gescheitert sind, ist das gut für unsere Reputation als Datenrettungslabor! Derartige Fälle können aber auch schnell aufwendig werden. Daher behalte ich mir vor, bei schwereren Fällen einen entsprechenden Aufschlag zu berechnen! Außerdem war meiner Meinung nach der Kauf einer Spenderplatte verfrüht! Wenn ich irgendwelche Daten lesen kann, dann würde ich zuerst versuchen, alle anderen Möglichkeiten auszuschöpfen, bevor ich versuche, den Kopf zu tauschen. 349

Das ist ein gutes Beispiel für etwas, das ich den "Heimwerker-Ansatz" nenne. Wenn immer ein Teil Probleme macht, wird es ausgetauscht. Das mag für die Waschmaschine und den Abfluss OK sein, macht aber bei Festplatten oft mehr Probleme! Nur weiß das jemand ohne entsprechende Ausbildung nicht... Ich habe mich mit dem Kunden dann darauf geeinigt, dass ich mir den Fall ansehe und er mir seine Spenderplatte gleich mitschickt, falls ich Sie brauche. So viel vorab - außer der Modellnummer stimmte von den andern Daten für die Spenderkopfauswahl nichts! Das war wieder ein schönes Beispiel dafür, wie eine unbedarfte Person an so etwas herangehen würde. Wenn am Auto etwas defekt ist, kann man ja schließlich auch ein Teil vom gleichen Modell einbauen... Also sehen wir uns die Hinterlassenschaften genauer an:

Die Reinigung der Magnetscheiben ist nicht sehr schwer, aber man muss einige Grundlagen beachten. Zuerst muss man wissen, ob man die Magnetscheiben trennen kann. Hier haben wir ohnehin nur eine Magnetscheibe aber bei Platten mit mehreren Magnetscheiben ist dies zu klären.

350

Falls man die Magnetscheiben trennen kann, da diese nicht zueinander ausgerichtet bleiben müssen, ist die Reinigung einfach. Wir zerlegen die Platte, entnehmen die Magnetscheiben und reinigen diese. Bei leichten Verschmutzungen nutze ich immer M3 Novec™ 7100! Die Reinigungsleistung ist hervorragend und in besonders hartnäckigen Fällen kann man auch zu IPA für die Grobreinigung greifen... Im deutschsprachigen Raum können Sie die Reiniger von der Firma Puretecs (https://www.puretecs.de/) beziehen! Die entsprechenden Reiniger gibt es dort auch in 1kg Gebinden. Der Vorteil ist, dass diese Flüssigkeit extrem schnell verdunstet und keine Rückstände hinterlässt. Das macht das Produkt deutlich einfacher in der Anwendung als IPA. Ich tauche die Reinigungsstäbchen in die Novek Flüssigkeit und streife diese dann am Rand des Fläschchens ab. Außerdem verwende ich nur reinraumtaugliche Swabs mit der Microfaser- oder Polyester-Kopf für den Innenraum einer HDD. Die Swabs mit den Schaumstoff-Köpfen nehmen zu viel Reinigungsflüssigkeit auf und wir wollen die Oberfläche leicht feucht abwischen und nicht mit Flüssigkeit fluten. Die Schaumstoff-Köpfe sind ideal, um mit IPA Platinen von Flussmittel zu säubern. Dazu brauchen wir auch entsprechend viel IPA. Im Innenraum der HDD arbeite ich mit dem ersten Swab etwas grob vor. Dabei versuche ich mit der einen Seite so viel wie möglich von einem Fleck zu säubern, bis es anfängt zu schmieren. Mit der zweiten Seite des ersten Reinigungsstäbchens säubere ich dann nochmals den gleichen Fleck weiter grob vor. Danach sollte das Ergebnis recht gut aussehen und der Großteil des Flecks entfernt sein. Mit jedem weiteren Stäbchen wische ich nur ein einziges Mal in einem durchgehenden Zug. Dann drehe ich das Stäbchen und nutze die zweite Seite, um wieder nur ein einziges Mal zu wischen.

351

Das wiederhole ich dann so lange mit immer neuen Swabs bis die Stelle sauber aussieht und dann nochmals mit weiteren zwei Stäbchen zur Sicherheit. Novec 7100 ist zwar teuer und 1 kg kostet ca. 100 EUR, aber Sie sollten hierbei nicht

an 5 oder 6 Tropfen Novec und zwei zusätzlichen Swabs sparen und dann 120 EUR für einen Tauschkopf verlieren! Gibt es mehrere Flecken, dann wiederhole ich diesen Vorgang für jeden Fleck. Das Ergebnis kann man gut mit einer Taschenlampe und Grünlicht kontrollieren. Alternativ zu einer teuren Jagd-Taschenlampe, die Grünlicht liefert, kann man eine ganz normale Taschenlampe mit einem kleinen Stück Lee-Filterfolie versehen. Dies funktioniert genau so gut. Unter grünem Streiflicht (Licht von der Seite im flachen Winkel) werden Verunreinigungen oder Kratzer auf den Magnetscheiben sehr gut sichtbar... Nach nicht mal 3 Minuten haben wir den Fingerabdruck beseitigt. Nachdem die Köpfe und anderen Oberflächen inspiziert waren, konnten wir die HDD klonen:

Das Problem waren nur einige defekte Sektoren, die eventuell von der langen Lagerung kamen. Einige Dateien waren darum beschädigt. Außerdem gab es einige Stellen, an denen die HDD gute 5 Sekunden brauchte, um die Daten zu liefern. Ich vermute, dass die Daten durch die lange Lagerung verblasst sind und darum die Platte nur schwerlich lesen konnte!

352

Das Problem beim Kopieren waren also entweder die defekten Sektoren oder die Bereiche an denen die HDD so lange hängen blieb, bevor diese gelesen werden konnten. Wie üblich wurden diese im ersten Durchgang übersprungen und dann in einem zweiten Durchlauf mit PIO und 10 Sek. Timeout geklont. Dazu sollte man wissen, dass magnetische Ladungen verblassen und sich abbauen ganz genau so, wie sich Batterien mit der Zeit entladen. Bei Festplatten dauert dieser Prozess einige Jahre. IT-Forensiker haben oftmals bei alten Datenträgern von wiederaufgenommenen Fällen, die lange gelagert wurden, das gleiche Problem. Die Daten verblassen und die ein oder andere Datei wird dadurch unbrauchbar. Das ändert aber auch die Prüfsumme des Datenträgers und macht eine Verifikation unmöglich, da dann nicht mehr nachvollziehbar ist, ob diese Änderungen durch Verlust der magnetischen Ladung oder durch eine Manipulation erfolgte. Diese HDD zu öffnen wäre absolut nicht nötig gewesen und hat die Datenrettung nur um ein Vielfaches erschwert.

353

Stärkere Verschmutzungen reinigen Einfachere Verschmutzungen sind kein großes Problem, aber wenn sich Sand und Rost auf den Magnetscheiben ablagert, wird es zu einer Herausforderung, diese zu reinigen. Im Internet und bei vielen Leuten hält sich hartnäckig die Meinung, das Festplatten luftdicht seien. Aber die meisten Festplatten sind nicht hermetisch abgedichtet. Dies trifft nur auf Serverplatten, die mit Helium gefüllt worden zu! Alle anderen Festplatten haben ein Lüftungsloch für den Druckausgleich je nach Höhenlage:

Auf dieser Toshiba HDD ist dies sehr schön zu sehen! Darüber kann natürlich Wasser einfach in die HDD eindringen, so wie dies bei folgender HDD passiert ist. Besser wäre es, wenn man eine HDD in so einem Fall im Wasser lässt und in einem Gefäß mit etwas von dem Wasser, in der die HDD war, transportiert. Das soll verhindern, das das Wasser trocknet und Wasserflecken hinterlässt... Hier haben wir die HDD zugeschickt bekommen und der Kunde hatte diese bereits trocknen lassen:

354

Nun zeigt sich auch gut, warum man eine solche Platte nicht trocknen lassen sollte! Der Schaden war in diesem Fall aber nicht so groß. Die Festplatte sieht definitiv schlimm aus, aber wir haben quasi keine sichtbaren Partikel und auch keine Rostablagerungen von korrodierten Teilen. Die Reinigung wird dennoch aufwendig werden... Schlimmere Verschmutzungen wie nach einem Feuer- oder Wasserschaden, bei dem Partikel eindringen, bekämen wir mit einer Ultraschallreinigung in den Griff. Wir können auch hier wieder Novek 7100 einsetzen, aber das wird dann relativ teuer. Man verwendet daher für die Grobreinigung im Ultraschallreiniger IPA mit 99,9% und für eine spätere Feinreinigung ein paar Tropfen Novek 7100 und einige Swaps. Falls die Patienten-Platte Wasser, oder noch schlimmer, Feuer ausgesetzt war, dann müssen wir diese unbedingt fotografieren, bevor wir mit der Reinigung beginnen! Bei der Reinigung kann sich das Label ablösen und bei stark angegriffenen Labels ist die Chance groß, dass diese zerfallen und wir benötigen die Informationen auf dem Label unbedingt für die Auswahl des geeigneten Spenderkopfes. Außerdem kann der verwendete Alkohol bei der Reinigung die Farbe auf den Labels angreifen und diese ab- oder auflösen. Eine Reinigung von außen ist wichtig, um nicht zu viel Schmutzpartikel in die Reinraumwerkbank einzubringen. Vor allem wenn wie die HDD wieder zusammensetzen.

355

Wenn Sand in die Platte eingedrungen ist, kann dieser bei der Ultraschallreinigung die Magnetscheiben angreifen! Durch die Vibrationen in diesen Geräten wird zwar der Sand gelöst, wirkt dann aber wie ein Schleifmaterial auf die Magnetscheiben. Daher sollte ein Reinigungsdurchgang maximal 45 - 60 Sekunden dauern. Dann sollten wir die Magnetscheiben mit sauberem IPA abspülen, um gelöste Partikel zu entfernen und die Flüssigkeit im Ultraschallreiniger wechseln. Dies wiederholen wir, bis die Platte ziemlich sauber ist. Hier will ich Ihnen auch noch eine alternative Methode vorstellen, die ich in diesem Fall ausprobiert habe. Diese Methode basiert auf dem Platter Clean Tool von RecuperoDatos.com (https://datarecoveryhdd.com/hdd-platter-cleaner). Die Idee, eine HDD dazu zu verwenden, um die Magnetscheiben zu drehen und dann mit einem feuchten Swap abzuziehen, ist interessant und funktioniert ganz gut. Wenn Sie Interesse haben, können Sie das Tool für einige hundert USD kaufen... Ich habe eine alte ST32120A von Seagate verwendet. Das ich diese 2,1GB Festplatte noch jemals als Spender brauche, ist ziemlich unwahrscheinlich. Da ich dieses Modell aber gut kenne, weiß ich, dass die Magnetscheibe nach allen Seiten hin frei ist (siehe letztes Bild), wenn der Deckel entfernt wird. Dies ist ideal für diesen Zweck! Zur Vorbereitung habe ich den Kopf und die Magnetscheiben ausgebaut. Das Gehäuse kann ich dann mehrmals im Ultraschallreiniger säubern. Den Kopf werde ich vorsichtshalber lieber direkt tauschen, da wir einen passenden Spenderdatenträger auf Lager haben. Theoretisch könnte man auch versuchen, den Kopf zu reinigen. Dies lässt sich mit einem sehr feinen Pinsel und etwas Novek 7100 unter dem Mikroskop bewerkstelligen. Als ich die Platte zerlegt hatte, fand ich noch etwas Wasser in manchen Bereichen wie unter der Krone, die die Magnetscheiben hält:

356

Diese paar Wassertropfen habe ich mit einem trockenen Swab entfernt und danach habe ich den verkrusteten Rand gesäubert. Die Kruste muss sauber entfernt werden, bevor wir die Magnetscheibe im anderen Gehäuse fixieren können... Dazu habe ich einige Swabs mit IPA verwendet. Dabei habe ich auch gleich eine Grobreinigung der gesamten Magnetscheibe vorgenommen.

Sobald diese von den gröbsten Schmutz und feinen Partikeln befreit war, habe ich eine der Magnetscheiben in die alte Seagate-Platte montiert. Dort kann ich die Rotation der Spindel dazu verwenden, die Platte mehrfach mit einem feuchten Swap abzuziehen. Dabei fahre ich in einer fließenden Bewegung von der Spindel langsam nach außen, dann drehe ich den Swab und wiederhole dies mit der zweiten Seite. Nach ca. 10-15 Swabs war die Fläche halbwegs sauber! Dabei habe ich für die ersten paar Swabs IPA mit 99,9% verwendet und dann Novek 7100 für die Feinreinigung. Nachdem die Fläche nur noch einige wenige schlieren hatte, habe ich ca. 10 weitere Swabs mit Novek 7100 verwendet um diese Schlieren zu beseitigen... Pro Fläche brauchte ich ca. 25-30 Reinigungsstäbchen. Hier gilt auch wieder die Regel: "Viel hilft viel". Bei der Reinigung hat man zuerst das Gefühl, dass man nur schmiert und die Sache nur noch verschlimmert. Erst wenn ein Großteil des Schmutzes entfernt ist, fangen die Swabs an zu reinigen... Das liegt am Material - dieses kann kaum Schmutz aufnehmen und ist quasi sofort gesättigt. Sie brauchen also eine Menge Swabs. Selbst für einen einfachen 357

Fingerabdruck brauche ich oftmals 8-10 Reinigungsstäbchen. Nach gut 2 Stunden sehen alle Magnetscheiben so aus:

Wir sehen hier auch die alte IDE-Platte im Bild. Ohne Deckel ist die Magnetscheibe von allen Seiten zugänglich. Da Magnetscheiben unterschiedliche Dicken haben, habe ich mir einige Abstandhalter-Ringe mit einem 3D Drucker aus PLA hergestellt. Ich muss nur immer eine Magnetscheibe reinigen und daher nutze ich einige Abstandhalter, um die passende Höhe zu erreichen. Dabei nehme ich einen der PLA-Spacer unten und darüber einen dünnen Aluminium-Abstandhalter aus einer Festplatte:

358

So kann ich die optimale höher erreichen, damit die Krone oben auch richtig greift... Wichtig ist es, dass der PLA-Abstandhalter nicht in Kontakt mit der Magnetscheibe kommt, weil ich nicht weiß, ob dieser eventuell abrieb hinterlassen würde. So stellt sich diese Frage erst gar nicht! Das OpenScad-Design für die 3,5" Abstandhalter ist sehr simpel: $fn = 128; for(height = [0.5 : 0.5 : 3]){ translate([(height-2)*70, 0, 0]) difference(){ cylinder(d=31, h=height); translate([0,0,-1]) cylinder(d=26.4, h=height+2); } }

Das wären alle Abstandhalter von 0,5 - 3mm in 0,5mm Schritten.

359

DIAGNOSE UND WORKFLOW Nachdem wir nun die wichtigsten Techniken besprochen haben, will ich Ihnen meinen persönlichen Workflow vorstellen. Wenn ein Datenträger ankommt, wird dieser zuerst an einem Labornetzgerät getestet und mit der Wärmebildkamera kurz auf Kurzschlüsse gescannt. Bei 3.5" Festplatten kommt es oft vor, dass die 12V Leitung wie tot wirkt, da der Motor ohne die Controller-Chips nicht startet. Diese Controller-Chips werden aber oft von der 5V Leitung versorgt. Es ist also nicht ungewöhnlich, dass bei 12V keine Leistung gezogen wird. Auf der 5V leitung muss allerdings zumindest ein wenig Strom fließen:

Bei USB-Sticks oder auch SSDs kann man einfach ein USB-Voltmeter wie mein JC-1 verwenden:

360

Das gleiche Gerät können wir auch für eine SSD verwenden:

361

Es ist nur wichtig auszuschließen, dass wir einen Kurzschluss haben, der eventuell weitere Komponenten auf dem PCB oder die Datenrettungshardware selbst beschädigen kann. Ein schwaches 500mA USB-Netzteil ist ideal für so etwas, da es entweder auf 500mA regelt oder gleich die Stromversorgung kappt. Wenn Sie also sehen, das der Strom einbricht oder die Anzeige erlischt, wissen Sie, dass es einen Kurzschluss gibt. Danach können Sie einfach Strom in die Schaltung injizieren und mit der Thermokamera sehen, was den Kurzschluss verursacht. Wird gar kein Strom gezogen, ist mit ziemlicher Sicherheit eine Sicherung oder ein 0-Ohm-Widerstand defekt und der Stromfluss darum unterbrochen. Sobald wir den Punkt erreicht haben, dass etwas Strom gezogen wird und sichergestellt ist, dass kein Kurzschluss vorliegt, verbinde ich das Gerät mit der entsprechenden Datenrettungshardware. Je nach Modell des Datenträgers öffne ich das entsprechende Modul, um Terminalmeldungen beim Hochfahren der HDD zu sehen. Wenn ich eine HDD anschalte, beobachte ich die Status-LEDs und bei Seagate oder Samsung HDDs auch das Terminal. Zusätzlich nutze ich ein Stethoskop, um genau zu hören, ob die HDD Kratzgeräusche macht. Am MRT können wir mit F11 den Strom für einen Port anschalten und mit F12 wieder deaktivieren. Wenn ich also den Strom aktiviere und auf die Geräusche der HDD achte, wandert mein Finger schon auf die F12 Taste um den Strom zu deaktivieren, wenn ich ein Kratzen höre. Sollte die HDD gut klingen, warte ich auf die Bereitschaft, auch wenn diese unter Umständen ein paar Minuten dauert. Sobald die HDD bereit ist, versuche ich mit der Auto-Identifikation zu prüfen, ob die HDD ansprechbar ist und sich korrekt identifiziert. Falls ja, öffne ich das Modul und prüfe, ob ich darin irgendwelche Fehlermeldungen sehen kann. Außerdem nutze ich RAM -> Edit HDD ID, sofern dies bei der Platte möglich ist und ich deaktiviere so unnötige Hintergrundaktivitäten. 362

Dann öffne ich danach gleich den Data Explorer und erstelle einen neuen Imaging-Task. Die Einstellungen wähle ich so, dass ich kurze Timeout-Zeiten und weite Sprünge bei einem nicht lesbaren (Error-Tab) oder zu langsamen (Timeout-Tab) Sektor einstelle. Da ich die Platte nicht geöffnet habe, kann ich oftmals auch nicht wissen, ob es eventuell kleine Kratzer gibt. Daher will ich sicherstellen, dass bei Lesefehlern grobe Bereiche übersprungen werden, um einen eventuell zerkratzten Bereich schnellstmöglich zu verlassen. Dann versuche ich die ersten paar GB zu Klonen und achte dabei auf die HexWerte der Daten. Klappt dies nicht, kann ich durch das Verändern des Start-LBA in den Kopiereinstellungen den Translator-Test machen und bei einer ausreichenden Anzahl an Stichproben sehen, ob der Translator oder ein defekter Kopf Probleme macht. Dann kann ich eine Headmap erstellen oder ins Firmware-Modul wechseln und den Translator neu generieren. Sollte das Translator-Problem erst zu einem späteren Zeitpunkt auftreten, habe ich so schon einen Teil der Daten gesichert, bevor ich den Translator neu schreibe. So hätte man bei einem Totalausfall durch ein Problem bei der Generierung des Translators zumindest einen Teil der Daten. Wenn das Klonen halbwegs läuft, nutze ich den File Explorer, um dann die belegten Speicherbereiche zu markieren und diese dann zuerst zu klonen. Die dabei übersprungenen Bereiche und den restlichen Speicherplatz der HDD klone ich dann in einem zweiten oder dritten Schritt. Erst wenn ich beim Klonen bestimmte Probleme habe, entscheide ich mich, ein eventuelles Firmware-Problem anzugehen. Ich würde nicht riskieren, mit einer instabilen HDD an einer essenziellen Komponente der Firmware herumzubasteln und den Zugriff auf die Daten durch ein fehlerhaft geschriebenes Modul völlig zu verlieren. Bei Fällen wie einen Slow-Response Bug ist klar, dass ich keine angeschlagene HDD für einige Monate im 24/7 Betrieb klonen lasse und daher halte ich das Risiko der Firmware-Reparatur für kleiner als das Risiko eines Ausfalls bei dem monatelangen Betrieb. 363

Andere Fälle, bei denen gar kein Zugriff auf Userdaten möglich ist, erfordern eine Lösung für das Firmware-Problem. Ich versuche bei jeder Datenrettung zwischen Risiko und Nutzen abzuwiegen und immer denjenigen Weg zu beschreiten, den ich für den Risikolosesten halte. Platten, bei denen einer der Köpfe defekt oder instabil ist Klone ich zuerst, wobei ich den Kopf der Probleme macht, deaktiviere. Wenn ich bereits die Daten der guten Köpfe habe, würde ich versuchen, die Daten mit dem angeschlagenen Kopf zu klonen oder den Kopf zu tauschen. Jede Operation birgt ein Risiko - das gilt nicht nur für die Medizin, sondern auch für uns Datenretter. Es kann immer etwas passieren und ich möchte immer zuerst sicherstellen, dass ich zumindest etwas an Daten gerettet habe, bevor ich eine "Operation" vornehme, sofern diese möglich ist! Außerdem kann ich so den Kunden eine partielle Datenrettung anbieten und viele private Kunden sind froh über diese Option, denn oftmals ist es für diese OK einen kleinen Betrag für einen Teil der Daten zu zahlen, aber ein Kopftausch wäre Ihnen zu teuer und sie würden die Datenrettung erst gar nicht beauftragen. Ich habe so aber auch gleich für mich das sprichwörtliche "Netz und den doppelten Boden" geschaffen. Sollte etwas schief gehen und beim Headswap zB ein Kratzer entstehen, weil der Kopf wieder erwarten, nicht kompatibel war oder unbemerkt beschädigt wurde, kann ich auf die partiellen Daten zurückgreifen und dem Kunden wenigstens diese anbieten - eventuell sogar mit einem kleinen Rabatt als "Trostpflaster". So habe ich eine gute Chance, wenigstens ein wenig an diesem Fall zu verdienen. Hätte ich in so einem Fall nicht die partielle Datenrettung, würde ich nicht nur nichts verdienen, sondern auch den Kaufpreis für die Spenderplatte verlieren, denn branchenüblich zahlt der Kunde für eine Datenrettung nur im Erfolgsfall. Dazu sollte man bedenken, dass seltenere Spenderplatten auch schnell 200 EUR oder mehr kosten und ich persönlich verdiene lieber 350 Euro statt 600 Euro, bevor ich 200 Euro Verlust abschreibe!

364

365

RAID DATENRETTUNG RAID steht für Redundant Array of Inexpensive Disks. Hierbei wird nach RAID Leveln unterschieden, wobei nicht jeder Level die besagte Redundanz bietet! Anfänger im Bereich Datenrettung werden höchstwahrscheinlich eher auf kleinere NAS-Systeme mit 2 bis 4 Festplatten treffen. Diese sind oftmals in privaten Haushalten oder kleinen Firmen zu finden und werden von den üblichen Elektro-Fachgeschäften gern als "unkaputtbarer Datenspeicher mit integriertem Backup" verkauft. Oftmals kommt dann noch dazu, dass Marketing-Abteilungen gern große imposante Zahlen auf Verpackungen schreiben und so wird dann ein NAS mit 2 x 2TB Festplatten als 4TB NAS verkauft und nicht als 2TB NAS. Damit es dann in der Hotline keine Anrufe hagelt die Fragen, wo die fehlenden 2 TB Speicher hin sind, wird das NAS oftmals mit RAID 0 und nicht mit RAID 1 vorkonfiguriert... Sehen wir uns die wichtigsten RAID-Level an: RAID 0 (Striping) ... wird zur Performancesteigerung genutzt. Hierbei werden die Daten auf 2 bis N Datenträger verteilt, wobei es keine Redundanz gibt. Der Ausfall eines einzigen Datenträgers macht alle Daten unbrauchbar. Da die Daten auf 2 bis N Datenträger aufgeteilt werden, erreichen wir so auch die 2- bis N-fache Performance, indem wir mehrere Datenträger gleichzeitig verwenden. DISK A

DISK B

Block 1

Block 2

Block 3

Block 4

Block 5

Block 6

Block 7

Block 8

Block 9

Block 10

Die Daten werden in sogenannte Stripes (Blöcke), meist mit einer Größe von 4 - 1024KB, aufgeteilt und über die Platten verteilt. Es gibt keine doppelten Blöcke oder Paritätsdaten zur Wiederherstellung von Daten, falls eine Festplatte ausfällt. 366

Wir können also die Summe des Speicherplatzes aller Datenträger für Daten nutzen und die Geschwindigkeit steigt mit jedem weiteren Datenträger auch an. Natürlich gilt das auch für das Risiko, denn RAID 0 ist schnell, aber das Datenspeicher-Equivalent zu russischem Roulette. RAID 1 (Mirror) Dieser RAID-Level schreibt alle Daten auf jede Festplatte und ist damit das genaue Gegenteil von RAID 0! Wir haben damit den Speicherplatz eines Datenträgers zur Verfügung und jeder weitere Datenträger ist eine Kopie. So können wir 2 bis N Festplatten verwenden, haben aber immer nur die Geschwindigkeit und den Speicherplatz einer einzelnen Platte zur Verfügung: DISK A

DISK B

Block 1

Block 1

Block 2

Block 2

Block 3

Block 3

Block 4

Block 4

Block 5

Block 5

Nehmen wir also an, wir hätten maximal 4 Datenträger zur Verfügung, dann können wir damit ein RAID 1 bauen, bei dem 3 Datenträger ausfallen können und trotzdem wären die Daten sicher. Wir haben aber nur 1/4 des Speichers zur Verfügung und nur die 1-fache Geschwindigkeit einer Platte. Das andere Extrem wäre ein RAID 0 mit 4-facher Geschwindigkeit und 4-fachem Speicherplatz, aber bei jedem Ausfall wären die Daten verloren. Beide Fälle wären nicht besonders ideal. Daher gibt es auch Mischformen wie zB RAID 10. Das entspricht zwei RAID 1 in einem RAID 0 Verband: DISK A

DISK B

DISK C

DISK D

Block 1

Block 1

Block 2

Block 2

Block 3

Block 3

Block 4

Block 4

Block 5

Block 5

Block 6

Block 6

Block 7

Block 7

Block 8

Block 8

Block 9

Block 9

Block 10

Block 10

367

Hier hätten wir nun die doppelte Geschwindigkeit und eine gesteigerte Ausfallsicherheit. Aber auch das ist noch nicht so effizient, denn wir müssen zwei Platten opfern, um die Ausfallsicherheit zu haben. Dieses Konzept skaliert also recht schlecht - wenn Sie mit 6 Platten ein 48TB RAID erstellen, brauchen Sie weitere 6 Platten als ein weiteres 48TB RAID-Array, um das erste zu spiegeln. Daher wurden RAID-Level erdacht, die auf einem mathematischen System basieren und die mit 1 bzw. 2 Platten klarkommen, um einen Ausfall zu überbrücken. RAID 5 Dieses RAID-Level benötigt mindestens 3 Datenträger und verkraftet den Ausfall von einem Datenträger. Erst wenn der zweite Datenträger ausfällt, sind die Daten verlohren: DISK A

DISK B

Block 1

Block 2

Block 4

Block 5

Block 7 PD Block 13

PD

DISK C Block 3 PD

DISK D PD Block 6

Block 8

Block 9

Block 10

Block 11

Block 12

Block 14

Block 15

PD

Wenn wir hier bei dem Beispiel mit den 4 Festplatten bleiben, werden auf jeweils drei Platten die Daten verteilt und auf der vierten Platte wird ein Paritätsblock gespeichert. Hierbei kann man aus 3 Datenblöcken den Paritätsblock errechnen oder aus 2 Datenblöcken + 1 Paritätsblock den fehlenden Datenblock. Wir haben also bei 4 Platten die 3-fache Geschwindigkeit und trotzdem die Ausfallsicherheit. Bei unserem 48TB Beispiel bräuchten wir also lediglich eine 7. Festplatte, um die Ausfallsicherheit zu erreichen. Hierbei steigt allerdings die Komplexität um einiges an - so gibt es vier Möglichkeiten die Daten zu verteilen, wobei die meisten Links rum arbeiten und nur High-End-Server und High-End RAID-Controller rechts herum arbeiten:

368

Links synchron, DISK A

DISK B

DISK C

DISK D

Block 1

Block 2

Block 3

PD

Block 5

Block 6

PD

Block 4

Block 9

PD

Block 7

Block 8

Block 10

Block 11

Block 12

Block 14

Block 15

PD

PD Block 13

Rechts synchron, DISK A

DISK B

DISK C

DISK D

PD

Block 1

Block 2

Block 3

Block 6

PD

Block 4

Block 5

Block 8

Block 9

PD

Block 7

Block 10

Block 11

Block 12

PD

Block 13

Block 14

PD

Block 15

Links asynchron und DISK A

DISK B

DISK C

DISK D

Block 1

Block 2

Block 3

PD

Block 4

Block 5

PD

Block 6

Block 7

PD

Block 8

Block 9

Block 10

Block 11

Block 12

Block 14

Block 15

PD

PD Block 13

Rechts asynchron . DISK A

DISK B

DISK C

DISK D

PD

Block 1

Block 2

Block 3

Block 4

PD

Block 5

Block 6

Block 7

Block 8

PD

Block 9

Block 10

Block 11

Block 12

PD

Block 13

Block 14

PD

Block 15

Wissen wir nicht genau wie das RAID konfiguriert ist, müssen wir also die Reihenfolge der Datenträger, das Verteilungsmuster und die Stripe-Größe heraus369

finden, um das RAID wieder zu rekonstruieren. Sie sehen also, dass ab einer bestimmten Anzahl der Platten reines Ausprobieren der Möglichkeiten viel zu lange dauern würde. RAID 6 Für ein RAID 6 benötigt man mindestens 4 Platten. Damit steht dann der Speicher und die Geschwindigkeit von zwei Platten zur Verfügung und der Speicherplatz der zwei weiteren Platten wird für Paritätsdaten verwendet. DISK A RS Block 3 Block 5 PD RS

DISK B Block 1 Block 4 PD RS Block 9

DISK C Block 2 PD RS Block 7 Block 10

DISK D PD RS Block 6 Block 8 PD

Im Grunde ist das Konzept das gleiche wie bei RAID 5, nur dürfen hier bis zu 2 Platten ausfallen, ohne das ein Datenverlust eintritt. Dabei skaliert das Konzept ebenfalls gut, denn unsere 6 Platten von dem 48TB Array benötigen bei RAID 6 zwei weitere Platten, um den Ausfall von bis zu 2 Datenträgern zu überbrücken. Dabei gibt es zwei Arten von Paritätsdaten - Daten, die auf einer XOR (exclisive or) Operation (PD) basieren und Reed-Solomon Daten (RS) aber diese Unterscheidung ist für eine Datenrettung nicht wichtig. Weitere RAID-Level Neben den genannten gibt es alle möglichen Kombinationen wie ein RAID 50 oder RAID 60 und die RAID-Level 2, 3 und 4 - die jedoch in der Praxis kaum Anwendung finden. Software- und Hardware-RAID Ein RAID kann auf zwei verschiedene Weisen erstellt werden. Ein Software-RAID wird mit einem Programm erstellt, das aus den physischen Festplatten eine logische Festplatte erstellt, mit der das Betriebssystem dann wie 370

mit jedem anderen Datenträger arbeiten kann. Die Aufgabe der Kalkulation von Paritätsdaten übernimmt hier dann die CPU. Ein Hardware-RAID nutzt einen RAID-Controller, der im PC eingebaut ist. Festplatten werden dann an diesem RAID-Controller angeschlossen und der Controller übernimmt das Kalkulieren von Paritätsdaten, was das System entlastet. JBOD Eine Sonderform ist ein JBOD (Just a Bunch Of Disks). Hierbei werden Festplatten aneinandergereiht und wenn eine voll ist, gehen die Daten auf die anderen über. DISK A

DISK B

DISK C

DISK D

Block 1

Block 6

Block 11

Block 16

Block 2

Block 7

Block 12

Block 17

Block 3

Block 8

Block 13

Block 18

Block 4

Block 9

Block 14

Block 19

Block 5

Block 10

Block 15

Block 20

Damit hat das JBOD keine Redundanz, aber wenn eine Festplatte ausfällt, sind zumindest die Daten der anderen Festplatten noch nutzbar, wenn auch das Dateisystem dann beschädigt wäre. Probleme und Herausforderungen bei RAID-Datenrettungen Zuerst sollten wir überlegen, was passiert, wenn ein Datenträger ausfällt. Da ein Ausfall bei allen RAID-Leveln toleriert werden kann, außer bei RAID 0, gibt es zwei mögliche Szenarien: > Der Kunde bemerkt den Ausfall nicht und benutzt das RAID-Array weiter, bis so viele weitere Datenträger ausfallen, das es zu Datenverlust kommt. > Der Kunde tauscht den Datenträger aus und bildet das Array neu. Oftmals verwechseln Privatpersonen und kleine Firmen ein RAID mit einem Backup. Das RAID schützt weder vor Urgewalten (Blitzschlag, Hochwasser, ...) noch vor Diebstahl oder Brandschäden. Genau darum ist es auch kein Backup!

371

Nutzt der Kunde das Array unbemerkt weiter, haben wir womöglich 2 oder gar 3 Festplatten, die über einen Zeitraum von beispielsweise 2 oder 3 Jahren ausgefallen sind. Das ist ein Problem, denn nun haben wir bis zu drei defekte Platten und wir wissen nicht, welche zu welchem Zeitpunkt ausgefallen ist. Eine dieser Platten kann nun den Datenstand von vor 2 Jahren haben, eine weitere den Datenstand von vor 1 Jahr und die Dritte den Datenstand von gestern. Wir müssen also oftmals mehrere Platten retten, um dann zu sehen, welche wir für eine Datenrettung benötigen, wenn es keine Hinweise in Log-Dateien oder Ähnlichem gibt. Hier kann das Betrachten von Dateisystem Metadaten helfen. Wir hatten schon Arrays, bei denen wir eine leere Platte dabei hatten, die als Hotspare dienen sollten, aber nie konfiguriert wurden oder bei denen alte Platten, die nicht mehr Teil des Arrays waren, nicht ausgebaut wurden. Prüfen Sie also immer, ob eine Platte überhaupt zum Array gehört oder nicht! Es ist auch essenziell wichtig, dass Platten nummeriert werden. Wir müssen wissen, welche Platte in Schacht 1 und welche in Schacht 4 war, um dann zu verstehen, welche Platte nun sda oder sdd in den Logs war und in welcher Reihenfolge wir die Platten zusammensetzen müssen. Hat der Kunde versucht, das RAID wieder zusammenzusetzen, gibt es zwei mögliche Probleme. Das Offensichtlichere ist, dass wir hier mehrere Platten haben, die mehrere Jahre alt sind und eine entsprechend hohe Laufleistung haben sehen wir uns dazu die S.M.A.R.T. Daten von Platten aus einem realen Fall an: === START OF INFORMATION SECTION === Model Family:

Western Digital Caviar Green (AF)

Device Model:

WDC WD15EARS-00Z5B1

Serial Number:

WD-WMAVU2043236

LU WWN Device Id: 5 0014ee 002089f61 Firmware Version: 80.00A80 User Capacity:

1.500.301.910.016 bytes [1,50 TB]

Sector Size:

512 bytes logical/physical

ATA Version is:

ATA8-ACS (minor revision not indicated)

SATA Version is:

SATA 2.6, 3.0 Gb/s

Local Time is:

Sat Apr 10 19:18:32 2021 CEST

SMART support is: Available and Enabled - device has SMART capability.

372

=== START OF READ SMART DATA SECTION === ID# ATTRIBUTE_NAME

FLAG

VALUE WORST THRESH TYPE

UPDATED

WHEN_FAILED RAW_VAL.

1 Raw_Read_Error_Rate

0x002f

200

200

051

Pre-fail

Always

-

0

3 Spin_Up_Time

0x0027

216

180

021

Pre-fail

Always

-

4175

4 Start_Stop_Count

0x0032

089

089

000

Old_age

Always

-

11766

5 Reallocated_Sector_Ct

0x0033

093

093

140

Pre-fail

Always

7 Seek_Error_Rate

0x002e

200

200

000

Old_age

Always

-

0

9 Power_On_Hours

0x0032

002

002

000

Old_age

Always

-

72091

10 Spin_Retry_Count

FAILING_NOW 849

0x0032

100

100

000

Old_age

Always

-

0

11 Calibration_Retry_Count 0x0032

100

100

000

Old_age

Always

-

0

12 Power_Cycle_Count

0x0032

097

097

000

Old_age

Always

-

3387

192 Power-Off_Retract_Count 0x0032

200

200

000

Old_age

Always

-

86

193 Load_Cycle_Count

0x0032

153

153

000

Old_age

Always

-

141377

194 Temperature_Celsius

0x0022

123

083

000

Old_age

Always

-

27

196 Reallocated_Event_Count 0x0032

001

001

000

Old_age

Always

-

472

197 Current_Pending_Sector

0x0032

199

195

000

Old_age

Always

-

454

198 Offline_Uncorrectable

0x0030

200

199

000

Old_age

Offline

-

3

199 UDMA_CRC_Error_Count

0x0032

200

200

000

Old_age

Always

-

0

200 Multi_Zone_Error_Rate

0x0008

200

166

000

Old_age

Offline

-

111

Neben den Zeilen mit den IDs 5, 196, 197 und 198, die auf einen relativ schlechten Gesamtzustand hindeuten, haben wir auch noch eine Laufzeit von über 72000 Stunden (ID 5). Dies entspricht mehr als 8 Jahren 24/7 Betrieb für eine Standard Consumer-Platte wie die WD Green. Wir haben also eine Platte, die niemals für den 24/7 Betrieb ausgelegt war, die über 8 Jahre gelaufen ist und drei weitere Festplatten, die genau die gleiche Laufleistung haben und nun dazu verwendet werden, alle fehlenden Datenfragmente auf eine neue Festplatte wiederherzustellen. Wenn wir nun mehrere alte Platten haben, die nun in 1 oder 2 Tagen mehr Arbeiten sollen als im gesamten letzten Jahr, dann ist ein Ausfall einer weiteren HDD sehr wahrscheinlich. Hier war allerdings das zweite mögliche Szenario der Fall. Viele Kunden wissen gar nicht, was genau Sie da haben bzw. was die ganzen Punkte im Webinterface eigentlich machen. Sehen wir uns dazu das Array dieses Kunden an:

373

DISK A

DISK B

Block 1

Block 2

Block 5

Block 6

Block 9 PD Block 13

PD

DISK C Block 3 PD

DISK D PD Block 4

Block 7

Block 8

Block 10

Block 11

Block 12

Block 14

Block 15

PD

Hier war Platte C ausgefallen. Als der Kunde diese ersetzte, ließ er das NAS das Array neu zusammensetzen. Hierbei wurde aus Block 1 und 2 mit den Paritätsdaten Block 3 errechnet, dann wurden aus Block 5, 6 und 4 die fehlenden Paritätsdaten errechnet. Usw. Das Array musste also jedem Block lesen, danach eine mathematische Berechnung darüber laufen lassen und dann das Ergebnis auf die Festplatte C schreiben. Da ein kleines NAS-System (vor allem ein so altes) nicht über einen sehr leistungsstarken Prozessor verfügt, dauerte dies ziemlich lange. Nachdem der Kunde über Stunden nicht sah, dass der Vorgang fertig wurde, macht er, was ein normaler User gelernt hat. Wenn der PC hängt, schaltet man ihn ab und dann fährt er wieder normal hoch. Nur war hier das Array nun halb zusammengebaut und plötzlich war es gar nicht mehr erreichbar. Also macht der User das, was viele User machen würden - er probiert die verschiedensten Optionen aus und schaut welche passt - klappt ja schließlich in Word und Excel auch. Nur ist ein RAID-Array nicht das passende Objekt für "Learning by doing"! Nachdem der Kunde mehrere Male versuchte, das RAID mit unterschiedlichsten Optionen zusammenzusetzen, hatte er quasi die Daten mehrfach durch den Reißwolf gejagt und wieder zusammengepuzzelt. Das führt uns zu dem nächsten Problem - Kunden lügen. Viele denken, wenn Sie nicht erwähnen, wie viel sie und diverse "PC kundige" Bekannte schon daran herumgebastelt haben, wird es billiger. So auch hier und wir haben Stunden damit verbracht, die Daten zu untersuchen (wie genau das geht dazu später mehr), um die Reihenfolge und Stripe-Größe zu ermitteln und das Array auf verschiedenste Weise zusammenzusetzen. 374

Das Ergebnis waren Bilder wie diese:

Das Problem war, dass die Daten keinen Sinn ergaben und sich wiedersprachen. Daher haben wir Platte für Platte mit einem Hex-Editor untersucht und wir fanden Spuren und Artefakte mehrerer Versuche. Damit konfrontiert, rückte der Kunde auch mit der Wahrheit heraus. Das Problem dabei ist, dass wir so einige Arbeitsstunden für Versuche verwendet haben, die völlig sinnlos waren. Dennoch konnten wir diesem Kunden helfen - nachdem klar war, dass ein Zusammenbau nicht mehr funktionieren kann, haben wir uns darauf konzentriert, JPG-Vorschaubilder aus den Datenfragmenten zu extrahieren und diese mit den EXIF-Daten von dem Bild zu versehen. So konnten wir zumindest ein paar Familien-Erinnerungen retten.

375

Fallbeispiel RAID 0 Was wir in unserem Datenrettungslabor häufig sehen, sind RAID 0 NAS-Boxen mit zwei Platten. Dies ist auch der einfachste Fall, den man haben kann! Wir müssen die Stripe-Größe ermitteln und dann können wir die Reihenfolge der Platten testen - bei zwei Platten kann dies ja nur A, B oder B, A sein... Bei RAID Klonen wir immer alle Platten, denn die verschiedensten Tests und Versuche, die Daten zusammenzubauen, stressen die Platten sehr. Wir wollen auf keinen Fall einen Ausfall riskieren! Sehen wir uns zuerst an, wie wir das bewerkstelligen. Dazu öffnen wir die ImageDateien in r-Studio:

Nun können wir eine der Festplatten nach Daten durchsuchen. Je nach Größe lasse ich nicht das gesamte Image untersuchen, sondern nur einen Teil. Diesbezüglich ist r-Studio super, denn wir können den Scan jederzeit abbrechen und uns das partielle Ergebnis ansehen. Das erlauben nicht alle Tools! Ich erwarte hierbei kein Dateisystem zu finden, sehe mir aber die BMP und JPGBilder genauer an (beenden Sie den Scan, wenn Sie 500 - 1000 Bilder haben):

376

Hier haben wir ein JPG-Bild mit ca. 63KB das vollständig ist. Einige weitere Bilder, die kleiner sind als 64KB, sind ebenfalls vollständig. Außerdem finden sich einige unvollständige Bilder, die knapp vor der 64KB Marke abgeschnitten sind:

Sehen wir uns ein großes Bild mit ca. 4 MB an, sehen wir nur einen sehr kleinen Streifen an gültigen Bildinformationen (blauer und weißer Streifen ganz oben):

Hier müssen wir nun etwas schätzen - bei einer Stripe-Size von 2MB wäre das halbe Bild in einem Stripe unterzubringen, bei 1MB ca. ein Viertel, usw. Bei 64KB wären wir bei ca. 1/64 des Bildes und das kann hinkommen. Wenn wir uns die große Datei ansehen, könnte diese gut aus 64 Streifen bestehen. Damit haben wir drei Indizien, die auf eine Stripe-Größe von 64KB hindeuten. Das ist auch die gängigste Stripe-Größe die wir zu sehen bekommen. Noch besser als JPG sind BMP-Dateien. Bitmaps bauen sich zeilenweise von unten nach oben auf und da Sie nicht komprimiert sind, ist der Aufbau gleichmä377

ßiger - 50% einer BMP-Datei sind dann auch ziemlich genau 50% des Bildes! Bei JPG-Dateien gibt es komplexe und lange Header mit EXIF-Daten und eventuell sogar Vorschau-Bildern, die das Ergebnis stark verfälschen. BMP-Header sind im Vergleich dazu sehr klein und fallen kaum ins Gewicht. Hierbei darf man nicht vergessen, dass es Fragmentierung gibt oder das ein Bild zB in einem PDF eingebettet sein kann. All das verfälscht bei manchen Daten die Ergebnisse! Der nächste Schritt ist das Erstellen eines Virtuellen Block RAIDs in r-Studio und das Hinzufügen der Images. Klicken Sie dazu auf den RAID-Button und dann auf "Virtuelles Block RAID erstellen". Wenn Sie links in der Leiste das virtuelle RAID auswählen, können Sie die ImageDateien einfach in das RAID-Fenster ziehen:

Hier müssen wir nun die Stripe-Größe bzw. Block-Size von 64KB einstellen (a) und die Reihenfolge der Platten festlegen (b). Am besten setzen Sie unten den Haken bei Änderungen sofort speichern, damit Sie nicht aus Versehen eine alte Konfiguration erneut scannen. Nun können wir das Array wie jeden anderen Datenträger scannen... Allerdings sind die Ergebnisse nicht gerade berauschend:

378

Wir haben kein Dateisystem gefunden und alle Bilder, die größer sind als 64KB sind auch beschädigt. Daher versuchen wir eine andere Reihenfolge:

Nun haben wir Dateinamen und Ordner gefunden. Das Dateisystem muss zumindest partiell in Ordnung sein:

379

Allerdings haben wir noch immer großteils beschädigte Bilder. Eine mögliche Einstellung, die wir bis jetzt noch nicht gesetzt hatten, ist der Offset. Um diesen zu ermitteln, sehen wir uns die Daten im Hex-Editor an:

Hier finde ich erstmals nach dem MBR Daten im Sektor 2048 auf einer der ImageDateien. Sie können nun den Offset auf diesen Wert setzen und von dort aus, schrittweise erhöhen oder Sie müssen erkennen, was dieser Sektor darstellt und welchen Wert Sie für den Offset setzen müssen:

380

Hier in dem Fall ist es ein Sektor mehr mit einem Offset von 2049 bekommen wir die Daten wiederhergestellt:

RAID-Datenrettungen können also einiges an Zeit in Anspruch nehmen und Sie müssen vor allem am Anfang viel recherchieren. Außerdem gibt es ein paar Tools, die Ihnen helfen. Zuerst wollen wir uns Free RAID Recovery von ReclaiMe (http://www.freeraidrecovery.com/) ansehen:

381

Mit einem Klick auf den Abwärts-Pfeil neben dem Disks-Button können Sie Image-Dateien laden. Wenn Sie diese dann in der Liste anhaken, können Sie mit einem Klick auf den RAID 0 Button eine Analyse starten. Das setzt aber auch voraus, dass Sie zumindest wissen, mit welchen RAID-Level Sie es zu tun haben.

Die Analyse dauert je nach Dateigröße und Geschwindigkeit Ihrer Datenträger und Ihrer CPU einige Zeit. Nach der Analyse erfolgt ein Scan, bei dem weitere Daten gesammelt werden:

382

In diesem Fall schlägt es aber fehl:

RAID-Datenrettungen ist oftmals eine Materialschlacht. Unterschiedliche Tools kommen unterschiedlich gut mit diversen RAID-Arrays klar. Free RAID-Recovery ist eines der Tools, die besser mit Hardware-RAIDs klarkommen als mit Software-RAIDs. Reclaime Ultimate (https://www.reclaime.com/) hingegen erkennt das RAID automatisch, sobald wir die Image-Dateien hinzufügen:

Ein weiteres Tool, das dieses RAID gleich erkennt, ist UFS Explorer:

383

Dieses Programm hat aber noch einiges mehr zu bieten. Oftmals kommt es vor, dass der Kunde selbst nicht weiß, wie das RAID konfiguriert wurde. Ich treffe nicht selten auf Hinterlassenschaften von IT-Firmen, die es schon lange nicht mehr gibt und die natürlich auch keine Dokumentation hinterlassen haben. Daher ist es teilweise nicht mal klar, welche Platten zu welchem RAID gehören und ob auch alle Platten in Verwendung waren. Hierfür hat UFS-Explorer in der RAID-Version ein sehr nützliches Tool. Fügen wir dazu kurz ein RAID zusammen... Klicken Sie dazu auf den RAID-Button und dann Build RAID. Dann können wir die Images mit Open -> Image file or virtual Disk öffnen. Klicken Sie die ImageDateien danach mit Rechts an und wählen Sie Add to RAID, um die Datei den virtuellen RAID hinzuzufügen. Außerdem habe ich hier noch meine Systemplatte hinzugefügt. Klicken Sie dann auf Disk data reports:

384

Dies führt eine Entropie-Analyse aus. Hierbei wird die Zufälligkeit von Daten errechnet. Je zufälliger die Daten sind, umso höher die Entropie-Werte. Ein Text besteht beispielsweise nur aus Buchstaben, Ziffern und Satzzeichen, wohingegen eine Binärdatei wie ein Bild oder ein Office-Dokument, ein Bild oder ein Video alle 256 möglichen Werte, die ein Byte annehmen kann, nutzt. Die Entropie dieser Daten ist also deutlich höher als die Entropie von Text. Abgesehen davon ist Text gut vorhersagbar - so folgt auf den Buchstaben q in fast allem Fällen ein u bei deutschen Texten. Auch das verringert die Zufälligkeit nochmals deutlich. Paritätsdaten haben hierbei noch einen höheren Entropie-Wert als die zu Grunde liegenden Daten selbst. Das gilt zB auch für verschlüsselte Daten. Also legen wir einen Start-Sektor fest und eine Länge in Sektoren und dann klicken wir auf den Build report Button. Hier sehen wir beispielsweise, dass Festplatte 1 und 2 relativ ähnliche Daten haben, wohingegen Festplatte 3 ein völlig anderes Bild zeigt! Wenn wir dies an mehreren Positionen vergleichen, sehen wir sehr klar, dass die dritte Platte nicht zu den anderen passen kann. Zumindest nicht bei einem RAID 0, bei dem die Daten abwechselnd über die Platten verteilt worden. Wir können so aber auch bei einem RAID 10 feststellen, welche Platten ident aussehen - das wären dann die Spiegelungen voneinander oder welche unterschiedlich aussehen - das wären dann die Platten, die das RAID 0 bilden. Sie sehen also, dass dieses relativ einfache Tool sehr nützlich ist, wenn es darum geht, die möglichen Konfigurationen einzugrenzen.

385

Fallbeispiel RAID 5 Ein weiteres Beispiel ist ein RAID 5, dass ich erstellt habe. Wenn wir die Images in UFS Explorer öffnen und uns die Entropie ansehen, sehen wir schön ein Muster, das sich abzeichnet:

Die Paritätsdaten haben in der Regel eine höhere Entropie. Dies zeigt uns folgende Dinge: > Dies ist höchstwahrscheinlich ein RAID 5, dass aus drei Datenträgern besteht. Wir sehen schön die Paritätsblöcke und die Datenblöcke. Wir sehen auch, dass die Datenbereiche doppelt so breit sind wie die Paritätsdaten - wir haben also 2 x Daten und 1 x Parität und das ergibt 3 Festplatten. > Da wir hier ein Software-RAID haben, dass auf dem Linux LVM beruht und der LVM Links herum arbeitet und nicht rechts herum sehe ich auch, dass die Reihenfolge nicht stimmen kann. Um dies zu wissen, müssen wir allerdings recherchieren, welche Technik das Verwendete NAS oder der Server einsetzt und wie diese arbeitet. Außerdem finden wir so auch oftmals die Standard Stripe-Größe heraus und diese wird meist nicht angepasst. Tauschen zwei Platten die Plätze in der Reihenfolge, sieht es richtiger aus:

386

Diese Analyse hilft uns zu erkennen, ob Festplatten in ein Array hineinpassen und beim Ermitteln der möglichen Reihenfolge. Da wir nun die Anzahl der Platten kennen und die möglichen Reihenfolgen eingegrenzt haben, können wir nach dem Offset suchen. Dazu nutze ich gern den Hex-Editor von r-Studio denn dieser erlaubt es mir nach Werten zu suchen, die nicht 0x00 sind. So finde ich folgende Daten im Sektor 2083 bzw. 0x823:

387

Hier nutze ich wieder UFS da ich so alle drei Platten gleichzeitig betrachten kann. Wenige Sektoren Später finde ich Folgendes:

Wenn ich diese Daten ausschneide und in eine leere Hex-Datei in HxD einfüge, als LVMconf.json speichere und dann in Notepad öffne, sehe ich Folgendes: fileserver_raid5 { id = "L3OGBt-Hswy-4rwL-Pyu4-Q2yv-0uig-HjHw36" seqno = 1 status = ["RESIZEABLE", "READ", "WRITE"] 388

flags = [] extent_size = 65536 max_lv = 0 max_pv = 0 metadata_copies = 0 physical_volumes { pv0 { id = "XMvp0f-hNyG-Spj3-2hEd-Bw2n-7xR1-v6Zq4C" device = "/dev/md1" status = ["ALLOCATABLE"] flags = [] dev_size = 7989248 pe_start = 2048 pe_count = 121 } } } # Generated by LVM2 version 2.02.77(2) (2010-11-22): Thu Nov 18 10:14:34 2021 contents = "Text Format Volume Group" version = 1 description = "" creation_host = "localhost.localdomain" # Linux localhost.localdomain 2.6.32-71.18.1.el6-0.20.smp.gcc4.1.x86_64 #1 SMP Fri Mar 25 23:12:47 EDT 2011 x86_64 creation_time = 1637226874 # Thu Nov 18 10:14:34 2021

Das verrät mir einiges über die Konfiguration. Auch ein RAID muss die Konfigurationsdaten irgendwo ablegen und was wäre da nahe liegender als ein paar Sektoren am Anfang oder am Ende zu benutzen? Meist können wir Anfangsmarker eines Sektors oder bestimmte Schlagwörter dann direkt in Google finden und so erfahren, womit wir es zu tun haben. Der Rest ist Dokumentation wälzen! 389

Für sehr komplexe Fälle gibt es noch ein Tool namens ReclaiMe Pro (http://www.reclaime-pro.com/), dass mit 800 USD allerdings nicht gerade günstig ist. Dafür beherrscht es einige Analysen, die andere Tools so nicht bieten. Daher empfehle ich dieses Tool vor allem bei komplexen RAIDs. Das Handbuch, in dem erklärt wird, wie man das Programm am besten einsetzt und wie diverse Dinge im Hintergrund funktionieren, schlägt mit weiteren 500 USD zu Buche. Diese RAID 5 Konfiguration erkennt r-Studio übrigens auch und kann das Array automatisch zusammensetzen. Es macht also Sinn, die verschiedensten Tools auszuprobieren, bevor man versucht, ein RAID-Array manuell zusammenzusetzen.

390

391

EXPERIMENTELLE TECHNIKEN Einige Technologien bzw. Begriffe tauchen immer wieder im Bezug auf Datenrettungen auf. Ich will an dieser Stelle einige dieser nicht totzukriegenden Legenden aus dem Internet und deren technische Hintergründe kurz besprechen. Ich habe mich selbst auch nur relativ oberflächlich mit diesen Themen beschäftigt und mich nur bis zu diesem Punkt eingearbeitet, um Kunden kompetent zu erklären, warum diese Technologien theoretisch existieren, praktisch aber nicht angewendet werden. Wenn Sie sich mit den genannten Themen näher beschäftigen wollen, nehmen Sie das folgende Kapitel als grobe Einführung und vertiefen Sie Ihr Wissen im Internet. Hierbei würde ich Google Scholar empfehlen, denn eine reguläre Google-Suche bringt eine Unmenge von Informationen, aus denen Sie das wenige brauchbare herausfiltern müssen.

392

MFM (Magnetic Force Microscopy) Eine Firma namens Actionfront hat vor einigen Jahren eine Maschine vorgestellt, die Daten direkt von den Magnetscheiben lesen konnte. Hierbei haben wir aber die gleichen Probleme wie bei einem Chip-Off von einem USB-Stick. Wir lesen alle Daten mit den ECC-Daten, Markern, der Firmware, Positionierungsangaben für den Kopf und vielen mehr. Daher müssten wir die Daten erst mal bereinigen und die ECC-Korrektur ausführen. Mit den so gewonnenen Sektoren müsste man anhand von Daten aus der Service-Area Funktionen der Firmware nachbilden - zB den Translator, der die Positionen der Sektoren anhand der G- und P-List errechnet. Das Problem ist, dass eine damals durchschnittliche Plattengröße von 40 GB ca. 1 - 2 Monate benötigte, um gelesen zu werden. Dazu muss man aus wirtschaftlicher Sicht folgendes Bedenken: 1. Ein Headswap- und das Reinigen von verschmutzten Platten vor dem Headswap ist nicht nur viel schneller, sondern auch einfacher und die dazu nötigen Tools sind im Verhältnis dazu viel günstiger. Es stellt also keine Alternative für alltägliche Datenrettungen dar. 2. Die Anschaffungskosten des Gerätes waren nicht unerheblich und ein Einsatz wäre nur bei Fällen denkbar, bei denen die althergebrachten Methoden nicht mehr verwendet werden können - zB beschädigte Magnetscheiben. 3. Aufgrund der hohen Anschaffungskosten und der langen Zeit, die ein Fall braucht, wären die Kosten für derartige Datenrettungen enorm hoch. Außerdem wären viele der Datenrettungen erfolglos, da Beschädigungen entweder die wichtigen Daten oder die benötigten Teile der Firmware unbrauchbar machen. 4. Festplattenkapazitäten verdoppeln sicht alle paar Jahre und ein derartiges Gerät wäre in 1 - 2 Festplattengenerationen quasi unbrauchbar. Bedenkt man all das, wird schnell klar, warum es keinen Markt gibt. Denn größere Platten mit 80 oder gar 160 GB hätten damals schon 2 - 4 bzw. 4 - 8 Monate gebraucht und ein Eingrenzen der Daten anhand von LBAs wie wir es bereits 393

mehrfach taten, wäre auch nicht machbar. Kaum ein Kunde hätte das Budget für eine Datenrettung so viel Geld wie für einen Fabrikneuen Klein- oder Mittelklasse PKW auszugeben und dann noch die Zeit bis zu einem Dreivierteljahr darauf zu warten... Das Gerät ist beeindruckend und zeigt, was theoretisch möglich ist, wurde aber meinem Kenntnisstand nach nirgendwo kommerziell eingesetzt. Die Firma wurde schließlich von Seagate aufgekauft und daraus entstand meines Wissens nach Seagate Data recovery.

Fazit Ob sich Geheimdienste im stillen Kämmerchen an derartigen Methoden versuchen, um noch Daten von beschädigten Datenträgern zu gewinnen, ist theoretisch denkbar, aber nicht genau bekannt. Praktisch ist die Methode das Gleiche, was bei einer Chip-Off Datenrettung mit Tools wie PC-3000 Flash oder VNR gemacht wird. Da die Datenmengen hier jedoch deutlich größer wären und die Daten quasi aus Bildern und nicht aus digitalen Signalen ausgelesen werden müssten, ist das Vorgehen hierbei viel komplexer und rechenintensiver. Ich persönlich sehe hier nicht die Kosten als limitierenden Faktor, aber die Zeit. Ich bezweifle, dass viele Erkenntnisse, die man so gewinnen könnte, nach Monaten oder eventuell Jahren harter Arbeit noch einen Wert haben. Aber mit genügend personellen und finanziellen Ressourcen kann man eine derartige Datenrettung sicherlich auch entsprechend schnell ausführen. Das würde dann aber bedeuten, dass dies nur in sehr wenigen Ausnahmesituationen erfolgen kann, denn damit werden verfügbare Experten, die auf diesem Niveau arbeiten können, zum limitierenden Faktor.

394

Restmagnetisierung Ein ähnliches Spukgespenst aus den Tiefen der Internet-Legenden ist das Thema Restmagnetisierung. Das Schreckgespenst oder der letzte Strohhalm der Restmagnetisierung (je nach dem aus welcher Perspektive man es betrachtet), soll es ermöglichen, überschriebene Daten wiederherzustellen. Ich kenne kein einziges Labor, dass Daten auch nur einmaligem Überschreiben wiederherstellen kann. Man kann theoretisch die G-List leeren und so Daten von den paar ausgemappten Sektoren retten, aber diese Ergebnisse liefern maximal Datenfragmente für eine forensische Untersuchung und selbst dafür ist es fraglich, ob der entsprechende Aufwand lohnt. Auf der anderen Seite empfehlen Datenschützer das 3 bis 35-fache Überschreiben von Daten und dies befeuert die Legenden rund um die Restmagnetisierung! Derartige Standards zur sicheren Datenvernichtung sollen nicht nur heute, sondern auch in Zukunft vor unbefugten wiederherstellen der Daten schützen. Dabei sollen die technische Evolution und auch eventuell anfallende technologische Sprünge bedacht werden. Wenn nun nächstes Jahr Quantencomputer zu Alltagsmaschinen werden und durch die Art und Weise mit der Quantenbits arbeiten plötzlich alle Permutationen von einfach mit Nullen überschriebenen Daten zeitgleich berechnen können, wäre eine unberechtigte Wiederherstellung von Daten durchaus denkbar. Genau darum wird zB ein Deutschland vom BSI empfohlen, je nach Alter der Festplatte die Daten 3- oder 7-fach zu überschreiben. Damit sollten sowohl Quantencomputer als auch entsprechende Hardware zum Auslesen selbst in den nächsten Jahrzehnten an Ihre Grenzen stoßen... Die Idee dahinter ist sogar relativ einfach in der Theorie: Festplatten speichern Daten als Folge von Nullen und Einsen in Form von magnetischen Ladungen. Diese werden beim Überschreiben mit Nullen in der Theorie nicht völlig eliminiert. Und so können kleine magnetische Restladungen überbleiben.

395

Dies habe ich in der oberen Grafik anhand des Wortes "HDD" (010010000100010001000100) dargestellt. Wo der rote Schreib-/Lesekopf bereits die Daten überschrieben hat, verbleiben kleine Restmagnetisierungen. Diese sind mit der in der Platte verbauten Elektronik nicht mehr von einer Null zu unterscheiden! Der Ansatz, die Restmagnetisierung zu nutzen, ist stark vereinfacht relativ leicht zu erklären - man nutzt einen Verstärker und wandelt das Signal nicht in 1-bit Werte (0 oder 1), sondern in viele Zwischenstufen um - zB 0 bis 4096. Damit würden zB die noch nicht gelöschten Einsen in der Datenspur zu 4096 und die bereits gelöschten Einsen zu 32. Die Datenmenge, die dadurch entsteht, wäre allerdings auch um ein Vielfaches größer als die ursprüngliche Platte. Um die ursprünglichen Daten zu erhalten, müsste man dann die 4096 Abstufungen auf die Werte 0 und 1 mappen. So könnte man sagen, dass alle Werte, die unter 32 sind, eine 0 werden und alles ab 32 eine 1. Platten werden aber nicht nur einmalig bespielt und dann wieder gelöscht - vielmehr wird mit Ihnen gearbeitet und hier kommen auch die zwei rot markierten Nullen ins Spiel. Diese sollen Einsen von zuvor an dieser Stelle gespeicherten Daten darstellen, die dann mit den Nullen von "HDD" überschrieben worden sind und sie könnten zB den Wert 26 entsprechen. Es wird also davon abhängen, wie gut und genau wir dem Trennpunkt für das Mapping bestimmen können, ob wir großteils brauchbare oder großteils beschädigte Daten erhalten! Ein Datenretter-Kollege hat es mit folgenden Worten auf den Punkt gebracht: "So, in practice; give me a 250000 EUR research budget and a year of time, I may be able to recover an old 5MB up to maybe 20MB drive that was zero filled." 396

Sie können dies selbst mit einem kleinen Versuch ausprobieren - nehmen Sie einen alten Kassettenrekorder und nehmen Sie Musik oder Sprache auf eine Kassette auf. Wenn Sie diese Kassette dann mit Stille bzw. dem Grundrauschen des Mikrofons überschreiben und dann die Aufnahme bei maximaler Lautstärke wiedergeben, können Sie zwischen dem Rauschen meist die alte Aufnahme noch erahnen. Diese könnte man dann digitalisieren und mit Filtern bearbeiten, um die Aufnahme zu retten. Im Grunde das gleiche Prinzip - nur wissen Sie bei der Aufnahme, was Sie an welcher Stelle erwarten. Bei einer HDD wissen Sie nicht, ob die Daten an dieser Stelle ein JPEG-Bild, eine EXE-Datei oder ein PDF sind. Das macht es nochmals um ein Vielfaches schwerer... Bei modernen Festplatten sind die Daten so dicht gepackt, dass die gleiche Technik nicht mehr möglich ist. Hier kann man nur noch mit Elektronenmikroskopen arbeiten, die eine wesentlich höhere Auflösung und damit feinere Abstufungen erlauben. Abgesehen davon, dass so ein Elektronenmikroskop ca. 1 Million Euro kostet, steigt der Speicherbedarf, um die vielen kleinen Abstufungen erfassen zu können, nochmals extrem an. Man darf also neben dem Mikroskop auch noch einen oder sogar mehrere Storage-Server anschaffen. Daher versteht es sich auch hier von selbst, dass aufgrund des hohen finanziellen Aufwandes für Geräte, Speicherplatz und der erforderlichen Rechenleistung eine derartige Datenrettung kommerziell nicht sinnvoll umsetzbar ist. Außerdem bringt uns das wieder zu dem zuvor bereits erwähnten Problem zurück, dass wir so wieder alle Informationen von der HDD lesen und aus diesen dann erst wieder die Userdaten herausextrahieren müssen.

397

BUCHEMPFEHLUNGEN #!/usr/bin/python3 ALICIA NOORSsys, time import MARK B. import socket as s if len(sys.argv) != 3: print("USAGE:") print("./" + sys.argv[0] + " [IP] [STARTPORT-ENDPORT] \n") sys.exit() ip = sys.argv[1] ports = sys.argv[2].split("-")

HACKEN MIT PYTHON UND KALI-LINUX

ts = time.time() print("SCANNING " + ip + " Ports " + ports[0] + "-" + ports[1]) for port in range(int(ports[0]), int(ports[1]) + 1): print("Testing Port " + str(port) + "...", end="\r") soc = s.socket(s.AF_INET, s.SOCK_STREAM) soc.settimeout(6) res = soc.connect_ex((ip, port))

ENTWICKLUNG EIGENER HACKINGTOOLS MIT PYTHON

if res == 0: UNTER KALI-LINUX banner = "" if port == 80: soc.send(b'GET / HTTP/1.1 \r\n') try: banner = soc.recv(1024) banner = banner.decode("UTF-8", errors="replace").strip() if port == 80: tmp = banner.split("\n") for line in tmp: if line.strip().lower().startswith("server"): banner = line.strip() except: pass print("Port " + str(port) + " OPEN [" + banner + "]") soc.close()

Python ist eine leicht zu erlernende und dennoch eine sehr vielfältige und mächtige Programmiersprache. Lernen Sie mit der bevorzugten Sprache vieler Hacker, Ihre eigenen Tools zu schreiben und diese unter Kali-Linux einzusetzen, um zu sehen, wie Hacker Systeme angreifen und Schwachstellen ausnutzen. Durch das Entwickeln Ihrer eigenen Tools erhalten Sie ein deutlich tief greifenderes Verständnis, wie und warum Angriffe funktionieren. Nach einer kurzen Einführung in die Programmierung mit Python lernen Sie anhand vieler praktischer Beispiele die unterschiedlichsten Hacking-Tools zu schreiben. Sie werden selbst schnell feststellen, wie erschreckend einfach das ist. Durch Einbindung vorhandener Werkzeuge wie Metasploit

ISBN: 978-3748165811 Verlag: BOD

d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m

19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 17 17 17 17 17 18 18 17 17 17 17 17 17 17 17 17 17 17 17

s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s

LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT LEFT

:: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: ::

9f240e144575bf66261b81785af707d7 == coco1957 a3bceab2864997341d74dbb5e8c3b288 == cobra999 37d2fcdf4147624a3a3cb3849073e557 == cmacgm 78ff76cdd9517176940c29e17bb259d1 == cliorsi 34fabded000cd2bdf8027a195d522d95 == clement12 c1b62f4fd2fdb127cb72112f59f46a05 == clement0 198b479a47edca63664f3114d640f161 == cilita 27d63cbef588f3c5e1db814cce2acd52 == cholow d706286512f2d598b1c7317504f6cf11 == chipoune eeb4699883edb9961644c51cff9c82ba == chipou 09091564e6a0ccebf621799733496d42 == chipie13 f9d211e2ef67430fe69427ddef044141 == chaumes 0390ff221609f5af402d5b03490fc871 == chaton13 Mark bb4c6cb298808bc88e78497eb667ec26 ==B.charpente 0ee2a5f9ac848285e25715416ecdfe6b == charleroi c56aedac772e91d08413d23b7f2ddc6a == cham1984 3af362f45415fc85d22a64a74b504f90 == cgcc e92b6498ea4a3ad2f8c96cf8a93dd043 == cetelem e00dda6957782bc643465aa7c7569a23 == celtique 2c33941c8f51d9bd0c4a655834f468c0 == categorie 6584f65ec8af6c626b62831e570ca9f7 == cassius04 99d58996a9d43caa820c759490deccec == carquin ca25a45e3ad4600c79d43e902508b2fd == carpes 5ecc64fe1ade144595703951906860c6 == carlito07 a449b20270703dbb0a33bfcd3b576582 == caravane 2b68ab0c0fc5c00bfc78d028c812238c == calendrier 13b187a3058fb262868494751d1d80b8 == cagouille d4b3d007334ee3654886bb6b72f3ef26 == bullette 042e9ac84e41725deda72df3b806e298 == buddy0305 b932a8bd75d6d7b3cdb5d3d7b03d3df1 == brugui 825701be642705e665bc83fda3b52193 == brocante 68800178f34da8b8450a2fa138b7193e == bracin 2 . üb e ra r be i tete Au f l a==gebra 3c6ab8c37ec264689cd0131c7014b99d 1091b8010c560bdbcabe1e88e628ebd3 == bourges 35e254ab69a3647d8c32418c7c09a669 == boulogne b778b67ac5e2bd54e2492bacd08ea536 == boubou29 d905338086a28e6cefd0e29a0153dcda == boubaa a370ea6b3644bfa766ea3e37bac82426 == bossass afb01ae7c1068d730f11612526296786 == bonjour66

Hac ke n mi t K a l i - Li n u x

Sch n ellei n s ti eg für Anfä nge r

und Nmap werden Skripte nochmals effizienter und kürzer.

In diesem Buch versuche ich dem Leser zu vermitteln, wie leicht es mittlerweile ist, Sicherheitslücken mit diversen Tools auszunutzen. Daher sollte meiner Meinung nach jeder, der ein Netzwerk oder eine Webseite betreibt, ansatzweise wissen, wie diverse Hackertools arbeiten, um zu verstehen, wie man sich dagegen schützen kann. Selbst vor kleinen Heimnetzwerken machen viele Hacker nicht halt. Wenngleich das Thema ein sehr technisches ist, werde ich dennoch versuchen, die Konzepte so allgemein verständlich wie möglich erklären. Ein Informatikstudium ist also keinesfalls notwendig, um diesem Buch zu folgen. Dennoch will ich nicht nur die Bedienung diverser Tools erklären, sondern auch deren Funktionsweise so weit erklären, dass Ihnen klar wird, wie das Tool arbeitet und warum ein bestimmter Angriff funk-

ISBN: 978-3751969925 Verlag: BOD 398

tioniert.

OpenSCAD ist nicht wie andere CAD-Lösungen und genau das macht es so flexibel und leicht zu erlernen. Alicia Noors

Mit diesem Buch lernen Sie, wie einfach es ist, in OpenSCAD

OpenSCAD

eigene Modelle von Grund auf zu erstellen und diese dann für

verstehen und richtig anwenden

den 3D-Druck oder andere Herstellungsverfahren zu exportieren. Darüber hinaus zeige ich Ihnen, wie Sie mit anderen CADLösungen zusammenarbeiten können und fertige 2D- und

Eine Praktische Einführung in OpenSCAD für den 3D-Druck

3D-Modelle importieren und weiterverarbeiten ... Außerdem zeige ich Ihnen, wie ich an ein Design herangehe, und warum ich einen bestimmten Lösungsansatz für eine bestimmte Situation wähle. So erhalten Sie einen praxisnahen

ISBN: 978-3748172611

Einblick in die Arbeit mit OpenSCAD

Verlag: BOD

00000000: 00000010: 00000020: 00000030: 00000040: 00000050: 00000060: 00000070: 00000080: 00000090: 000000a0: 000000b0: 000000c0: 000000d0: 000000e0: 000000f0: 00000100: 00000110: 00000120: 00000130: 00000140: 00000150: 00000160: 00000170: 00000180: 00000190: 000001a0: 000001b0: 000001c0: 000001d0: 000001e0: 000001f0: 00000200: 00000210: 00000220: 00000230: 00000240: 00000250: 00000260: 00000270: 00000280: 00000290: 000002a0: 000002b0: 000002c0: 000002d0:

ffd8 0060 2a00 8600 1a01 0100 0200 3201 0d00 0201 d603 4154 0000 0000 7020 2028 3231 3000 7777 7068 2a00 0500 0000 0000 0700 0000 0000 0500 0000 0000 0300 0000 0000 0200 0000 0000 0500 0000 0000 0700 0000 0000 0300 0000 0000 0300

ffe0 0000 0800 0000 0500 0000 0000 0200 0000 0000 0000 494f f000 4164 4c69 4d61 3a30 5761 772e 6f74 9a82 0100 0300 3088 0400 3003 0192 0100 6803 0792 0100 1000 9192 0300 0100 03a0 0100 8803 17a2 0100 0100 01a4 0100 0000 05a4 0100

0010 ffe1 0000 1001 0100 ac00 3101 1400 f400 6987 4e49 4e00 0000 6f62 6768 6369 373a 6c74 7761 6f67 0500 0000 0000 0300 0000 0000 0a00 0000 0000 0300 0000 0000 0200 0000 0000 0900 0000 0000 0300 0000 0000 0300 0000 0000 0300 0000

4a46 10a4 0a00 0200 0000 0000 0200 0000 0000 0400 4b4f 4e49 0100 6520 7472 6e74 3234 6572 6c74 7261 0100 2803 2788 0100 3032 0490 0100 6003 0592 0100 0000 0a92 0300 3830 02a0 0100 8003 10a2 0100 0300 02a3 0100 0000 04a4 0100 0000

4946 4578 0f01 0b00 a400 2801 2b00 e000 9882 0100 4e20 4b4f 0000 5068 6f6f 6f73 2031 2052 6572 7068 0000 0000 0300 0000 3330 0200 0000 0000 0500 0000 0000 0500 0000 0000 0900 0000 0000 0300 0000 0000 0700 0000 0000 0500 0000 0000

0001 6966 0200 0000 0000 0300 0000 0000 0200 0000 434f 4e20 f000 6f74 6d20 6829 353a 6973 7269 792e 2003 2288 0100 0200 0390 1400 5803 0492 0100 0500 0992 0100 3830 01a0 0100 2c04 0fa2 0100 0200 01a3 0800 0000 03a4 0100 3c00 07a4

0101 0000 1200 9800 1b01 0100 b400 3b01 2000 2201 5250 4436 0000 6f73 362e 0000 3438 6572 7365 6575 0000 0300 0000 0000 0200 0000 0000 0a00 0000 0000 0300 0000 0000 0300 0000 0000 0500 0000 0000 0700 0000 0000 0300 0000 0000 0300

0060 4949 0000 0000 0500 0000 0000 0200 0000 0000 4f52 3130 0100 686f 3134 3230 3a33 0000 722d 2000 9d82 0100 4006 0090 1400 4403 0292 0100 7003 0892 0100 7803 9292 0100 4006 0ea2 0100 0300 00a3 0100 9003 02a4 0100 9803 06a4 0100

......JFIF.....` .`......Exif..II *............... ................

................ MARK B. ........(....... ....1...+....... 2...........;... ............ ... ....i.......“... ....NIKON CORPOR ATION.NIKON D610 ................ ..Adobe Photosho p Lightroom 6.14 (Macintosh)..20 21:07:24 15:48:3 0.Walter Riser.. www.walterriserphotography.eu . *......... ..... ......(...“..... ......‘.......@. ..0............. ......0230...... ..0...........D. ..........X..... ......`......... ..h...........p. ................ ................ ..............x. ..........80.... ......80........ ..............@. ..........,..... ................ ................ ................ ................ ................ ................ ................ ................ ..........