Wir bemühen uns, schnelle, effiziente und erschwingliche Software-Lösungen anzubieten, die neue Standards in der Software-Industrie setzen können.
  • Ermitteln der RAID-Parameter

Bei der Besprechung der Datenrettung von RAIDs gingen wir davon aus, dass wir die RAID-Parameter bereits kannten. Allerdings gibt es Fälle, in denen wir die Parameter des RAIDs, das wir rekonstruieren möchten, nicht kennen. Wie finden wir die erforderlichen Parameter? RAID-Anbieter können Ihnen eventuell mit den Standardwerten weiterhelfen, aber manchmal wurden die Parameter bereits angepasst und sind nicht mehr bekannt. Kann R-Studio in einem solchen Fall helfen? Ja - wir können die Daten der RAID-Komponenten im integrierten Text-/Hex-Editor analysieren, um die benötigten Parameter zu finden. In diesem Artikel zeigen wir Ihnen am Beispiel eines einfachen NTFS RAID 5, wie das funktioniert.

Eine solche Aufgabe erfordert zumindest Grundkenntnisse der RAID-Datenstrukturen und Dateisysteme. Falls erforderlich, können Sie sich über die folgenden Websites näher informieren:
RAIDs: http://en.wikipedia.org/wiki/RAID
NTFS-Grundlagen: http://en.wikipedia.org/wiki/NTFS
Näheres zu NTFS: http://technet.microsoft.com/en-us/library/cc758691.aspx

Versuchen wir nun, die benötigten Parameter für einen einfachen unbekannten RAID 5 zu finden.

