Chancen der Datenrettung abhängig vom Dateisystem

Wie im Artikel zur Bewertung des Wiederherstellungspotenzials in verschiedenen Datenverlustszenarien erwähnt, ist das Dateisystem einer der Hauptfaktoren zur Bestimmung der Erfolgswahrscheinlichkeit. Es dient als Mechanismus, der es dem Betriebssystem ermöglicht, Daten auf einem Speichermedium zu organisieren und abzurufen. Doch über die bloße Festlegung, wie Informationen auf der Festplatte gespeichert werden, hinaus verfügt jedes Dateisystem über eigene Vorgehensweisen beim Löschen von Dateien und bei der Speicherformatierung. Und da verschiedene Betriebssysteme unterschiedliche Dateisysteme verwenden, hängen die Chancen zur Datenrettung stark vom jeweils verwendeten Dateisystem ab. Die folgenden Informationen führen Sie durch die Beurteilung der Wiederherstellungsaussichten nach versehentlichem Löschen von Dateien oder Formatieren des Dateisystems, basierend auf dem auf Ihrem Speicher verwendeten Dateisystem.

Wenn jedoch sowohl das Betriebssystem als auch das Speichergerät TRIM unterstützen, kann die Möglichkeit erfolgreicher Datenwiederherstellung weitgehend ausgeschlossen werden, unabhängig vom verwendeten Dateisystemtyp. Eine detailliertere Erläuterung der Auswirkungen von TRIM auf das Verfahren finden Sie im Abschnitt Hindernisse für die Datenrettung durch TRIM.

Hinweis: Die in diesem Artikel erwähnten häufigsten Fälle von Datenverlust werden in den Prinzipien der Datenwiederherstellung beschrieben.

Dateisysteme von Windows

Die primären Dateisysteme der Windows-Betriebssystemfamilie sind FAT (FAT32), exFAT und NTFS. Diese werden üblicherweise auf Allzweck-Desktopsystemen verwendet. Das ReFS-Dateisystem der nächsten Generation hingegen ist für erweiterte Anwendungsfälle konzipiert und wird auf bestimmten Windows-basierten Servern sowie Computern mit professionellen Windows-Versionen (ab Windows 10) eingesetzt.

Es ist wichtig zu beachten, dass die erfolgreiche Datenwiederherstellung auf diesen Dateisystemen durch starke Dateifragmentierung erschwert werden kann und nur möglich ist, solange die betroffenen Dateien nicht überschrieben wurden.

FAT/FAT32

Der Speicherplatz in FAT/FAT32 ist in gleich große Einheiten, sogenannte Cluster, unterteilt. Eine Datei kann einen oder mehrere dieser Cluster belegen. Die Cluster mit Daten derselben Datei können jedoch nicht nebeneinander liegen. Dann bezeichnet man solche Dateien dann als fragmentierte Dateien.

Die File Allocation Table (FAT) verfolgt die Zuordnung von Clustern auf dem Speichermedium und legt fest, welche Cluster welchen Dateien zugewiesen werden. Normalerweise werden zwei Kopien der FAT-Tabelle geführt, für den Fall, dass eine Kopie beschädigt wird. Die Tabelle hat einen Eintrag für jeden Cluster im Dateisystem. Wenn ein Cluster belegt ist, kann sein FAT-Eintrag einen Link zum nachfolgenden Cluster enthalten, der von derselben Datei verwendet wird, oder einen Hinweis darauf, dass der Cluster der letzte in der Clusterkette der Datei ist.

Das Stammverzeichnis enthält Einträge für alle Dateien und Ordner, die im Root des Speichergeräts gespeichert sind. Jeder Eintrag speichert wichtige Informationen zu einer Datei, wie Startcluster, Namen, Größe und weitere Attribute. Zudem verweist er auf den ersten Cluster, der zu dieser Datei gehört.

Dateilöschung auf FAT/FAT32

Der Verzeichniseintrag der Datei wird als gelöscht markiert. Das erste Zeichen des Dateinamens wird durch einen speziellen Wert ersetzt, der den Löschstatus angibt. In FAT32 kann auch der Startcluster aktualisiert werden. Die den Clustern entsprechenden FAT-Tabelleneinträge werden als "frei" markiert, was die Clusterkette der gelöschten Datei zerstört.

  • Wiederherstellung nicht fragmentierter Dateien: Liegen die Cluster der Datei in einer zusammenhängenden Sequenz, ist die Datenrettung relativ einfach. Dessen Name, Größe und Startcluster sind weiterhin im Verzeichniseintrag vorhanden. Dadurch erhöhen sich die Chancen zur Wiederherstellung der Datei oft auf nahezu 100 %.

  • Wiederherstellung fragmentierter Dateien: Die Clusterkette, die im FAT-Eintrag gespeichert war, ist zerstört. Dadurch fehlen die Verweise auf Zwischen- und Endcluster der Datei. Der Verzeichniseintrag bleibt jedoch erhalten, sodass Name, Größe und Startposition der Datei weiterhin bekannt sind. Mithilfe von Heuristiken (Versuch-und-Irrtum-Methoden) können die Speicherorte der Dateifragmente manchmal rekonstruiert werden, allerdings ohne Erfolgsgarantie.

Formatierung von FAT/FAT32

Beide Kopien der FAT-Tabelle werden gelöscht, wodurch die Zuordnung zwischen den Dateiclustern zerstört wird. Zudem werden die Stammverzeichniseinträge entfernt. Der Dateninhalt bleibt jedoch auf der Festplatte erhalten, bis er überschrieben wird.

  • Wiederherstellung nicht fragmentierter Dateien: Durch die Formatierung werden die Verzeichniseinträge gelöscht, was bedeutet, dass Namen, Größen und Startcluster der Dateien unbekannt sind. Dennoch können Wiederherstellungsalgorithmen, die auf bekannten Dateisignaturen basieren (RAW-Wiederherstellungsmethode), den Dateninhalt von Dateien identifizieren und diese erfolgreich wiederherstellen. Dabei gehen jedoch Dateinamen, Ordnerstrukturen und andere Attribute verloren.

  • Wiederherstellung fragmentierter Dateien: Die früher in den FAT-Tabellen verfügbaren Clusterketten fehlen und die Fragmentierung macht es äußerst schwierig, mögliche Speicherorte des Inhalts vorherzusagen. Wahrscheinlich werden die meisten Dateien beschädigt sein.

exFAT

Als Nachfolger von FAT/FAT32 ähnelt dieses Dateisystem diesen in Struktur und Funktionsweise sehr. exFAT basiert ebenfalls auf der Dateizuordnungstabelle, diese Tabelle wird jedoch nur zur Verfolgung von Clustersequenzen für fragmentierte Dateien verwendet. Außerdem wird nur eine Kopie davon aufbewahrt.

Darüber hinaus verfügt exFAT über eine separate Struktur zur Verwaltung der Clusternutzung. Anstatt dies direkt in den FAT-Einträgen zu tun, wird eine Allocation-Bitmap eingesetzt. Sie wird im Datenbereich gespeichert und zeigt den Status jedes Clusters an – ob er belegt oder für neue Daten verfügbar ist. Dieser Ansatz hilft exFAT, die Datenplatzierung zu optimieren und das Ausmaß der Fragmentierung zu reduzieren.

Dateilöschung auf exFAT

