Erhalten Sie Rabatt oder Geschenk!

Algorithmus zur Datenwiederherstellung des Dateisystem HFS+

In diesem Artikel analysieren wir die Struktur des Dateisystems HFS +, und welche Änderungen es im Vergleich zu seiner früheren Version von HFS erhalten hat. Betrachten wir Algorithmen zur Datenwiederherstellung auf einer Festplatte mit dem Dateisystem HFS +.

Algorithmus zur Datenwiederherstellung des  Dateisystem HFS+

Inhalt:

Vorteile und Unterschiede von HFS +

Der Hauptunterschied zwischen HFS + besteht darin, dass anstelle von 16-Bit wie in HFS eine 32-Bit-Architektur verwendet wird. Die alte Adressierung war eine schwerwiegende Einschränkung, die es nicht erlaubte, mit Volumes zu arbeiten, die größer als 65.536 Blöcke waren. Bei einem Festplattenvolumen von 1 GB betrug die Clustergröße (Blockgröße) 16 KB – selbst eine 1-Byte-Datei nahm alle 16 KB ein.

In HFS + wird wie im vorherigen System der sogenannte B-Baum zum Speichern der meisten Metadaten verwendet.

Das Volume in HFS + ist in Sektoren unterteilt (in HFS werden sie als logische Blöcke bezeichnet), die 512 Byte entsprechen. Ein oder mehrere Sektoren bilden einen Cluster. Die Gesamtzahl der Cluster hängt von der Größe der Festplatte ab. Die 32-Bit-Adressierung ermöglicht den Zugriff auf mehr als 4.294.967.296 Cluster im Vergleich zu den alten 65.536. Im Vergleich dazu haben diese beiden Systeme:

  • verschiedene Dateinamenlängen: in HFS: 31, in HFS +: 255;
  • Dateinamencodierung: HFS: Mac Roman, HFS +: Unicode;
  • Verzeichnisknotengröße: HFS: 512 Bytes, HFS +: 4 KByte;
  • und erhöhte die maximale Dateigröße: HFS: 2 ^ 31, HFS +: 2 ^ 63.

Architektur HFS Plus

Der Speicherplatz in HFS Plus ist in Sektoren (als logische Blöcke bezeichnet) unterteilt, die normalerweise 512 Byte groß sind. Diese Sektoren sind in Verteilungsblöcken zusammengefasst (analog zu Clustern in Windows), die einen oder mehrere Sektoren enthalten können. Die Anzahl der Zuordnungsblöcke hängt von der Gesamtgröße des Volumes ab. In HFS + beträgt der Wert für Zuordnungsblöcke 32 Bit. Das Dateisystem verfügt über eine Big Endian-Codierung.

HFS Plus

Um die Platzierung von Daten auf einer Festplatte zu verwalten, speichert HFS + Serviceinformationen darauf – Metadaten von Dateien. Unter diesen sind die wichtigsten für den Betrieb des Dateisystems und die interessantesten bei der Suche nach fehlenden Daten die folgenden:

  • Abschnittsüberschrift (Volume Header). Hat eine Tabellenstruktur, verwendet Datensatzerweiterung (Extents);
  • Verwendete Speicherplatzkarte (Allocation File). Struktur – Bitmap, verwendet Datensatzerweiterung (Extents);
  • Dateikatalog (Catalog File). Hat eine Bi-Baum-Struktur (B-Tree), verwendet Datensatzerweiterung (Extents);
  • Zusätzliche Erweiterungseinträge (Extents Overflow File). Hat eine Bi-Baum-Struktur (B-Tree);
  • Liste der fehlerhaften Sektoren (Bad block file). Hat eine Bi-Baum-Struktur (B-Tree);
  • StartUp-Datei (StartUp file). Feste Größe;
  • Protokoll (Journal). Feste Größe und Position des Festplattenbereichs.

Das System enthält viel mehr Strukturen, die jedoch für die Datenwiederherstellung vorherrschen. Um die Struktur weiter analysieren zu können, müssen wir die Grundkonzepte verstehen – Bi-Tree und Erweiterung von Datensätzen.

Was ist Bi-Baum?

