Auf dem Hof war das Jahr 2019. Das QUANTUM FIREBALL Plus KA-Laufwerk mit einer Kapazität von 9,1 GB kam in unser Labor, was für unsere Zeit nicht ganz normal ist. Laut Angaben des Eigentümers des Laufwerks trat der Fehler bereits im Jahr 2004 auf, als ein ausgefallenes Netzteil eine Festplatte und andere PC-Komponenten beschlagnahmte. Dann gab es Spaziergänge auf verschiedenen Diensten mit Versuchen, das Laufwerk zu reparieren und Daten wiederherzustellen, die nicht erfolgreich waren. Irgendwo haben sie versprochen, dass es billig ist, aber sie haben das Problem immer noch nicht gelöst, irgendwo war es zu teuer und der Kunde wollte die Daten nicht wiederherstellen, aber am Ende ging die Fahrt durch viele Servicezentren. Er ging mehrere Male verloren, doch da der Eigentümer darauf geachtet hatte, Informationen von verschiedenen Aufklebern auf der Festplatte im Voraus aufzuzeichnen, gelang es ihm, sicherzustellen, dass seine Festplatte von einigen Service-Centern zurückgegeben wurde. Die Schaltkreise blieben nicht unbemerkt, auf der ursprünglichen Controller-Platine waren mehrere Lötspuren vorhanden, und das Fehlen von SMD-Elementen war auch optisch zu spüren (mit Blick auf die Zukunft werde ich sagen, dass dies das geringste der Probleme dieses Laufwerks ist).