exFAT aktualisiert die Allocation-Bitmap, um die von der Datei verwendeten Cluster als frei für andere Daten zu markieren. Die FAT-Tabelleneinträge werden jedoch nicht sofort aktualisiert und können weiterhin Links zu Clustern enthalten, die zur gelöschten Datei gehören. Der Inhalt der Datei bleibt außerdem auf dem Speicher erhalten, bis er durch neue Dateien ersetzt wird.

  • Dateiwiederherstellung: Wenn die FAT-Einträge noch intakt sind, kann die Clustersequenz einer fragmentierten Datei problemlos rekonstruiert und zur Wiederherstellung der gesamten Datei verwendet werden. Wenn diese jedoch überschrieben werden, sind keine Informationen über den Speicherort der Dateifragmente verfügbar. Aufgrund des geringeren Fragmentierungsgrades liefert die RAW-Wiederherstellungsmethode in exFAT jedoch oft genauere Ergebnisse.

NTFS

Die Kernkomponente von NTFS ist die Master File Table (MFT). Sie führt detaillierte Aufzeichnungen zu allen im Dateisystem gespeicherten Dateien und Ordnern. Ein Bitmap-Attribut der MFT-Tabelle kennzeichnet, welche Einträge darin aktuell verwendet werden und welche frei sind. Ein MFT-Eintrag kann verschiedene Dateiattribute speichern, darunter Speicherort, Name, Größe, Datum/Uhrzeit der Erstellung und der letzten Änderung.

Der Dateninhalt kleiner Dateien wird direkt im MFT-Eintrag gespeichert. Im Gegensatz dazu werden größere Dateien außerhalb der MFT gespeichert, während die MFT-Einträge Zeiger auf ihre physischen Speicherorte auf der Festplatte enthalten. Auch große Dateiattribute können außerhalb der MFT gespeichert werden, wobei der MFT-Eintrag der Datei ihre Adressen aufbewahrt.

Verzeichnisse in NTFS werden durch spezielle Dateien dargestellt. Solche Dateien enthalten eine Liste von Einträgen für alle Dateien und Unterverzeichnisse innerhalb des jeweiligen Verzeichnisses, mit Verweisen auf ihre MFT-Einträge.

Zusätzlich zum Bitmap-Attribut innerhalb der MFT verwaltet NTFS eine separate Bitmap-Datei für das gesamte Dateisystem. Diese Datei verfolgt, welche Bereiche des Speichermediums belegt und welche frei sind.

Dateilöschung auf NTFS

Der MFT-Eintrag der Datei wird nicht gelöscht, sondern als "unbenutzt" markiert, was bedeutet, dass er bald überschrieben werden kann. Der durch den Dateiinhalt belegte Speicherplatz wird im Bitmap als frei gekennzeichnet und kann nun für andere Daten wiederverwendet werden. Der Dateieintrag wird auch aus dem Verzeichnis entfernt.

  • Dateiwiederherstellung: Da der Dateiname, die Größe und der Speicherort weiterhin im MFT-Eintrag verfügbar sind, kann Datenrettungssoftware die gelöschte Datei präzise rekonstruieren. Vorausgesetzt, der Inhalt wurde nicht überschrieben, liegt die Wahrscheinlichkeit der Datenwiederherstellung bei nahezu 100 %.

Formatierung von NTFS

NTFS erstellt eine neue Master File Table. Diese neue MFT überschreibt den Anfangsteil der vorherigen MFT, der Rest bleibt jedoch erhalten.

  • Dateiwiederherstellung: Durch das teilweise Überschreiben der MFT gehen die Informationen zu den ersten 256 Dateien verloren. Solche Dateien können nur mit der RAW-Wiederherstellungsmethode ohne ihre ursprünglichen Namen, Verzeichnisse und andere Attribute wiederhergestellt werden. Alle Dateien über dieser Zahl können mit einer Wahrscheinlichkeit von bis zu 100 % erfolgreich wiederhergestellt werden, sofern ihr Dateninhalt nicht überschrieben wurde.

ReFS

Im Gegensatz zu seinen Vorgängern organisiert ReFS Daten mithilfe von B+-Bäumen, die ähnlich wie Datenbanken funktionieren. Ein solcher Baum besteht aus der Wurzel, inneren Knoten und Blättern. Jeder Knoten enthält eine geordnete Liste von Schlüsseln, die zur Steuerung des Suchvorgangs verwendet werden, sowie Zeiger, die auf die Knoten einer niedrigeren Ebene oder die eigentlichen Daten in den Blättern verweisen. B+-Bäume repräsentieren nahezu alle Elemente im Dateisystem, einschließlich des Dateiinhalts und der Metadaten.

Das Verzeichnis ist die Hauptkomponente von ReFS und wird auch als B+-Baum dargestellt. Es verwendet Schlüssel, die Ordnerobjektnummern entsprechen, während die darin enthaltenen Dateien als Datensätze und nicht als Verzeichniseinträge gespeichert werden.

ReFS nutzt die Copy-on-Write (CoW)-Technik und stellt sicher, dass ursprüngliche Dateisystemeinträge niemals direkt geändert werden. Stattdessen werden die Daten kopiert und Änderungen an neuen Speicherorten vorgenommen, während die ursprünglichen Informationen erhalten bleiben.

Dateilöschung auf ReFS

Da ReFS die Copy-on-Write-Technik (CoW) verwendet, erstellt es eine neue Kopie der Metadaten der Datei, nimmt die erforderlichen Änderungen vor, um die Löschung der Datei widerzuspiegeln, und aktualisiert die Speicherstruktur nur, wenn die neuen Metadaten erfolgreich geschrieben wurden.

  • Dateiwiederherstellung: Dank Copy-on-Write (CoW) bleibt die Originalversion der Metadaten auf dem Speicher erhalten. Solange sie nicht durch neue Informationen überschrieben wurde, kann die Datei vollständig wiederhergestellt werden, mit der Wahrscheinlichkeit von bis zu 100 %.

Hinweis: Verlassen Sie sich bitte auf die Anleitung, wenn Sie Daten auf den Dateisystemen von Windows wiederherstellen müssen.

Dateisysteme von macOS

Alle modernen Mac-Computer, ab macOS 10.14 (Mojave), verwenden APFS als Standarddateisystem. Dieses Format wird auch in der gesamten Apple-Produktlinie eingesetzt, einschließlich iOS-, iPadOS-, tvOS- und watchOS-Geräten. Obwohl APFS der aktuelle Standard ist, unterstützt Apple weiterhin das ältere HFS+-Dateisystem, hauptsächlich aus Gründen der Abwärtskompatibilität mit älteren Versionen von macOS. Darüber hinaus wird das exFAT-Dateisystem von Microsoft häufig auf externen Apple-Geräten verwendet, auf die unter verschiedenen Betriebssystemen zugegriffen werden muss.

Es ist wichtig zu betonen, dass eine Datenwiederherstellung auf den Dateisystemen von macOS nur möglich ist, solange die Dateien nicht überschrieben wurden.

HFS+

Der Speicherplatz in HFS+ ist in gleich große Zuordnungsblöcke unterteilt, die zur Reduzierung der Fragmentierung in Klumpen gruppiert werden können. Die Zuordnungsdatei zeichnet den Status jedes Zuordnungsblocks auf, also ob er frei oder belegt ist.