Bi-Bäume werden verwendet, um einige der HFS + -Informationen zu speichern. Sie werden benötigt, um beliebige Informationsfelder (z. B. 100 MB) in Blöcke mit fester Größe (z. B. 4 KB) zu schreiben. In diesem Fall werden nicht die Informationen selbst in den ersten Block geschrieben, sondern Links zu nachfolgenden Blöcken, in denen auch Links zur nächsten Blockebene oder direkt notwendige Informationen gespeichert werden können. Baumelemente, in denen Links gespeichert sind, werden als Knoten bezeichnet, und Datenelemente der Ebene 0 werden als Blätter bezeichnet.

Bi-Baum

Was ist Satzerweiterung und Extent Overflow File?

Zum Speichern von Informationen zu den von der Datei belegten Sektoren kann HFS + 0 bis 8 erweiterte Datensätze verwenden. Jeder Datensatz speichert eine Verknüpfung zum ersten Datensektor und die Anzahl aufeinanderfolgender Cluster, die für Daten verwendet werden. Wenn die Datei stark fragmentiert ist und 8 Datensätze nicht ausreichen, um alle Teile zu beschreiben, werden die verbleibenden Fragmente in eine Datei mit zusätzlichen Erweiterungen geschrieben – Extent Overflow File.

Volume header

Der Volume-Header befindet sich immer im zweiten Sektor vom Anfang der Festplatte und enthält allgemeine Informationen zum Volume. Dies sind die Größe der Zuordnungsblöcke, der Zeitpunkt der Volume-Erstellung und die Adressen für die Zuweisung anderer Strukturen des Dateisystems: Catalog File, Extent Overflow File, Allocation File, Journal usw. Der zweite Sektor vom Ende der Festplatte enthält immer eine Sicherungskopie des Headers.

Volume headerVolume headerVolume header

Allocation file

Die Datei enthält Informationen zu freien und belegten Zuordnungsblöcken. Jeder Block wird durch ein Bit dargestellt, der Wert “1” entspricht dem belegten Block und “0” – dem freien Block. Diese Struktur wird manchmal als Bitmap bezeichnet. Die Datei kann eine beliebige Größe haben und muss sich nicht in zusammenhängenden Blöcken befinden. Informationen zu Dateifragmenten finden Sie im Volume-Header.

Allocation file

Catalog file

In der Datei werden die meisten Daten zum Speicherort von Dateien und Ordnern auf der Festplatte gespeichert. Diese ziemlich große Struktur ist ein B-Baum.

Diese Datei in HFS Plus ist der HFS-Katalogdatei sehr ähnlich. Der Hauptunterschied ist die Größe des Feldes. Sie sind größer geworden und enthalten jetzt mehr Informationen. Dies ermöglicht beispielsweise längere Unicode-Dateinamen mit 255 Zeichen. Die Datensatzgröße in HFS beträgt 512 Byte und in HFS Plus 4 KB für Mac OS und 8 KB für OS X. Die Größe der Felder in HFS ist festgelegt, während in HFS Plus die Größe abhängig von der tatsächlichen Größe der Daten variieren kann.

In den meisten Feldern werden kleine Attribute gespeichert, die in 4 KB passen. Für größere Attribute werden zusätzliche Erweiterungen verwendet (maximal 8, wenn weitere Erweiterungen benötigt werden, werden diese in der Extent Overflow-Datei gespeichert). Die Erweiterungen speichern Links zu den folgenden Feldern, die umfangreiche Attributinformationen enthalten.

StartUp file

Die Datei ist für Betriebssysteme vorgesehen, die HFS oder HFS Plus nicht unterstützen. Es sieht aus wie Bootblöcke von einem Volume HFS.

Bad blocks

Die Datei enthält Informationen zu allen verschobenen (fehlerhaften) Sektoren.

Journal

Das Journal ist keine Datei, sondern ein fester Datenbereich auf der Festplatte. Die Verknüpfung zum ersten Sektor und die Größe des Bereichs werden in der Abschnittsüberschrift gespeichert. Vor dem Schreiben von Änderungen auf die Festplatte schreibt HFS + diese in das Protokoll und dann in die Systemdateien. Bei einem Stromausfall zum Zeitpunkt der Aufnahme können Sie das Dateisystem wiederherstellen.