Abb. 1 Festplatte Quantum Fireball Plus KA 9,1 GBAls erstes musste ich mit einem funktionierenden Controller Board im Spenderarchiv eines so uralten Zwillingsbruders dieses Laufwerks suchen. Nach Abschluss dieser Suche konnten detaillierte diagnostische Maßnahmen durchgeführt werden. Nachdem wir die Motorwicklungen auf Kurzschluss überprüft und sichergestellt haben, dass sie nicht vorhanden sind, installieren wir die Platine vom Antrieb - vom Spender zum Antrieb - vom Patienten. Wir aktivieren und hören das normale Geräusch der sich drehenden Welle, bestehen den Kalibrierungstest mit dem Laden der Firmware und nach einigen Sekunden registriert der Frequenzumrichter seine Bereitschaft, auf Befehle von der Schnittstelle zu reagieren.
Abb. 2 DRD DSC-Anzeigen zeigen die Bereitschaft zum Annehmen von Befehlen an.Wir behalten uns alle Kopien der Firmware-Module vor. Wir überprüfen die Integrität der Firmware-Module. Es gibt keine Probleme beim Lesen der Module, aber die Analyse der Berichte zeigt, dass es einige Kuriositäten gibt.
Abb. 3. Zonentabelle.Wir achten auf die Zonenverteilungstabelle und stellen fest, dass die Anzahl der Zylinder 13845 beträgt.
Abb. 4 P-Liste (Primärliste - eine Liste der während des Produktionszyklus eingeführten Fehler).Wir achten auf zu wenige Mängel und deren Lokalisierung. Wir sehen uns das Modul zum Verstecken von Fabrikationsfehlern an (60h) und stellen fest, dass es leer ist und keine Einträge enthält. Auf dieser Grundlage können wir davon ausgehen, dass in einigen der vorherigen Servicezentren möglicherweise Manipulationen am Servicebereich des Laufwerks vorgenommen wurden und ein Fremdmodul versehentlich oder absichtlich aufgezeichnet oder die Fehlerliste im Original gelöscht wurde. Um diese Annahme zu überprüfen, erstellen wir in Data Extractor eine Aufgabe mit den Optionen "Sektorweise Kopie erstellen" und "Virtuellen Übersetzer erstellen".
Abb. 5 Aufgabenparameter.Nach dem Erstellen der Aufgabe betrachten wir die Einträge in der Partitionstabelle im Sektor Null (LBA 0).
Abb. 6 Master Boot Record und Partitionstabelle.Bei Offset 0x1BE gibt es einen einzelnen Datensatz (16 Bytes). Der Typ des Dateisystems auf der Partition ist NTFS, der Versatz zum Anfang des Sektors 0x3F (63), die Größe der Partition beträgt 0x011309A3 (18.024.867) Sektoren.
Öffnen Sie im Sektoreditor LBA 63.
Abb. 7 NTFS-BootsektorGemäß den Informationen im NTFS-Bootsektor kann Folgendes gesagt werden: Die im Volume angenommene Sektorgröße beträgt 512 Bytes (das Wort 0x0200 (512) wird bei Offset 0x0B geschrieben), die Anzahl der Sektoren im Cluster beträgt 8 (Byte 0x08 wird bei Offset 0x0D geschrieben), die Clustergröße beträgt 512x8 = 4096 Bytes, der erste MFT-Datensatz befindet sich mit einem Versatz von 6.291.519 Sektoren vom Plattenanfang entfernt (bei Versatz 0x30 ist das Vierfachwort 0x00 00 00 00 00C 00 00 (786 432) die Nummer des ersten MFT-Clusters. Die Sektornummer wird nach der Formel berechnet: Clusternummer * Die Anzahl der Sektoren im Cluster + wird vor dem Start der Partition verschoben (786 432 * 8 + 63 = 6.291.519).
Wir kommen zum Sektor 6 291 519.
Abb. 8Die in diesem Sektor enthaltenen Daten unterscheiden sich jedoch vollständig vom MFT-Datensatz. Dies weist zwar auf eine mögliche fehlerhafte Übertragung aufgrund einer fehlerhaften Fehlerliste hin, beweist dies jedoch nicht. Zur weiteren Überprüfung lesen wir die Platte in 10.000 Sektoren in beiden Richtungen relativ zu 6.291.519 Sektoren. Und dann werden wir nach regulären Ausdrücken im read suchen.
Abb. 9 Erster MFT-DatensatzIn Sektor 6.291.551 finden wir den ersten MFT-Datensatz. Seine Position unterscheidet sich von der berechneten Position um 32 Sektoren, und es folgt fortlaufend eine Gruppe von 16 Datensätzen (von 0 bis 15). Geben Sie die Position des Sektors 6 291 519 in die Verschiebungstabelle ein, um 32 Sektoren vorzurücken.
Abb. 10Die Position von Datensatz Nr. 16 sollte einen Versatz von 12 551 431 haben, aber dort finden wir Nullen, anstatt MFT aufzuzeichnen. Wir werden eine ähnliche Suche in der Nähe durchführen.
Abb. 11 MFT-Datensatz 0x00000011 (17)Es wird ein großes MFT-Fragment erkannt, beginnend mit Datensatznummer 17 mit einer Länge von 53.646 Datensätzen (mit einer Verschiebung von 17 Sektoren). Für Position 12 155 431 setzen wir eine Verschiebung von +17 Sektoren in die Verschiebungstabelle.
Nachdem wir die Position von MFT-Fragmenten im Raum bestimmt haben, können wir schließen, dass dies nicht wie ein zufälliger Fehler aussieht und das Aufzeichnen von MFT-Fragmenten durch falsche Offsets. Eine Version mit einem falschen Übersetzer kann als bestätigt angesehen werden.
Zur weiteren Lokalisierung von Scherpunkten setzen wir die maximal mögliche Verschiebung. Dazu bestimmen wir, um wie viel die letzte NTFS-Partitionsmarke verschoben wird (Kopie des Bootsektors). In Fig. 7 ist bei Versatz 0x28 das vierte Wort der Wert der Sektoren der Partitionsgröße 0x00 00 00 00 00 01 13 09 A2 (18.024.866). Fügen wir den Versatz der Partition selbst vom Anfang der Festplatte zu ihrer Länge hinzu, erhalten wir den Versatz des letzten NTFS-Markers 18.024.866 + 63 = 18.024.929. Wie erwartet wurde keine Kopie des Bootsektors benötigt. Bei der Suche in der Nähe wurde dies mit einer zunehmenden Verschiebung von +12 Sektoren relativ zum letzten Fragment der MFT festgestellt.
Abb. 12 Kopieren Sie den NTFS-BootsektorWir ignorieren eine weitere Kopie des Bootsektors bei Offset 18 041 006, da dieser nicht mit unserer Sektion zusammenhängt. Basierend auf früheren Ereignissen wurde festgestellt, dass innerhalb des Abschnitts 61 Sektoren eingestreut sind, die in der Sendung "aufgetaucht" sind und die Daten aufteilen.
Wir führen eine vollständige Laufwerkslesung durch, die zu 34 ungelesenen Sektoren führt. Leider ist es nicht möglich, zuverlässig zu garantieren, dass alle von der P-Liste gestrichenen Fehler vorliegen. Es ist jedoch ratsam, ihre Position bei der weiteren Analyse zu berücksichtigen, da es in einigen Fällen möglich ist, die Verschiebungspunkte auf den Sektor und nicht auf die Datei genau zu bestimmen.
Abb. 13 Festplattenlesestatistik.Unsere nächste Aufgabe wird es sein, die ungefähren Orte der Schichten zu bestimmen (genau auf die Akte, in der sie entstanden sind). Zu diesem Zweck scannen wir alle MFT-Datensätze und erstellen die Dateispeicherortketten (Dateifragmente).
Abb. 14 Die Ketten des Speicherorts von Dateien oder ihrer Fragmente.Beim Übergang von Datei zu Datei wird außerdem gesucht, an welchem Punkt anstelle des erwarteten Datei-Headers andere Daten vorhanden sind und der gewünschte Header wird mit einer bestimmten positiven Verschiebung erkannt. Und während die Schaltpunkte verfeinert werden, füllen wir die Tabelle aus. Das Ergebnis seiner Füllung wird über 99% der Dateien ohne Schaden sein.
Abb. 15 Liste der Benutzerdateien (Zustimmung des Kunden zur Veröffentlichung dieses Screenshots)Um Punktverschiebungen in einzelnen Dateien zu ermitteln, können Sie zusätzliche Arbeiten ausführen und, wenn Sie die Dateistruktur kennen, eingestreute Daten finden, die nicht damit zusammenhängen. Aber bei dieser Aufgabe war es wirtschaftlich nicht machbar.
PS Ich möchte auch an Kollegen appellieren, in deren Händen diese Scheibe vorher war. Seien Sie bitte vorsichtig, wenn Sie mit der Gerätefirmware arbeiten und Servicedaten reservieren, bevor Sie Änderungen vornehmen, und lassen Sie nicht zu, dass sich das Problem absichtlich verschlimmert, wenn Sie sich nicht mit dem Kunden auf die Arbeit einigen können.
Nächster Beitrag: Selbstdiagnose von Festplatten und DatenwiederherstellungZurück nach: Speichern von Übereinstimmungen oder Wiederherstellen von Daten von Seagate ST3000NC002-1DY166 Grating HDD