Der Inhalt von Dateien wird mithilfe von Fork-Strukturen organisiert: Ein Daten-Fork enthält die eigentlichen Daten, während alle zusätzlichen Informationen (Metadaten) in einem Ressourcen-Fork gespeichert sind. Jeder dieser Forks belegt einige Zuordnungsblöcke. Ein kontinuierlicher Bereich von Zuordnungsblöcken, die einem bestimmten Fork zugewiesen sind, wird als Extent bezeichnet. Ein Extent wiederum wird durch einen Startblock und die Anzahl der Blöcke, die es einnimmt, dargestellt.

Die meisten Metadaten des Dateisystems werden über spezielle Dateien verwaltet, die als B-Bäume strukturiert sind. Besonders wichtig ist die Katalogdatei – sie beschreibt die Verzeichnishierarchie des Dateisystems, enthält die wesentlichen Eigenschaften jeder Datei und jedes Ordners, einschließlich ihrer Namen, und speichert die ersten acht Extents der Daten- und Ressourcen-Fork der Datei. Wenn ein Fork über mehrere Extents verfügt, werden diese in der Extents-Überlaufdatei aufgezeichnet. Alle zusätzlichen Dateieigenschaften, wie erweiterte Metadaten, werden in der Attributdatei verwaltet.

HFS+ unterstützt Hardlinks, so dass eine einzelne Datei in mehreren Verzeichnissen erscheinen kann, ohne dass sie dupliziert wird. Die Daten der Datei bleiben an einem Ort auf der Festplatte gespeichert und mehrere Hardlink-Einträge in der Katalogdatei verweisen einfach auf denselben Inhalt.

Das Journal dient der Aufzeichnung von Änderungen am Dateisystem. Die Größe dieses Journals ist jedoch begrenzt, so dass, sobald es voll ist, ältere Einträge zyklisch durch neue überschrieben werden.

Dateilöschung auf HFS+

HFS+ aktualisiert die Katalogdatei, indem es den B-Baum neu organisiert und Verweise auf die gelöschte Datei entfernt. Bei einem Hardlink wird der Verweis auf die Datei aus dem entsprechenden Verzeichnis gelöscht. Die von der Datei belegten Blöcke werden in der Zuordnungsdatei als frei markiert und stehen für andere Daten zur Verfügung. Der eigentliche Inhalt wird jedoch nicht sofort gelöscht. Die Informationen können auch für eine begrenzte Zeit im Journal verbleiben.

  • Dateiwiederherstellung: Das Journal kann Informationen zu der gelöschten Datei enthalten, die Wahrscheinlichkeit hängt jedoch davon ab, wie viel Zeit seit der Löschung vergangen ist. Wenn die Journaleinträge überschrieben werden, kann die Methode der RAW-Wiederherstellung verwendet werden. Allerdings ist sie nur bei nicht fragmentierten Dateien wirksam und kann die ursprünglichen Dateinamen, Verzeichnisse und andere Eigenschaften nicht wiederherstellen.

Formatierung von HFS+

Die Katalogdatei wird auf ihren Standardzustand zurückgesetzt, wodurch alle Einträge zu früheren Dateien gelöscht werden. Das Journal und der eigentliche Dateninhalt bleiben jedoch unverändert.

  • Dateiwiederherstellung: Einige Metadaten können mithilfe des Journals wiederhergestellt werden. Die restlichen fehlenden Dateien werden mithilfe der RAW-Wiederherstellungstechnik rekonstruiert. Der Erfolg hängt vom Ausmaß der Fragmentierung des Dateisystems ab.

APFS

Ein APFS-Volume ist in einem Container enthalten, der mehrere Dateisysteme aufnehmen kann und in dem sich alle Systeme den verfügbaren Speicherplatz teilen. Alle belegten und freien Speicherblöcke im Container werden anhand einer gemeinsamen Bitmap verfolgt. Jedes Dateisystem ist jedoch für die Verwaltung seiner eigenen Verzeichnishierarchie, seines Dateiinhalts und seiner Metadaten verantwortlich.

Die Zuordnung der Dateien und Ordner ist als B-Baum organisiert, ähnlich der Katalogdatei in HFS+. Dateien bestehen aus Extents, die den Block angeben, in dem der Inhalt beginnt, und seine Länge in Blöcken. Es gibt auch einen separaten B-Baum zur Verwaltung von Extents innerhalb des Dateisystems.

Anstatt bei Änderungen vorhandene Dateisystemobjekte an Ort und Stelle zu modifizieren, erstellt APFS eine Kopie der Daten und schreibt die neue Version an einen anderen Ort auf dem Speicher. Dieser Ansatz wird als Copy-on-Write (CoW) bezeichnet.

Dateilöschung auf APFS

APFS entfernt die Verweise auf die gelöschte Datei, indem es die entsprechenden Knoten im Zuordnungs-B-Baum löscht.

  • Dateiwiederherstellung: Ältere Versionen der Metadaten der gelöschten Datei können möglicherweise noch verfügbar sein und die Möglichkeit bieten, den Dateiinhalt zu rekonstruieren. Dennoch implementiert APFS die Verschlüsselung als integralen Bestandteil seiner Architektur. Diese Funktion wird dringend empfohlen und ist auf Apple-Geräten häufig standardmäßig aktiviert. Bei Verschlüsselung sichert das Dateisystem nicht nur Benutzerdaten, sondern auch kritische Metadatenstrukturen. Dieser umfassende Einsatz von Verschlüsselung erhöht die Komplexität des Wiederherstellungsprozesses erheblich.

Hinweis: Verlassen Sie sich bitte auf die Anleitung, wenn Sie Daten auf den Dateisystemen von macOS wiederherstellen müssen.

Dateisysteme von Linux

Linux ist ein vielseitiges Open-Source-Projekt, das in zahlreichen Versionen, den sogenannten "Distributionen", verfügbar ist, und jede dieser Distributionen zeichnet sich durch spezifische Eigenschaften und Konfigurationen aus. Es ist daher wenig überraschend, dass auch die verwendeten Dateisysteme zwischen den Distributionen erheblich variieren können. Im Allgemeinen unterstützt der gemeinsame Kern dieser Betriebssysteme – der Linux-Kernel – eine breite Palette an Speicherformaten. Zu den am häufigsten genutzten Linux-Dateisystemen gehören jedoch die Ext-Familie (Ext2, Ext3, Ext4), XFS, Btrfs, F2FS, JFS und ReiserFS.

Es ist wichtig zu betonen, dass die Datenwiederherstellung auf diesen Dateisystemen nur möglich ist, so lange die Originaldaten auf dem Speicher verbleiben und nicht überschrieben wurden.

XFS

XFS teilt ein Volume in gleich große Bereiche, die als Zuordnungsgruppen bezeichnet werden. Jede von ihnen funktioniert wie ein eigenständiges Dateisystem und verwaltet ihren eigenen Speicherplatz sowie ihre eigenen Strukturen.

Der freie Speicherplatz in XFS wird mithilfe von zwei B+-Bäumen organisiert: Der erste zeichnet den Startblock eines zusammenhängenden freien Speicherplatzbereichs auf, und der zweite Baum vermerkt die Anzahl der darin enthaltenen Blöcke. Ein ähnlicher Mechanismus wird verwendet, um die Blöcke zu verfolgen, die den Dateien zugewiesen sind. Die Inhalte der Dateien werden in zusammenhängenden Blöcken gespeichert, die als Extents bezeichnet werden.