Bitte beachten Sie, dass die Größe des Journals in HFS + begrenzt ist und der Inhalt regelmäßig überschrieben wird. Das Boot-Volume-Protokoll auf dem Mac-mini wird normalerweise in 5-10 Minuten und das MacBook in 30 Minuten überschrieben. Wenn Time Machine aktiviert ist, wird die Zeit auf 20 Sekunden reduziert.

Journal

Datenwiederherstellung in Time Machine

Ab Mac OS X Leopard ist Time Machine enthalten. Dieses Dienstprogramm erstellt Sicherungskopien von Dateien und zeichnet alle Änderungen auf, die am Dateisystem auftreten. Mit den aufgeführten Aktionen kann der Benutzer das gesamte System, mehrere Dateien oder eine separate Datei in der Form wiederherstellen, in der sie sich zu einem bestimmten Zeitpunkt befand.

Time Machine benötigt zum Ausführen ein dediziertes Laufwerk. Apple veröffentlicht eine dedizierte Apple Time Capsule, die als Netzwerklaufwerk speziell für Time Machine-Backups fungiert. Time Machine kann mit jedem USB- oder eSata-Laufwerk verwendet werden. Beim ersten Start von Time Machine wird ein Ordner auf dem angegebenen Sicherungslaufwerk erstellt, der alle Daten enthält.

Dann kopiert Time Machine nur die geänderten Dateien. Wenn Time Machine für eine Festplatte verwendet wird, treten bei der Wiederherstellung verlorener Daten im Allgemeinen keine besonderen Probleme auf.

Time Machine

Wiederherstellungsalgorithmus HFS +

Das Wiederherstellen von Informationen aus dem Dateisystem HFS + ist viel schwieriger als aus anderen Systemen. Schwierigkeiten ergeben sich aus der Tatsache, dass HFS + B-Bäume zum Speichern von Metadaten zur Dateizuordnung verwendet. Nachdem eine Datei gelöscht wurde, wird der B-Baum sofort aktualisiert und Informationen über den Speicherort der gelöschten Datei gehen verloren.

Mit unserem Programm können Sie das Gerät und die Struktur des Dateisystems HFS + in Windows ohne zusätzliche Software und Treiber anzeigen.

Der Algorithmus des Dienstprogramms mit einer vollständigen Analyse ermöglicht es Ihnen, diese Links bei der Suche nach verlorenen Daten auszuschließen und die benötigten Informationen wiederherzustellen.

Während einer schnellen Analyse liest das Programm den Volume-Header oder dessen Sicherung. Aus dem Header werden die Adresse der Katalogdatei (Catalog file) und der Speicherort des Protokolls auf der Festplatte abgerufen. Wenn die zu den gelöschten Dateien gehörenden Blöcke noch nicht überschrieben wurden, werden sie gelesen und die Daten wiederhergestellt.

Wenn die Blöcke der gelöschten Datei noch nicht überschrieben wurden, können Sie mit dieser Methode die Datei vollständig wiederherstellen. Selbst wenn die Blöcke der Datei überschrieben werden, bleiben die Dateidaten möglicherweise im Protokoll oder die Datei wird teilweise wiederhergestellt.

Mit dem Algorithmus für die vollständige Analyse des Programms können Sie die Elemente der Kette bei der Suche nach gelöschten Daten ausschließen. Das Dienstprogramm erstellt die Festplattenstruktur und zeigt gelöschte Dateien an, auch wenn die Abschnittsüberschrift und die Verzeichnisdatei teilweise überschrieben wurden.

Wiederherstellungsalgorithmus HFS +

Fazit

Generell kann man sagen, dass die Implementierung des Dateisystems HFS + derzeit bereits veraltet ist. Dieses System wurde seit dem alten HFS optimiert. HFS + wurde bereits durch das neue Apple File System ersetzt.

HFS + ist in Bezug auf Geschwindigkeit, Sicherheit und Zuverlässigkeit deutlich schlechter als APFS, daher ist die Datenwiederherstellung ein sehr aktuelles Thema. Informationen verschwinden sehr selten spurlos. Wenn Sie die Funktionsweise des Dateisystems genau kennen, können Sie auch das wiederherstellen, was als unwiederbringlich verloren galt.

Für dich empfohlen