Lorsque nous avons développé le sujet de la récupération de données depuis des RAID, nous estimions connaître déjà les paramètres RAID. Cependant, dans certains cas, on ne connaît pas les paramètres du RAID à reconstruire. Comment les trouver? Les distributeurs RAID peuvent vous aider avec des valeurs par défaut, mais quelques fois les paramètres ont été personnalisés et sont inconnus. Est-ce que R-Studio peut être utile dans ce cas? Oui, nous pouvons utiliser l'éditeur intégré texte/hexadécimal pour analyser les données dans les éléments RAID dans le but de retrouver ses paramètres. Dans cet article, nous vous montrerons comment le faire en utilisant un simple NTFS RAID 5 comme exemple.
Une telle tâche requiert au moins une connaissance de base des structures de données RAID et des systèmes fichier. Si nécessaire, vous pouvez trouver des informations utiles sur les sites web suivants:
RAIDs: http://en.wikipedia.org/wiki/RAID
Bases NTFS: http://en.wikipedia.org/wiki/NTFS
NTFS en profondeur: http://technet.microsoft.com/en-us/library/cc758691.aspx
Essayons donc de trouver les paramètres requis pour un simple RAID 5 inconnu.
Ses paramètres connus sont:
1. Nombre de disques: trois
2. Système fichier: NTFS (créé par Windows XP/2003 puis utilisant un standard Master Boot Record (MBR bloc de départ)
3. Type: volume basique
Ses paramètres inconnus qui doivent être trouvés sont:
1. Ordre du disque
2. Taille de bloc 3
3. Ordre de bloc
4. Décalage du disque
Les disques RAID sont représentés comme des fichiers image créés dans R-Studio:
Disk1.arc
Disk2.arc
Disk3.arc
Cliquez sur l'image pour agrandir
Fichiers image des éléments RAID
Veuillez noter que même si R-Studio a trouvé un objet Disk1 sur Disk2.arc, cela ne signifie pas nécessairement qu'il s'agisse du premier disque sur le RAID.
Trouver le Master Boot Record
Nous devons d'abord trouver le MBR pour déterminer un décalage RAID.
1. L'un après l'autre, ouvrez les trois fichiers images dans l'éditeur texte/hexadécimal.
2. N'activez pas l'écriture pour éviter la corruption accidentelle de données dans les objets en cours d'édition!
3. Écrivez la signature de disque Windows pour chaque objet pour reconnaître plus tard quel fenêtre d'éditeur appartient à quel objet.
4. Recherchez le bloc de départ MBR. Dans la boîte de dialogue "Search", saisissez 33 C0 8E D0 BC (c'est le bloc de départ MBR standard, mais dans certains cas il peut être différent) dans le champ "HEX", sélectionnez ensuite "From start position" (Depuis la position de départ) et saisissez 0 dans "Search at offset" (Recherchez le décalage).
5. Cliquez sur OK pour commencer la recherche.
Boîte de dialogue de recherche des données pour commencer à chercher le Master Boot Record (MBR)
Résultats de recherche:
Cliquez sur l'image pour agrandir
Disk1.arc ouvert dans l'éditeur text/hexadécimal
Cliquez sur l'image pour agrandir
Disk2.arc ouvert dans l'éditeur text/hexadécimal. Modèle MBR trouvé.
Cliquez sur l'image pour agrandir
Disk3.arc ouvert dans l'éditeur text/hexadécimal. Modèle MBR trouvé.
L'éditeur texte/hexadécimal trouve comme résultat la modèle situé à l'adresse 00 sur le Disk2.arc et le Disk3.arc; Disk1.arc ne montre que des zéros. Cela signifie que le décalage est 0, et le Disk1.arc ne peut pas être le premier disque dans le RAID.
Entre temps, l'éditeur a correctement reconnu ces modèles sur les Disk2 et Disk3 en tant que code chargeur bootstrap master. Dans notre cas, deux disques ont les mêmes données MBR au même endroit.
La seconde étape consiste à trouver le secteur de boot NTFS.
Jetez un œil au champ "Sectors preceding partition" (Secteurs précédant la partition) sur le volet "Template" (Modèle)
Cliquez sur l'image pour agrandir
Volet modèle pour Disk2 et Disk3
Dans notre cas, le secteur précédant la partition est 16,065.
Si cette valeur est plus grande que 63, nous devrions la diviser par N -1, où N est le nombre de disques (ici, N = 3), ce qui nous donne 8,032. C'est une position approximative pour commencer à chercher le secteur de boot NTFS. Nous allons démarrer la recherche depuis cette position pour éviter de trouver de faux secteurs de boot NTFS qui peuvent rester de partitions NTFS précédentes.
Sautez jusqu'au secteur dans l'éditeur et recherchez le modèle de secteur de boot NTFS.
Cliquez sur l'image pour agrandir
Champ de recherche des secteurs dans l'éditeur texte/hexadécimal
Dans la boîte de dialogue "Search", saisissez EB 52 90 4E 54 46 53 20 20 20 20 (le secteur de boot NTFS commence toujours par ces bytes) dans le champ "HEX", sélectionnez "From current position" (Depuis la position actuelle) et saisissez 0 dans "Search at offset" (Rechercher au décalage).
Cliquez sur l'image pour agrandir
Boîte de dialogue de recherche des données pour commencer à chercher le secteur de boot NTFS
L'éditeur trouve ce modèle au secteur 8064 sur Disk2 et Disk3.
Sélectionnez maintenant le modèle "Boot sector NTFS" (Secteur de boot NTFS) dans le volet "Template".
Cliquez sur l'image pour agrandir
Disk2.arc ouvert dans l'éditeur texte/hexadécimal. Modèle de secteur de boot NTFS trouvé. Le même modèle est trouvé dans Disk3.arc.
Paramètres requis qui ont été trouvés
Bytes par secteur: 512
Secteurs par grappes: 8
Nombre logique de grappe pour le fichier $MFT: 786432
Paramètres précédemment trouvés:
Décalage RAID: 0
Nous avons besoin ensuite de trouver la MFT (master file table) sur le disque:
1. Nous allons essayer de trouver un décalage MFT approchant du départ de RAID:
Décalage MFT du départ de la partition dans les secteurs = Nombre logique de grappe pour le fichier $MFT * Secteurs par grappe+Décalage RAID = 786,432*8+0 = 6,291,456
Si le décalage RAID n'est pas 0, nous avons besoin d'ajouter le décalage au résultat de l'équation ci-dessus.
Départ de MFT sur le premier disque = Décalage MFT du départ de la partition dans les secteurs/(N-1) = 6,291,456/2 = 3,145,728
2. Nous allons commencer à rechercher le départ MFT exact à une position minorée de quelques milliers de secteurs par rapport à cette valeur. Disons, le secteur 3,140,000.
Dans la boîte de dialogue "Search", entrez "FILE" dans le champ ANSI, puis sélectionnez "From current position" et entrez 0 dans "Search at offset".
Cliquez sur l'image pour agrandir
Le modèle est trouvé au secteur 10,241,463 sur le Disk2 et au secteur 3,153,792 sur le Disk3.
Cliquez sur l'image pour agrandir
Premier secteur d'enregistrement de fichier sur le Disk3. Départ d'un bloc de données.
Ce qui est important: La signature de FILE finit par 0, ce qui signifie que le nombre d'enregistrement de fichier n'est pas remplacé. S'il avait terminé par * (FILE*), nous n'aurions pas pu aller plus loin dans notre recherche et nous aurions eu besoin d'utiliser une autre technique.
Le modèle $.M.F.T. (HEX 24 00 4D 00 46 00 54) montre qu'il s'agit d'un départ de MFT correct.
Parce que le secteur 3,153,792 est plus proche de notre valeur attendue du secteur 3,145,728 que du secteur 10,241,463, nous pouvons présumer que le Disk3 est le premier disque dans le RAID.
Pour aller plus loin, nous avons besoin de garder à l'esprit qu'un enregistrement de fichier en MFT occupe deux secteurs et que les données sont écrites sur un RAID 5 successivement, d'un bloc de donnée vers le disque suivant et d'un bloc de parité vers le troisième disque. Nous pouvons représenter un exemple d'un tel schéma dans le tableau suivant...
Premier disque RAID | Deuxième disque RAID | Troisième RAID |
PD | 1 | 2 |
3 | PD | 4 |
5 | 6 | PD |
Disk1 | Disk2 | Disk3 |
Sec: 3,153,792 Rec: 40 00 Sec: 3,153,918 Rec: 7F 00 Sec: 3,153,919 End of stripe |
Sec: 3,153,792 Non records Sec: 3,153,918 Non records Sec: 3,153,919: End of stripe |
Sec: 3,153,792 Rec: 00 00 Sec: 3,153,918 Rec: 3F 00 Sec: 3,153,919 End of stripe |
Sec: 3,153,920 Rec: Non records Sec: 3,154,046 Rec: Non records Sec: 3,154,047 End of stripe |
Sec: 3,153,920 Rec: C0 00 Sec: Sec: 3,154,046 Rec: FF 00 Sec: 3,154,047 End of stripe |
Sec: 3,153,920 Rec: 80 00 Sec: 3,154,046 Rec: BF 00 Sec: 3,154,047 End of stripe |
Sec: 3,154,048 Rec: 00 01 Sec: 3,154,174 Rec: 3F 01 Sec: 3,154,175 End of stripe |
Sec: 3,154,048 Rec: 40 01 Sec: Sec: 3,154,174 Rec: 7F 01 Sec: 3,154,175 End of stripe |
Sec: 3,154,048 Rec: Non records Sec: 3,154,174 Rec: Non records Sec: 3,154,175 End of stripe |
Premier disque RAID | Deuxième disque RAID | Troisième disque RAID |
1 | 2 | PD |
3 | PD | 4 |
PD | 5 | 6 |