Jede Datei und jedes Verzeichnis wird durch einen Inode dargestellt, eine spezielle Struktur, die die Metadaten wie Größe, Berechtigungen usw. enthält. Bei kleineren Dateien speichert der Inode die Informationen über die der Datei zugewiesenen Extents. Bei größeren oder fragmentierten Dateien verweist der Inode auf einen separaten B+-Baum, der die Extents dieser Datei verfolgt. Die Dateinamen selbst sind nicht im Inode enthalten. Sie befinden sich in Verzeichniseinträgen, die diese Namen den entsprechenden Inodes zuordnen. Jede Zuordnungsgruppe verfügt außerdem über einen dedizierten B+-Baum zur Verwaltung und Freigabe von Inodes.

XFS verwendet ein Journal für Operationen mit Metadaten. Alle Änderungen daran werden zunächst im Journal protokolliert, bevor sie auf die Festplatte geschrieben werden.

Dateilöschung auf XFS

Der mit der gelöschten Datei verknüpfte Inode wird aus dem B+-Baum der Zuordnungsgruppe entfernt und zur Wiederverwendung freigegeben. Die B+Bäume für die freien Blöcke werden aktualisiert, um den freigegebenen Speicherplatz anzuzeigen. Der Verzeichniseintrag, der den Dateinamen mit dem entsprechenden Inode verknüpft, wird gelöscht. Die Extent-Informationen bleiben jedoch häufig erhalten.

  • Wiederherstellung nicht fragmentierter Dateien: Wenn die Extent-Informationen nicht überschrieben wurden, kann der Dateiinhalt mit nahezu 100 % Wahrscheinlichkeit wiederhergestellt werden. Die Wiederherstellung des Dateinamens gestaltet sich jedoch schwieriger, da der Namen im Verzeichnis gespeichert ist, das nicht mehr auf die gelöschte Datei verweist. Bei kürzlich gelöschten Dateien kann das Journal jedoch noch Metadaten zur Datei enthalten, die bei der Wiederherstellung des richtigen Namens und Verzeichnisses helfen können.

  • Wiederherstellung fragmentierter Dateien: Während die Extents selbst intakt bleiben können, ist der Inode nicht mehr mit den Daten der Datei verknüpft, was den Wiederherstellungsprozess erschwert. Ohne Informationen über die Beziehungen zwischen den Extents kann es schwierig sein, die vollständige Sequenz zu rekonstruieren.

Formatierung von XFS

Die B+-Bäume, die für die Speicherplatzzuweisung verantwortlich sind, werden gelöscht. Ein neues Stammverzeichnis wird erstellt, das das vorherige ersetzt.

  • Wiederherstellung nicht fragmentierter Dateien: Obwohl die Dateisystemstrukturen zurückgesetzt werden, bleiben die eigentlichen Datenblöcke auf der Festplatte erhalten, bis sie überschrieben werden. Für nicht fragmentierte Dateien sind die Chancen zur Wiederherstellung grundsätzlich hoch.

  • Wiederherstellung fragmentierter Dateien: Da die Datenblöcke fragmentierter Dateien nicht zusammenhängend gespeichert sind, ist der Erfolg bei der Wiederherstellung deutlich geringer als bei nicht fragmentierten Dateien.

Hinweis: Verlassen Sie sich bitte auf die Anleitung, wenn Sie Daten auf den Dateisystemen von Linux wiederherstellen müssen.

Ext2

Ext2 verwendet Blöcke als kleinste Einheit zur Datenspeicherung. Diese Blöcke werden dann in Blockgruppen organisiert. Jede Blockgruppe verfügt über eine Block-Bitmap, die verfolgt, welche Blöcke innerhalb der Gruppe frei oder belegt sind.

Inode-Strukturen speichern Metadaten zu allen Dateien und Verzeichnissen, einschließlich ihrer Größe und der Speicherorte der Blöcke, die die eigentlichen Daten enthalten. Die Inodes einer Blockgruppe werden in ihrer Inode-Tabelle gespeichert, und eine Inode-Bitmap zeichnet auf, welche Inodes verwendet oder frei sind.

Dateinamen gehören jedoch nicht zu den Metadaten und sind nicht direkt in den Inodes gespeichert. Stattdessen befinden sie sich in Verzeichnisdateien, die eigentlich reguläre Dateien mit Verzeichniseinträgen sind.

Dateilöschung auf Ext2

Ext2 markiert den Inode, der die gelöschte Datei beschreibt, als frei in der Inode-Bitmap. Die Blöcke, die die Dateidaten speichern, werden in der Block-Bitmap ebenfalls als frei markiert und stehen zur Wiederverwendung bereit. Der Dateiname wird aus dem Verzeichniseintrag entfernt, wodurch die Verbindung zwischen Dateiname und Inode-Nummer zerstört wird.

  • Wiederherstellung nicht fragmentierter Dateien: Der Inode speichert weiterhin wesentliche Informationen über die Datei, einschließlich ihrer Größe und der Speicherorte der Datenblöcke. Solange der Inhalt der Blöcke nicht überschrieben wurde, ist die Wahrscheinlichkeit der erfolgreichen Dateiwiederherstellung recht hoch. Da der Dateiname jedoch nicht im Inode gespeichert ist und der Verweis auf den Inode aus dem Verzeichnis fehlt, geht der Dateiname dauerhaft verloren.

  • Wiederherstellung fragmentierter Dateien: Der Inode enthält die notwendigen Informationen, um die Blöcke der Datei zu finden. Die Chancen zur Wiederherstellung sind daher vergleichbar mit denen nicht fragmentierter Dateien. Allerdings erhöht die Fragmentierung das Risiko, dass einzelne Teile der Datei überschrieben werden.

Formatierung von Ext2

Das Dateisystem wird zurückgesetzt, wodurch der Inhalt aller Blockgruppen, einschließlich der Inodes, gelöscht wird.

  • Wiederherstellung nicht fragmentierter Dateien: Alle wichtigen Strukturen, die das Dateisystem beschreiben, fehlen. Daher kann für die Datenrettung nur die RAW-Wiederherstellungsmethode angewendet werden. Dabei gehen die ursprünglichen Dateinamen und Verzeichnisse verloren.

  • Wiederherstellung fragmentierter Dateien: Ohne die Metadaten des Dateisystems ist es äußerst schwierig, die Fragmente solcher Dateien korrekt zusammenzusetzen. Dies erhöht das Risiko, dass fragmentierte Dateien beschädigt werden.

Ext3/Ext4

Ext3 erweitert das Ext2-Dateisystem durch die Einführung einer Journaldatei. Dieses Journal verfolgt alle Änderungen, bevor sie auf das Dateisystem angewendet werden. Wenn also eine Änderung vorgenommen wird, wird sie zuerst im Journal aufgezeichnet, was die Zuverlässigkeit des Dateisystems verbessert.

Ext4 baut auf Ext3-Dateisystem auf, indem es Extents einführt. Im Gegensatz zu den blockbasierten Mechanismen von Ext2 und Ext3 ermöglichen Extents eine effizientere Datenplatzierung. Bei Extents werden größerer Bereiche zusammenhängenden Raums zugeweisen, die durch die Adresse des Startblocks und die Gesamtzahl der Blöcke im Bereich beschrieben werden. Bei kleineren Dateien werden die Extents direkt im Inode der Datei gespeichert. Wenn eine Datei mehr als vier Extents hat, speichert Ext4 sie in einer separaten hierarchischen B+Baumstruktur.

