6.1.3. Wiederherstellung der Cluster-Ketten
Nachdem die Cluster-Kette
definiert worden ist, ist die abschließende Aufgabe, den Inhalt der definierten
Cluster zu lesen und auf einen anderen Platz zu speichern. Durch die
Cluster-Kette und die Standardformeln, ist es möglich, jeden Cluster-Offset des
Laufwerkes vom Anfang zu errechnen. Die Rechenformeln für Cluster-Offset ändern
sich abhängig von Dateisystem. Bei Start vom errechneten Offset kopieren Sie
einen Datenbestand auf eine neu erstellte Datei, den der Größe der
Cluster-Ketten gleich ist.
Um den Cluster-Offset in einem
FAT-Laufwerk zu errechnen, solle wir wissen:
-
-
Zahl der FAT-gestützten
Kopien
-
Größe von einer Kopie des FAT
-
-
Zahl der Sektoren pro Cluster
-
Zahl von Bytes pro Sektor
NTFS-Format definiert einen linearen Raum. Um den Cluster-Offset
zu errechnen, man muss einfach den Clusterzahl mit der Clustergröße
multiplizieren.
Wiederherstellung von
Cluster-Ketten in FAT16
Dieser Abschnitt setzt die
Prüfung der gelöschten Datei "MyFile.txt" von den vorhergehenden Themen fort.
Jetzt haben wir die Cluster-Ketten 3, 4, 5 und 6, die für die Wiederherstellung
gekennzeichnet worden sind. Unser Cluster besteht aus 64 Sektoren; Sektorgröße
ist 512 Bytes, also ist Clustergröße: 64*512 = 32.768 Bytes = 32 KB.
Der erste Datensektor ist 535 (wir
haben 1 Boot-Sector, plus 2 Kopien der multiplizierte mit 251 FAT-Sektoren,
plus 32 Hauptfolder-Sektoren: die Gesamtmenge ist 534, die durch
Systemdatensektoren besetzt wird).
Clusters 0 und 1 existieren nicht, also
ist der erste Datencluster 2.
Clusternummer 3 ist neben dem Cluster
2, d.h. wird es 64 Sektoren hinter dem ersten Datensektor lokalisiert (535 + 64
= 599).
Der gleiche Offset von 306.668 Byte vom
Anfang des Laufwerkes (0xÂE00).
Mit Hilfe von den Laufwerk-Editor des
niedrigen Niveaus können wir unsere Daten seit dem Offset 0xÂE00 oder Cluster 3
oder Sektor 599 sehen:
Offset 0 1 2 3 4 5 6 7 8 9 A B
C D E F
0004AE00 47 55 49 20 6D 6F 64
65 20 53 65 74 75 70 20 68 GUI mode Setup h
0004AE10 61 73 20 73 74 61 72
74 65 64 2E 0D 0A 43 3A 5C as started...C:\
0004AE20 57 49 4E 4E 54 5C 44
72 69 76 65 72 20 43 61 63 WINNT\Driver Cac
Weil die Cluster-Kette konsekutive ist,
sollen wir nur seit diesem Platz 112.435 Bytes kopieren. Wenn die Cluster-Kette
konsekutive nicht wäre, würden wir den Offset für jeden Cluster nachrechnen und
den Wert von 64*512 = 32768 Bytes 3mal kopieren müssen. Der Rest der letzte
Clusterkopie 14.131 Bytes wird als 112.435 Bytes - (3 * 32.768 Bytes)
errechnet).
Wiederherstellung von
Cluster-Ketten in NTFS
In unserem Beispiel sollen
wir gerade 110 Clusters beginnend von dem Cluster 312555 auswählen.
Clustergröße ist 512 Byte, also wird
der Offset des ersten Blockes 512 * 312555 = 160028160 = 0x0989D600 sein
Offset 0 1 2 3 4 5 6 7 8 9 A B
C D E F
0989D600 D0 CF 11 E0 A1 B1 1A
E1 00 00 00 00 00 00 00 00 Ï.ࡱ.á........
0989D610 00 00 00 00 00 00 00
00 3E 00 03 00 FE FF 09 00 ........>...ÿ..
0989D620 06 00 00 00 00 00 00
00 00 00 00 00 01 00 00 00 ................
0989D630 69 00 00 00 00 00 00
00 00 10 00 00 6B 00 00 00 i...........k...
0989D640 01 00 00 00 FE FF FF
FF 00 00 00 00 6A 00 00 00 ....ÿÿÿ....j...
0989D650 FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
In den oben genannten Daten ist die Datenwiederherzustellung erledigt, wenn
Daten seit diesem Punkt durch den 110 Clusters gelesen worden sind (56320
Bytes). Diese Daten werden auf einer anderen Position kopiert.
Previous
< Contents
|