Die bekannten Parameter sind:
1. Anzahl der Festplatten: Drei
2. Dateisystem: NTFS (erstellt von Windows XP/2003 und später mit einem standardmäßigen Master Boot Record (MBR Startblock)
3. Typ: Basisvolume

Die unbekannten Parameter, die wir benötigen, sind:
1. Reihenfolge der Datenträger
2. Blockgröße
3. Blockreihenfolge
4. Volume-Offset

Die RAID-Volumes werden als in R-Studio erzeugte Abbild-Dateien dargestellt:
Disk1.arc
Disk2.arc
Disk3.arc
Ermitteln der RAID-Parameter: Abbild-Dateien von RAID-Komponenten
Klicken Sie auf das Bild, um es zu vergrößern
Abbild-Dateien von RAID-Komponenten

Bitte beachten Sie, dass das Auffinden eines Disk1-Objekts auf Disk2.arc durch R-Studio nicht unbedingt darauf hinweist, dass dies die erste Festplatte im RAID ist.


Ermitteln des Master Boot Record
Zunächst müssen wir das MBR finden, um den RAID-Offset zu bestimmen.
1. Öffnen Sie alle drei Abbild-Dateien nacheinander im Text-/Hex-Editor.
2. Deaktivieren Sie den Schreibzugriff, um unbeabsichtigter Datenkorruption in den bearbeiteten Objekten vorzubeugen!
3. Notieren Sie sich die Windows-Datenträgersignatur für jedes Objekt, um später erkennen zu können, welches Editorfenster zu welchem Objekt gehört.
4. Suchen Sie nach dem MBR-Startblock. Geben Sie im Dialogfeld "Search" ("Suche") die Zeichen 33 C0 8E D0 BC im HEX-Feld ein (dies ist ein Standard-MBR-Startblock, der in manchen Fällen aber abweichen kann), wählen Sie dann "From start position" ("Von Startposition aus") und geben Sie unter "Search at offset" ("Suche mit Offset") 0 ein.
5. Starten Sie die Suche mit OK.
Ermitteln der RAID-Parameter: Dialogfeld Suche
Daten im Dialogfeld Suchen, Start der Suche nach Master Boot Record (MBR)

Suchergebnisse:
Ermitteln der RAID-Parameter: Disk1.arc geöffnet im Text-/Hexadezimal-Editor
Klicken Sie auf das Bild, um es zu vergrößern
Disk1.arc geöffnet im Text-/Hexadezimal-Editor

Ermitteln der RAID-Parameter: Disk2.arc geöffnet im Text-/Hexadezimal-Editor
Klicken Sie auf das Bild, um es zu vergrößern
Disk2.arc geöffnet im Text-/Hexadezimal-Editor. MBR-Muster gefunden.

Ermitteln der RAID-Parameter: Disk3.arc geöffnet im Text-/Hexadezimal-Editor
Klicken Sie auf das Bild, um es zu vergrößern
Disk3.arc geöffnet im Text-/Hexadezimal-Editor. MBR-Muster gefunden.

Betrachten wir nun das Ergebnis der Suche: Der Text-/Hex-Editor findet dieses Muster an der Adresse 00 in Disk2.arc und Disk3.arc; Disk1.arc besteht nur aus Nullen. Das bedeutet, dass der Offset 0 ist, und dass Disk1.arc nicht die erste Festplatte im RAID sein kann.

Gleichzeitig erkennt der Editor diese Muster in Disk2 und Disk3 als Code des Master-Bootstrap-Ladeprogramms. In unserem Fall haben zwei Festplatten die gleichen MBR-Daten an der gleichen Stelle.

Im zweiten Schritt müssen wir den NTFS-Bootsektor finden.
Werfen Sie einen Blick auf das Feld "Sectors preceding partition" ("Sektoren, die der Partition voranstehen") im Bereich "Template" ("Vorlagen").
Ermitteln der RAID-Parameter: Vorlage des Laufwerks
Klicken Sie auf das Bild, um es zu vergrößern
Vorlagen-Bereich für Disk2 und Disk3

In unserem Fall ist der Sektor, der der Partition vorangeht, 16.065.

Ist dieser Wert größer als 63, müssen wir ihn durch N -1 teilen, wobei N die Anzahl der Festplatten (in unserem Fall N = 3) ist. Damit erhalten wir 8032. Dies ist die ungefähre Position, von der aus wir nach dem NTFS-Bootsektor suchen müssen. Beginnen wir die Suche an dieser Position, um zu vermeiden, dass wir falsche NTFS-Bootsektoren finden, die noch von früheren NTFS-Partitionen erhalten geblieben sein könnten.

Navigieren Sie im Editor zu diesem Sektor und suchen Sie dann nach dem Muster des NTFS-Bootsektors.
Ermitteln der RAID-Parameter: Sektorensuche
Klicken Sie auf das Bild, um es zu vergrößern
Das Sektoren-Suchfeld im Text-/Hexadezimal-Editor


Geben Sie im Dialogfeld Search (Suche) im Hex-Feld die Zeichenfolge EB 52 90 4E 54 46 53 20 20 20 20 ein (der NTFS-Bootsektor beginnt immer mit diesen Bytes), wählen Sie From current position (Von aktueller Position) und geben Sie bei Search at offset (Suche mit Offset) 0 ein.
Ermitteln der RAID-Parameter: Suche nach dem NTFS-Bootsektor
Klicken Sie auf das Bild, um es zu vergrößern
Daten im Dialogfeld Suchen, Start der Suche nach dem NTFS-Bootsektor

Der Editor findet dieses Muster in Sektor 8064 auf Disk2 und Disk3.

Wählen Sie nun das Muster für Boot sector NTFS im Bereich "Template" ("Vorlage").
Ermitteln der RAID-Parameter: NTFS-Bootsektor gefunden
Klicken Sie auf das Bild, um es zu vergrößern
Disk2.arc geöffnet im Text-/Hexadezimal-Editor. NTFS-Bootsektormuster gefunden. Das gleiche Muster wurde auch auf Disk3.arc gefunden.

Die erforderlichen Parameter, die wir gefunden haben
Byte pro Sektor: 512
Sektoren pro Cluster: 8
Nummer des logischen Clusters für die Datei $MFT: 786432

Zuvor gefundene Parameter:
RAID-Offset: 0

Als Nächstes müssen wir die MFT (Master File Table) auf der Festplatte finden:

1. Versuchen wir, einen ungefähren Wert für den MFT-Offset vom RAID-Start aus zu finden:
MFT-Offset vom Beginn der Partition bei Sektoren = Nummer des logischen Clusters für die Datei $MFT * Sektoren pro Cluster + RAID-Offset = 786.432 * 8+0 = 6.291.456
Wenn der RAID-Offset nicht 0 ist, müssen wir das Ergebnis der obigen Gleichung mit dem Wert des Offsets addieren.
MFT-Start auf der ersten Festplatte = MFT-Offset vom Beginn der Partition bei Sektoren/(N-1) = 6.291.456/2 = 3.145.728

2. Wir beginnen damit, nach dem genauen MFT-Start an einer Position zu suchen, die ein paar tausend Sektoren unterhalb dieses Wertes liegt. Zum Beispiel Sektor 3.140.000.
Geben Sie im Dialogfeld Search (Suche) im ANSI-Feld "FILE" ein, aktivieren Sie From current position (Von aktueller Position) und geben Sie bei Search at offset (Suche mit Offset) 0 ein.
Ermitteln der RAID-Parameter: Dateimuster
Klicken Sie auf das Bild, um es zu vergrößern
Das Muster wurde bei Sektor 10.241.463 auf Disk2 und bei Sektor 3.153.792 auf Disk3 gefunden.

Ermitteln der RAID-Parameter: Dateimuster
Klicken Sie auf das Bild, um es zu vergrößern
Sektor des ersten Datensatzes auf Disk3. Beginn eines Datenblocks.

Folgendes ist wichtig: Die Signatur FILE endet mit 0, was bedeutet, dass die Datensatznummer nicht mit einem Fixup überschrieben wurde. Wenn sie mit * (FILE*) enden würde, wären wir nicht in der Lage, mit unserer Suche fortzufahren, und müssten eine andere Technik anwenden.

Das Muster $.M.F.T. (HEX 24 00 4D 00 46 00 54) zeigt, dass der MFT-Start korrekt ist.
Da Sektor 3.153.792 unserem erwarteten Wert von Sektor 3.145.728 näher ist als dem von Sektor 10.241.463, können wir davon ausgehen, dass Disk3 die erste Festplatte im RAID ist.

Um fortfahren zu können, müssen wir im Hinterkopf behalten, dass ein Datensatz in der MFT zwei Sektoren einnimmt, und dass die Daten nacheinander auf das RAID 5 geschrieben werden - ein Datenblock auf einen Datenträger, dann der nächste Datenblock auf den nächsten Datenträger, und ein Paritätsblock auf den dritten Datenträger. In der folgenden Tabelle stellen wir ein Beispiel für ein solches System dar ...

Erste RAID-Festplatte Zweite RAID-Festplatte Dritte RAID-Festplatte
PD 1 2
3 PD 4
5 6 PD
... wobei die Zahlen die Reihenfolge repräsentieren, in der die Datenblöcke auf die jeweiligen Datenträger geschrieben werden, und PD für den Block "Parität der Daten" steht.
(Diese Tabelle ist nur ein Beispiel, und die Blockreihenfolge ist für andere Fälle beliebig.)

Hier bedeutet das, dass die Datensatznummern in der MFT innerhalb eines Datenblocks um eins steigen. Dann wird die MFT auf einer anderen Platte fortgesetzt, wo die Datensatznummern innerhalb des jeweiligen Datenblocks um eins steigen, während die dritte Festplatte den Paritätsblock enthält. Und so weiter.

Um also die Blockgröße zu ermitteln, betrachten wir die Datensatznummern auf diesem Datenträger, um herauszufinden, an welcher Stelle sie nicht mehr um eins erhöht werden. Diese Stelle beschreibt dann das Ende des Datenblocks. Anschließend betrachten wir andere Datenträger, um den Datenträger und die Stelle zu finden, an der die Datensatznummern in der MFT erneut um eins steigen. Dann betrachten wir noch einen Datenträger, um zu ermitteln, wo die MFT fortgesetzt wird, und so weiter.

Um danach zu suchen, scrollen Sie den Text im Editor um jeweils zwei Sektoren herunter.

Auf Disk 3 endet der Datenblock in Sektor 3.153.919 mit der Datensatznummer 3F 00.

Ermitteln der RAID-Parameter: Letzter Datensatz
Klicken Sie auf das Bild, um es zu vergrößern
Sektor des letzten Datensatzes auf Disk3. Das Ende des Datenblocks ist im nächsten Sektor (3.153.919).

Wenn wir uns die anderen Datenträger ansehen, stellen wir fest, dass die MFT auf Disk 1 in Sektor 3.153.792 mit der Datensatznummer 40 00 fortgesetzt wird und in Sektor 3.153.919 mit der Datensatznummer 7F 00 endet. Und so weiter.

Ermitteln der RAID-Parameter: Datensatz auf Disk1
Klicken Sie auf das Bild, um es zu vergrößern
Der Datensatz wird auf Disk1 fortgesetzt. Beginn eines Datenblocks.

Ermitteln der RAID-Parameter: Ende des Datenblocks
Klicken Sie auf das Bild, um es zu vergrößern
Letzter Datensatz auf Disk1. Das Ende des Datenblocks ist im nächsten Sektor (3.153.919).

Die Endergebnisse werden in der nachfolgenden Tabelle präsentiert:
Disk1 Disk2 Disk3
Sek: 3,153,792 Dat.Satz: 40 00
Sek: 3,153,918 Dat.Satz: 7F 00
Sek: 3,153,919 Ende des Stripes
Sek: 3,153,792 Kein Datensatz
Sek: 3,153,918 Kein Datensatz
Sek: 3,153,919: Ende des Stripes
Sek: 3,153,792 Dat.Satz: 00 00
Sek: 3,153,918 Dat.Satz: 3F 00
Sek: 3,153,919 Ende des Stripes
Sek: 3,153,920 Dat.Satz: Kein Datensatz
Sek: 3,154,046 Dat.Satz: Kein Datensatz
Sek: 3,154,047 Ende des Stripes
Sek: 3,153,920 Dat.Satz: C0 00
Sek: Sek: 3,154,046 Dat.Satz: FF 00
Sek: 3,154,047 Ende des Stripes
Sek: 3,153,920 Dat.Satz: 80 00
Sek: 3,154,046 Dat.Satz: BF 00
Sek: 3,154,047 Ende des Stripes
Sek: 3,154,048 Dat.Satz: 00 01
Sek: 3,154,174 Dat.Satz: 3F 01
Sek: 3,154,175 Ende des Stripes
Sek: 3,154,048 Dat.Satz: 40 01
Sek: Sek: 3,154,174 Dat.Satz: 7F 01
Sek: 3,154,175 Ende des Stripes
Sek: 3,154,048 Dat.Satz: Kein Datensatz
Sek: 3,154,174 Dat.Satz: Kein Datensatz
Sek: 3,154,175 Ende des Stripes
Kein Datensatz bedeutet, dass es sich um einen Paritätsblock handelt.

Ermitteln der RAID-Parameter: Paritätssektor
Klicken Sie auf das Bild, um es zu vergrößern
Beispiel für einen Paritätssektor

Anhand der oberen Tabelle leiten wir uns die folgenden Parameter ab:

Reihenfolge der Datenträger:
Erste RAID-Festplatte Disk3.arc
Zweite RAID-Festplatte Disk1.arc
Dritte RAID-Festplatte Disk2.arc

Offset: 0
Stripe-Größe: 128 Sektoren oder 65.536 KB (64 KB)
Stripe-Reihenfolge (PD steht für Parität der Daten)

Erste RAID-Festplatte Zweite RAID-Festplatte Dritte RAID-Festplatte
1 2 PD
3 PD 4
PD 5 6

Jetzt können wir ein solches RAID in R-Studio erstellen:
Ermitteln der RAID-Parameter: RAID-5 Objekt erstellt
Klicken Sie auf das Bild, um es zu vergrößern
In R-Studio erstelltes RAID-5 Objekt

R-Studio findet ein gültiges Dateisystem auf dem RAID (Partition 1)

Doppelklicken Sie auf Partition 1, um die Anzahl der Dateien zu ermitteln:
Ermitteln der RAID-Parameter: Dateien-/Ordnerstruktur gefunden
Klicken Sie auf das Bild, um es zu vergrößern
Von R-Studio gefundene Dateien-/Ordnerstruktur

R-Studio zeigt eine gültige Ordner-/Dateistruktur an, was ein gutes Zeichen ist. Um zu überprüfen, ob wir ein RAID mit korrekten Parametern erstellt haben, betrachten wir eine Datei in der Vorschau. Die Datei sollte größer sein als Blockgröße * (Anzahl der Datenträger -1). In unserem Fall sind das 128 KB.
Ermitteln der RAID-Parameter: Bildvorschau
Klicken Sie auf das Bild, um es zu vergrößern
Vorschau der Datei Picture 236.jpg

Die Datei wird in der Vorschau angezeigt. Unser RAID besitzt also korrekte Parameter.

Feedback zu Data Recovery
370 feedbacks
Rating: 4.8 / 5
I really love your R-Studio product, I am doing Data Recovery as a professional, I used RS since the early versions and I loved the product, as far as I can tell, R-Studio, especially the Tech Version (but including the standard) is one of the best and excellent tools for a pro to have in the arsenal of tools in a pro DR lab, especially combining with the specialized Data Recovery hardware providers like DeepSpar, and PC3000, the rest of `wannabees` out there are waste of time, strongly recommend
I lost more than 200K files from my NAS due to a mistake. I tried 3 different recovery solutions over the 4 TB raid disks, and all of them performed ok but to be honest none of them were able to Raw recover the files and rename them with meaningful names out of the Metadata like R-TT did, then I was able to sort again my files and pictures and kind of restore all of them.

R-TT may not be the easiest or most user-friendly solution, but the algorithm used for the renaming saved me THOUSAND of hours of opening ...
Just recovered my old ext4 partition with R-Studio after trying testdisk and R-Linux without success. That partition was overwritten by another ext4 partition and I was losing my hope until I tried R-Studio demo. It detected all my files and directories again!

Bought it and 100% recommend it for anyone with a similar issue.
Genuinely tried every free program available without luck of recovering a deleted file from months ago. Thinking my file was deleted forever and lose all hope I came across this website as a recommendation.

I was reluctant as it seemed pricey compared to other programs, but damn worth every penny. It managed to even find files I thought were wiped from existence.

Kudos to r-tools, thank you!
Why make incremental backups, when there is R-Studio?

I`m an IT professional who has worked from home for over a decade. Early on in my career, I configured an HP ProLiant Server (Raid 1+0) as a workstation that I would remote into from my laptop. As technology evolved, I began to use it only for email and as a config file repository.

A short while ago, one of the drives degraded, but the HP ProLiant Server (Raid 1+0) still functioned fine on the remaining drive. I was complacent and didn`t replace the ...