Ein weiteres Merkmal von Ext4 ist die sogenannte verzögerte Zuweisung, die Fragmentierung reduziert. Anstatt die Daten sofort zu schreiben, sammelt Ext4 sie im RAM, und der Speicherplatz wird erst reserviert, wenn entweder mehr Daten zum Schreiben bereitstehen oder die Datei geschlossen wird.

Dateilöschung auf Ext3/Ext4

Ext3/Ext4 protokolliert den Vorgang, indem ein Eintrag im Journal erstellt wird. Danach wird der Inode der Datei in der Inode-Bitmap als verfügbar markiert. Die Extents, die zum Speichern des Inhalts verwendet werden, werden ebenfalls als frei gekennzeichnet. Der Verzeichniseintrag, der den Dateinamen mit dem Inode verknüpft, wird nicht vollständig gelöscht, sondern die Reihenfolge beim Verzeichnislesen wird geändert.

  • Wiederherstellung nicht fragmentierter Dateien: Die Verknüpfung zwischen dem Dateinamen und dem Inode ist aufgehoben, aber das Journal kann weiterhin Metadaten zu kürzlich gelöschten Dateien enthalten. Wenn das Journal mit der Datei verknüpfte Datensätze enthält, können diese analysiert werden, um sowohl den Inhalt als auch den Dateinamen wiederherzustellen. Die Qualität des Wiederherstellungsergebnisses hängt davon ab, wie lange das Dateisystem nach dem Löschvorgang aktiv war.

  • Wiederherstellung fragmentierter Dateien: Für solche Dateien in Ext3/Ext4 ist die Wiederherstellungswahrscheinlichkeit geringer, da die verstreuten Blöcke/Extents schwerer zu identifizieren und zusammenzuführen sind. Dennoch kann das Journal bei kürzlich gelöschten Dateien hilfreich sein, um sowohl Inhalte als auch ursprüngliche Namen wiederherzustellen.

Formatierung von Ext3/Ext4

Dieser Vorgang umfasst das Löschen aller Blockgruppen und der Inodes. Das Journal wird normalerweise zurückgesetzt, wodurch frühere Einträge verloren gehen. In einigen Fällen können jedoch je nach Treiber Informationen zu kürzlich erstellten oder geänderten Dateien erhalten bleiben.

  • Wiederherstellung nicht fragmentierter Dateien: Mit der RAW-Wiederherstellungsmethode lassen sich intakte Dateien oft wiederherstellen. Die ursprünglichen Dateinamen können jedoch in den meisten Fällen nicht abgerufen werden. Es ist möglich, Namen nur für letzte Dateien zu rekonstruieren, unter der Voraussetzung, dass das Journal im Rahmen der Formatierung nicht gelöscht wurde.

  • Wiederherstellung fragmentierter Dateien: Die verstreute Platzierung von Datenblöcken erschwert die Wiederherstellung fragmentierter Dateien erheblich, wodurch die Erfolgsaussichten deutlich geringer sind.

ReiserFS

Ein ReiserFS-Volume ist in Blöcke fester Größe unterteilt, die als grundlegende Speichereinheit dienen. Eine dedizierte Bitmap verfolgt, welche Dateisystemblöcke verwendet werden und welche frei sind.

ReiserFS nutzt einen S+-Baum, um alle Dateien, Verzeichnisse und Metadaten zu organisieren. Der Baum besteht aus vier Item-Typen: indirekte Items, direkte Items, Verzeichnis-Items und Stat-Items. Direkte Items speichern tatsächliche Daten; indirekte Items verweisen auf die Speicherorte der Datenblöcke; Verzeichnis-Items dienen als Verzeichniseinträge; Stat-Items enthalten Metadatendetails zu Dateien und Verzeichnissen. Jedes Item im S+-Baum hat einen eindeutigen Schlüssel, der seine Identifikation ermöglicht.

ReiserFS reduziert die Platzverschwendung mithilfe einer speziellen Tail-Packing-Technik. Wenn Dateien oder Dateifragmente kleiner als ein vollständiger Block sind, werden sie zusammengepackt und im ungenutzten Teil eines Blocks gespeichert, was die Speichereffizienz verbessert.

Anstatt Änderungen direkt in den S+-Baum zu schreiben, protokolliert ReiserFS sie zunächst im Journal. Anschließend können die geänderten Blöcke aus dem Journal an die tatsächlichen Speicherorte auf der Festplatte kopiert werden.

Dateilöschung auf ReiserFS

ReiserFS aktualisiert den S+-Baum, indem es die Knoten entfernt, die der gelöschten Datei entsprechen. Die von der Datei verwendeten Blöcke werden im Bitmap als frei markiert.

  • Wiederherstellung nicht fragmentierter Dateien: ReiserFS speichert Kopien des S+-Baums und protokolliert Änderungen am Dateisystem in seinem Journal. Daher können ältere Versionen der mit der gelöschten Datei verknüpften S+-Baumknoten im Dateisystem verbleiben. In diesem Fall liegen die Wiederherstellungschancen für diese Datei, einschließlich ihres Namens, bei bis zu 100 %.

  • Wiederherstellung fragmentierter Dateien: Dank der Architektur von ReiserFS sind die Wiederherstellungsaussichten für fragmentierte Dateien nahezu identisch mit denen nicht fragmentierter Dateien.

Formatierung von ReiserFS

ReiserFS erstellt einen neuen S+-Baum, der die bestehende Struktur überschreibt.

  • Wiederherstellung nicht fragmentierter Dateien: Das Dateisystem speichert Kopien des S+-Baums aus verschiedenen Stadien und bietet so eine gute Möglichkeit, den vorherigen S+-Baum wiederherzustellen und die Dateien mit ihren ursprünglichen Namen abzurufen. Die Erfolgschancen sind jedoch geringer, wenn das Volume vor der Formatierung nahezu vollständig belegt war.

  • Wiederherstellung fragmentierter Dateien: Die Wiederherstellungschancen für fragmentierte Dateien entsprechen weitgehend denen nicht fragmentierter Dateien.

JFS (JFS2)

JFS unterteilt den Speicher in mehrere Regionen, die als Zuordnungsgruppen bezeichnet werden. Diese bestehen aus Daten- und Metadatenblöcken und verwenden Bitmaps, um den Status dieser Blöcke nachzuverfolgen.

FileSets organisieren die logische Struktur von Dateien und Verzeichnissen im Dateisystem. Jede Datei und jedes Verzeichnis in JFS ist mit einem Inode verknüpft, der die Datei nicht nur beschreibt, sondern auch den Speicherort angibt, an dem ihr Inhalt abgelegt ist. Kleine Verzeichnisse werden innerhalb ihrer Inodes gespeichert, während größere Verzeichnisse durch separate B+-Baumstrukturen repräsentiert werden.

Die eigentlichen Daten der Datei werden in Sequenzen zusammenhängender Blöcke organisiert, die als Extents bezeichnet werden. Alle Extents werden von einem dedizierten B+-Baum indiziert.

Zur Verwaltung des freien Speicherplatzes kommen zwei zusätzliche B+-Bäume zum Einsatz: Einer verfolgt die Startblöcke der freien Extents, der andere überwacht die Anzahl der verfügbaren Extents.

Um die Datenkonsistenz zu gewährleisten, erstellt JFS einen dedizierten Protokollbereich und zeichnet alle Änderungen an den Metadaten im Journal auf.

Dateilöschung auf JFS

Das Dateisystem aktualisiert den B+-Baum, der den freien Speicherplatz verfolgt, markiert den Inode der Datei als frei und passt dann die Verzeichnisstruktur an, um die Löschung der Datei widerzuspiegeln.

  • Wiederherstellung nicht fragmentierter Dateien: Solange der zur gelöschten Datei gehörende Inode nicht überschrieben wird, liegen die Chancen zur Dateiwiederherstellung oft bei nahezu 100 %. Die Wiederherstellung des ursprünglichen Namens ist jedoch unwahrscheinlich, da die Verknüpfung zwischen dem Inode und Dateinamen im Verzeichnis fehlt.

  • Wiederherstellung fragmentierter Dateien: Die Erfolgschancen sind vergleichbar mit denen nicht fragmentierter Dateien.

Formatierung von JFS

JFS erstellt einen neuen B+-Baum. Er beginnt klein und wächst mit der Nutzung des Dateisystems.

  • Wiederherstellung nicht fragmentierter Dateien: Die Wiederherstellungschancen sind relativ hoch, insbesondere aufgrund der geringen Größe des neuen B+Baumes. Beim Schreiben neuer Daten auf die Festplatte können jedoch die Informationen zu alten Dateien überschrieben werden.

  • Wiederherstellung fragmentierter Dateien: Die Erfolgschancen ähneln denen nicht fragmentierter Dateien.

Btrfs

Btrfs stützt sich bei der Verwaltung seiner Daten und Strukturen vollständig auf B-Bäume, wobei jeder B-Baum einem spezifischen Zweck dient, wie im Folgenden beschrieben.

Das Dateisystem kann sich über mehrere Geräte erstrecken, ohne dass zusätzliche Speichertechnologien erforderlich sind. Der Speicherplatz dieser Geräte wird zu einem einzigen logischen Pool zusammengeführt und jedem Block in diesem Pool wird eine virtuelle Adresse zugewiesen. Diese virtuellen Adressen werden im gesamten Dateisystem anstelle der realen physischen Adressen verwendet. Der Chunk-B-Baum verfolgt die Zuordnung zwischen virtuellen Adressen und tatsächlichen physischen Standorten. Er zeichnet auch auf, welche Geräte Teil des Speicherpools sind. Der Geräte-B-Baum hingegen ordnet die physischen Blöcke auf den Geräten den virtuellen Adressen zu.

Alle Informationen zu Dateien und Verzeichnissen werden im B-Baum des Dateisystems gespeichert. Kleine Dateien werden als Extent-Elemente direkt in diesem B-Baum abgelegt. Größere Dateien hingegen speichern ihren Inhalt außerhalb des B-Baums, während Extent-Elemente in diesem Baum auf alle Extents verweisen – zusammenhängende Speicherbereiche, aus denen die Datei besteht. Verzeichniselemente in diesem B-Baum enthalten den Inhalt von Verzeichnissen, einschließlich der Dateinamen und der Verweise auf die entsprechenden Inode-Elemente. Inode-Elemente speichern Metadaten, einschließlich Größe, Berechtigungen und weitere Attribute von Dateien.

Die Platzierung von Extents in Btrfs ist sehr dynamisch. Sie werden je nach den Anforderungen verschiedener Aufgaben zugewiesen und in nicht sequentieller Weise über den verfügbaren Raum verteilt. Ein separater Extent-B-Baum wird zur Verwaltung der Zuordnung aller Extents im Dateisystem verwendet.

Wenn Daten oder Metadaten geändert werden, schreibt Btrfs sie an einen neuen Speicherort, anstatt bestehende Informationen zu überschreiben. Dieses Copy-on-Write-Prinzip (CoW) gewährleistet die Integrität des Dateisystems und erleichtert die Wiederherstellung nach Systemabstürzen.

Dateilöschung auf Btrfs

Btrfs erstellt den B-Baum des Dateisystems neu, um die mit der gelöschten Datei verknüpften Knoten zu entfernen, einschließlich ihrer Inodes, Verzeichniseinträge und Dateninhalt. Der Extent-B-Baum wird ebenfalls aktualisiert, um die dieser Datei zugewiesenen Extents freizugeben. Aufgrund der Copy-on-Write-Natur dieses Dateisystems bleiben jedoch Verweise auf die Daten und Metadaten der gelöschten Datei in älteren Kopien erhalten.

  • Dateiwiederherstellung: Durch die Analyse der älteren Kopien ist es möglich, sowohl Daten als auch Metadaten der gelöschten Datei zu finden. In den meisten Fällen kann die Datenrettung erfolgreich sein. Bei einer Massenlöschung erschwert jedoch der Neuaufbau der Speicherzuweisung die Wiederherstellung, da die Daten nicht linear verteilt sind.

Formatierung von Btrfs

Btrfs setzt seine primären Metadatenstrukturen zurück, darunter den Dateisystem- und den Extent-B-Baum.

  • Dateiwiederherstellung: Alte Kopien der Daten und Metadaten können noch auf dem Speicher vorhanden sein. Da die Speicherzuweisung jedoch zurückgesetzt wurde, sind Verweise auf diese Informationen schwer auffindbar. In Kombination mit der nicht sequenziellen Zuordnung stellt dies eine erhebliche Herausforderung für die Datenwiederherstellung dar.

F2FS

F2FS teilt den gesamten Speicherplatz in Segmente fester Größe. Diese Segmente werden dann in Sektionen organisiert, während mehrere Abschnitte eine Zone bilden.

Die Datenplatzierung in F2FS erfolgt über Knoten. Diese können in drei Typen unterteilt werden: Direkte Knoten speichern die Adressen tatsächlicher Datenblöcke; indirekte Knoten enthalten Links zu Blöcken in anderen Knoten; Inodes enthalten Metadaten für Dateien und Verzeichnisse, einschließlich Namen, Größen und anderer Attribute. Die Zuordnung dieser Knoten zu ihren physischen Standorten auf dem Speicher wird über die Node Address Table (NIT) verwaltet.

Der eigentliche Inhalt von Dateien und Verzeichnissen befindet sich im Hauptbereich. Dieser ist in Sektionen unterteilt, um Datenblöcke von Knotenblöcken zu trennen. Der Status jedes Blocks wird von der Segment Information Table (SIT) verfolgt. Blöcke werden als gültig gekennzeichnet, wenn sie belegt sind, und als ungültig, wenn sie gelöschte Daten enthalten. Die Segment Summary Area (SSA) speichert Informationen darüber, welche Blöcke zu welchem Knoten gehören.

F2FS verfügt über eine eigene Version von Verzeichniseinträgen, die als Dentries bezeichnet werden. Dentries ordnen Dateinamen den Inodes zu, welche die übrigen Metadaten der Dateien enthalten.

Wenn der freie Speicherplatz im Dateisystem für neue Daten nicht ausreicht, führt F2FS im Hintergrund eine Speicherbereinigung durch – in der Regel, wenn das System im Leerlauf ist. Opfersegmente werden basierend auf der Anzahl ihrer belegten Blöcke oder ihrem Alter ausgewählt.

Die Konsistenz des Dateisystems wird durch Checkpoint-Blöcke gewährleistet. Solche Blöcke speichern Informationen über den Zustand wichtiger Dateisystemelemente zu definierten Zeitpunkten und dienen nach Systemabstürzen als Wiederherstellungspunkte.

Dateilöschung auf F2FS

F2FS aktualisiert die NAT- und SIT-Tabellen, um anzuzeigen, dass die Blöcke der Datei nicht mehr verwendet werden. Die Änderungen bleiben im RAM, bis ein neuer Prüfpunkt erstellt wird, der den aktuellen Status des Dateisystems erfasst. Der eigentliche Dateninhalt bleibt bestehen, bis er durch Bereinigung entfernt wird.

  • Dateiwiederherstellung: Der aktuellste Prüfpunkt kann verwendet werden, um die Knoten und Datenblöcke der Datei zu lokalisieren. Sofern die Datei bei der Bereinigung nicht gelöscht wurde, ist ihre Wiederherstellung mit hoher Wahrscheinlichkeit möglich.

Dateisysteme von BSD, Solaris, Unix

Die Unix-Betriebssystemfamilie, zu der Varianten wie BSD und Solaris gehören, nutzte ursprünglich das Unix File System (UFS). Im Laufe der Zeit wurde UFS auf UFS2 aktualisiert, das Verbesserungen wie die Unterstützung größerer Dateigrößen und eine bessere Gesamtleistung einführte. Für Solaris wurde später ein Dateisystem der nächsten Generation namens ZFS entwickelt. ZFS wurde inzwischen auch von anderen Betriebssystemen wie FreeBSD übernommen und ist besonders beliebt in Umgebungen, die moderne Speicherfunktionen, hohe Leistung und Zuverlässigkeit erfordern.

Es ist wichtig zu betonen, dass die Datenrettung von den Dateisystemen von BSD, Solaris und Unix nur möglich ist, solange die Originalinformationen auf dem Speicher vorhanden sind und nicht überschrieben wurden.

UFS/UFS2

Ein UFS-Volume besteht aus einer oder mehreren Zylindergruppen. Jede Zylindergruppe verfügt über einen eigenen Satz von Inodes, die Informationen zu Dateien speichern, sowie Datenblöcke, die deren eigentlichen Inhalt enthalten. Eine Bitmap verfolgt, welche Blöcke und Inodes innerhalb der Zylindergruppe belegt sind.

Eine Datei in UFS besteht aus Datenblöcken und einem Inode. Inodes speichern die Metadaten von Dateien, wie Größe, Berechtigungen usw., und direkte Zeiger auf die ersten 12 Datenblöcke. Wenn eine Datei größer ist, verweist ihr Inode auf einen indirekten Block, der Adressen weiterer Datenblöcke enthält. Inodes enthalten jedoch keine Dateinamen – diese werden in Verzeichnissen gespeichert.

Verzeichnisse in UFS werden als Eintragslisten organisiert. Jeder Verzeichniseintrag speichert den Namen einer Datei und die entsprechende Inode-Nummer. Normalerweise ist eine Datei mit einem einzigen Inode verknüpft. Bei einem Hardlink kann jedoch dieselbe Datei mehrere Namen haben, wobei verschiedene Verzeichniseinträge auf denselben Inode verweisen. Der Inode verfolgt dann, wie viele Hardlinks auf ihn zeigen.

Dateilöschung auf UFS

UFS löscht den Inode der Datei, der ihre Größe und die Speicherorte der ersten 12 Datenblöcke beschreibt. Die Bitmap wird aktualisiert, um die entsprechenden Datenblöcke und Inodes als frei zu markieren. Der Verzeichniseintrag, der den Dateinamen mit dem Inode verknüpft, wird ebenfalls gelöscht.

  • Wiederherstellung nicht fragmentierter Dateien: Der Inode der Datei fehlt, daher sind die Informationen zur Dateigröße und den Speicherorten der ersten 12 Datenblöcke nicht verfügbar. Auch die Verknüpfung zwischen dem Dateinamen und ihrem Inode geht unwiederbringlich verloren. Mit der RAW-Wiederherstellungsmethode ist es möglich, eine nicht fragmentierte Datei wiederherzustellen, allerdings ohne den ursprünglichen Namen und das ursprüngliche Verzeichnis. Aufgrund der Eigenheiten des Soft-Updates-Algorithmus sind nicht fragmentierte Dateien in UFS jedoch selten.

  • Wiederherstellung fragmentierter Dateien: Da keine Informationen darüber vorliegen, welche Datenblöcke zu der gelöschten Datei gehören, sind die Chancen zur Wiederherstellung fragmentierter Dateien äußerst gering.

Formatierung von UFS

Der Vorgang setzt Zylindergruppen zurück, wodurch die vorhandenen Inodes und Verzeichniseinträge gelöscht werden. Folglich werden alle Verweise auf Dateien und ihre Namen zerstört. Gleichzeitig bleiben die Datenblöcke erhalten, bis sie überschrieben werden.

  • Wiederherstellung nicht fragmentierter Dateien: Nicht fragmentierte Dateien können mit der RAW-Wiederherstellungsmethode abgerufen werden, verlieren dabei jedoch ihre ursprünglichen Namen und Verzeichnisse.

  • Wiederherstellung fragmentierter Dateien: Die Rekonstruktion solcher Dateien ist nahezu unmöglich, da keine Inodes existieren, die die Fragmente miteinander verbinden könnten.

ZFS

ZFS unterscheidet sich von den meisten Dateisystemen durch die Möglichkeit, mehrere physische Laufwerke in einem gemeinsamen Speicherpool zu kombinieren. Ein Pool besteht aus einem oder mehreren virtuellen Geräten, den sogenannten vdevs. Jedes vdev hat ein Label mit einem Uberblock, der als primäre Metadatenstruktur des Pools dient.

ZFS weist Speicherplatz in Blöcken variabler Größe zu. Die Blöcke werden als Objekte verschiedener Typen organisiert. Jedes Objekt wird durch einen Dnode beschrieben – eine Struktur, die Details wie Typ, Größe usw. des Objekts enthält und kann bis zu drei Blockzeiger speichern. Ein Zeiger kann entweder direkt auf einen Block mit tatsächlichen Daten (Blattblock) oder auf einen indirekten Block zeigen, der auf einen anderen Block verweist.

Alle zugehörigen Objekte werden in Objektsätzen zusammengefasst. Jedes Objekt in einem Objektsatz erhält eine eindeutige Kennung, die als Objektnummer bezeichnet wird. Die Metadaten dieser Objekte sind ebenfalls in Form von Objekten organisiert und werden über eine spezielle Struktur, einen sogenannten Metadnode, referenziert. Ein dedizierter Objektsatz namens Meta Object Set (MOS) verwaltet Metadaten für den gesamten Speicherpool.

Beim Schreiben von Daten nutzt ZFS das Copy-on-Write (CoW)-Prinzip. Anstatt bestehende Blöcke zu überschreiben, werden neue Blöcke in ungenutztem Speicherplatzbereich zugewiesen, um die aktualisierten Daten zu speichern. Sobald die neuen Daten erfolgreich geschrieben wurden, aktualisiert das Dateisystem die Metadaten, um auf die neuen Blöcke zu verweisen. Die alten Blöcke bleiben dabei intakt.

Dateilöschung auf ZFS

Die Verknüpfung zwischen dem Dnode, der die gelöschte Datei beschreibt, und den Blöcken, die ihre Daten enthalten, wird aufgehoben. Die der Datei zugeordnete Objektnummer wird als frei für die Wiederverwendung markiert. Der Verweis auf die Datei wird aus dem Verzeichnisobjekt entfernt. Ein neuer Uberblock wird geschrieben, um den aktualisierten Status des Dateisystems widerzuspiegeln. All diese Änderungen erfolgen gemäß dem Copy-on-Write-(CoW)-Prinzip.

  • Dateiwiederherstellung: Je nach Nutzung des Dateisystems und Auslastung des Speicherpools können ältere Versionen der Daten und Metadaten der Datei längere Zeit im Speicherpool vorhanden sein und für die vollständige Dateiwiederherstellung mit dem korrekten Namen verwendet werden. Die Wiederherstellung kann erschwert werden, da die Daten in Blöcken unterschiedlicher Größe auf mehrere Laufwerke verteilt sind. Ohne die Metadaten des Pools (Überblock, Metaobjektsatz usw.) ist es nahezu unmöglich, den Speicher zusammenzustellen und sein Layout zu rekonstruieren. Der Erfolg hängt daher auch von der Integrität dieser Metadaten ab.

Hinweis: Verlassen Sie sich bitte auf die Anleitung, wenn Sie Daten auf den Dateisystemen von Unix, Solaris oder BSD wiederherstellen müssen.

Um die besten Chancen bei der Datenrettung von den oben beschriebenen Dateisystemen zu gewährleisten, werden UFS Explorer und Recovery Explorer als zuverlässige und effektive Softwarelösungen mit umfassender Kompatibilität empfohlen. Diese Programme laufen unter verschiedenen Betriebssystemen und eignen sich hervorragend zur Wiederherstellung gelöschter, verlorener oder unzugänglicher Daten auf verschiedenen Geräten, die mit Dateisystemen von Windows, Linux, macOS, Unix, BSD und Solaris formatiert sind.

Hindernisse für die Datenrettung durch TRIM

Die meisten modernen SSDs und eine wachsende Zahl neuer SMR-Laufwerke sind mit einem Übersetzer ausgestattet, der TRIM unterstützt. Wenn TRIM aktiviert ist, sendet das Dateisystem einen TRIM-Befehl an das Speichergerät und informiert es darüber, dass bestimmte Blöcke nicht mehr verwendet werden und für die Löschung vorbereitet werden sollten. Diese Blöcke werden in den internen Zuordnungstabellen des Geräts als frei markiert und warten auf die physische Löschung, die sogenannte Garbage Collection. Solche Maßnahmen zielen darauf ab, die Leistung des Laufwerks zu optimieren und seine Lebensdauer zu verlängern. Gleichzeitig stellen sie erhebliche, oft unüberwindbare Hindernisse für die Wiederherstellung gelöschter oder formatierter Dateien dar.

Sobald TRIM ausgeführt wird, behandelt das Gerät die betroffenen Blöcke als leer. Obwohl die Daten physisch noch vorhanden sein können, werden die Verweise auf diese Blöcke auf der internen Zuordnungsebene des Laufwerks entfernt. Dadurch sind die Blöcke weder für das Dateisystem noch für Datenrettungssoftware sichtbar. Und sobald die Garbage Collection durchgeführt ist, werden die Blöcke auf Hardwareebene gelöscht, sodass keinerlei Möglichkeit für die Datenwiederherstellung besteht.

Die Garbage Collection startet möglicherweise nicht unmittelbar nach dem TRIM-Befehl und ist ein relativ langsamer Prozess, dessen Geschwindigkeit je nach Hersteller, Modell und Speichertyp des Laufwerks variiert. Im Gegensatz dazu ist die Aktualisierung des Übersetzers ein schneller Vorgang, der oft fast sofort erfolgt. Nach dieser Aktualisierung gibt das Laufwerk in den zugeschnittenen Bereichen Nullen zurück, die eigentlichen Daten sind jedoch möglicherweise noch nicht zerstört.

Dateilöschung

Das Dateisystem markiert den Speicherplatz als frei und löst den TRIM-Befehl aus. Der Übersetzer aktualisiert daraufhin seine Zuordnungstabellen und kennzeichnet die betroffenen Blöcke als nicht mehr benötigt. Diese Blöcke werden für die Garbage Collection eingeplant. Der Reinigungsprozess selbst kann sofort beginnen oder um einige Sekunden bis zu einer Woche verzögert werden.

Dateiwiederherstellung: Es gibt ein sehr kurzes Zeitfenster, normalerweise etwa 5 Sekunden, um das Gerät auszuschalten, bevor der Übersetzer aktualisiert wird. Nach der Ausführung von TRIM können Standardwiederherstellungsmethoden nicht mehr auf die Daten zugreifen. Andererseits können Datenrettungsexperten die Daten möglicherweise immer noch mithilfe spezieller Geräte wiederherstellen, die die interne Übersetzerschicht des Laufwerks umgehen. Sie können das Laufwerk in den Debug-Modus versetzen und den Rohinhalt seiner Speicherchips kopieren. Der Erfolg ist in diesem Fall nicht garantiert und hängt von vielen technischen Faktoren ab. Wenn das Laufwerk jedoch einige Zeit eingeschaltet bleibt, werden die gelöschten Daten graduell durch die Garbage Collection vernichtet.

Formatierung

Der Vorgang setzt die Dateisystemstruktur zurück. Gleichzeitig wird der TRIM-Befehl aktiviert, der dem Laufwerk mitteilt, dass die zuvor belegten Blöcke jetzt "frei" sind. Der Übersetzer des Laufwerks aktualisiert seine interne Zuordnung. Die Garbage Collection kann sofort beginnen oder den Löschvorgang je nach Arbeitslast des Laufwerks verzögern.

Dateiwiederherstellung: Wie bei der Dateilöschung haben Datenrettungsexperten die Möglichkeit, Rohdaten aus den Blöcken abzurufen, die vom Übersetzer als ungenutzt markiert wurden, sofern das Laufwerk vor der Speicherbereinigung getrennt wird. Sobald die Garbage Collection abgeschlossen ist, sind die gelöschten Daten jedoch endgültig verloren und können nicht wiederhergestellt werden.

Metadatenbeschädigung

Wenn Daten oder Metadaten beschädigt sind, kann das Dateisystem die betroffenen Blöcke möglicherweise nicht mehr korrekt identifizieren oder verwalten, sodass der TRIM-Befehl nicht ausgelöst werden kann. Ohne diesen Befehl kann das Speichergerät den Status für diese Blöcke nicht aktualisieren. Folglich werden die Blöcke nicht für die Garbage Collection eingeplant und bleiben unberührt, bis das Laufwerk gültige Anweisungen erhält.

Dateiwiederherstellung: Da TRIM nicht ausgeführt wird, bleiben die Daten innerhalb der Blöcke physisch intakt, obwohl sie über das Betriebssystem nicht mehr zugänglich sind. Datenrettungssoftware kann auf die fehlenden Dateien zugreifen und sie rekonstruieren. Die Erfolgsaussichten hängen vom Ausmaß des Schadens und den Besonderheiten des betroffenen Dateisystems ab.

Letzte Aktualisierung: 04. Dezember 2024