Traverser l'agonie ou la longue histoire d'une tentative de récupération de données

C'était en 2019. Notre laboratoire a reçu un disque QUANTUM FIREBALL Plus KA d'une capacité de 9.1 Go, ce qui n'est pas tout à fait courant à notre époque. Selon le propriétaire du disque, la panne s'est produite en 2004 en raison d'une panne d'alimentation électrique, qui a emporté avec elle le disque dur et d'autres composants du PC. Ensuite, il y a eu des visites dans divers services avec des tentatives de réparation du disque et de restauration des données, qui ont échoué. Dans certains cas, ils ont promis que ce serait bon marché, mais ils n'ont jamais résolu le problème, dans d'autres, c'était trop cher et le client ne voulait pas restaurer les données, mais au final, le disque est passé par de nombreux centres de service. Il a été perdu à plusieurs reprises, mais grâce au fait que le propriétaire a pris soin d'enregistrer à l'avance les informations de divers autocollants sur le disque, il a réussi à s'assurer que son disque dur était restitué par certains centres de service. Les promenades ne se sont pas déroulées sans laisser de trace, de multiples traces de soudure sont restées sur la carte contrôleur d'origine, et le manque d'éléments SMD s'est également fait sentir visuellement (pour l'avenir, je dirai que c'est le moindre des problèmes de ce variateur).

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Riz. 1 disque dur Quantum Fireball Plus KA 9,1 Go

La première chose que nous avons dû faire a été de rechercher dans les archives des donateurs un frère jumeau aussi ancien de ce lecteur avec une carte contrôleur fonctionnelle. Une fois cette quête achevée, il est devenu possible de réaliser des mesures de diagnostic approfondies. Après avoir vérifié l'absence de court-circuit dans les enroulements du moteur et veillé à ce qu'il n'y ait pas de court-circuit, nous installons la carte du lecteur donneur au lecteur patient. Nous mettons sous tension et entendons le son normal de l'arbre qui tourne, réussissons un test d'étalonnage avec chargement du micrologiciel, et après quelques secondes, le lecteur signale par registres qu'il est prêt à répondre aux commandes de l'interface.

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Riz. 2 indicateurs DRD DSC indiquent que vous êtes prêt à recevoir des commandes.

Nous sauvegardons toutes les copies des modules du firmware. Nous vérifions l'intégrité des modules du firmware. Il n'y a aucun problème avec la lecture des modules, mais l'analyse des rapports montre qu'il existe quelques bizarreries.

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Riz. 3. Tableau des zones.

Nous faisons attention au tableau de répartition zonale et notons que le nombre de cylindres est de 13845.

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Riz. 4 P-list (liste primaire – liste des défauts introduits au cours du cycle de production).

Nous attirons l'attention sur le nombre trop faible de défauts et leur localisation. Nous examinons le module de journalisation des défauts d'usine (60h) et constatons qu'il est vide et ne contient aucune entrée. Sur cette base, nous pouvons supposer que dans l'un des centres de service précédents, certaines manipulations ont pu être effectuées avec la zone de service du lecteur, et accidentellement ou intentionnellement un module étranger a été écrit, ou la liste des défauts dans l'original l’un d’entre eux a été autorisé. Pour tester cette hypothèse, nous créons une tâche dans Data Extractor avec les options « créer une copie secteur par secteur » et « créer un traducteur virtuel » activées.

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Riz. 5 Paramètres de tâche.

Après avoir créé la tâche, nous regardons les entrées dans la table de partition dans le secteur zéro (LBA 0)

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Riz. 6 Enregistrement de démarrage principal et table de partition.

Au décalage 0x1BE, il y a une seule entrée (16 octets). Le type de système de fichiers sur la partition est NTFS, décalé au début des secteurs 0x3F (63), taille de partition 0x011309A3 (18 024 867) secteurs.
Dans l'éditeur de secteur, ouvrez LBA 63.

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Riz. 7 Secteur de démarrage NTFS

D'après les informations du secteur de démarrage de la partition NTFS, on peut dire ce qui suit : la taille du secteur acceptée dans le volume est de 512 octets (le mot 0x0 (0) est écrit au offset 0200x512B), le nombre de secteurs dans le cluster est 8 (l'octet 0x0 est écrit au décalage 0x08D), la taille du cluster est de 512x8 = 4096 octets, le premier enregistrement MFT est situé à un décalage de 6 291 519 secteurs depuis le début du disque (à un décalage de 0x30 quadruple mot 0x00 00 00 00 00 0C 00 00 (786 432) numéro du premier cluster MFT. Le numéro de secteur est calculé par la formule : Numéro de cluster * nombre de secteurs dans le cluster + décalage au début de la section 786 432* 8+63= 6 291 519).
Passons au secteur 6 291 519.

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Fig. 8

Mais les données contenues dans ce secteur sont complètement différentes de l'enregistrement MFT. Bien que cela indique une éventuelle traduction incorrecte due à une liste de défauts incorrecte, cela ne prouve pas ce fait. Pour vérifier plus en détail, nous lirons le disque par 10 000 secteurs dans les deux sens par rapport à 6 291 519 secteurs. Et puis nous rechercherons des expressions régulières dans ce que nous lisons.

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Riz. 9 Premier enregistrement MFT

Dans le secteur 6 291 551, nous trouvons le premier enregistrement MFT. Sa position diffère de celle calculée de 32 secteurs, puis un groupe de 16 enregistrements (de 0 à 15) suit en continu. Entrons la position du secteur 6 291 519 dans la table de décalage et avançons de 32 secteurs.

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Fig. 10

La position de l'enregistrement n°16 devrait être au offset 12 551 431, mais on y retrouve des zéros à la place de l'enregistrement MFT. Effectuons une recherche similaire dans les environs.

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Riz. 11 Entrée MFT 0x00000011 (17)

Un grand fragment de MFT est détecté, commençant par l'enregistrement numéro 17 (d'une longueur de 53 646 enregistrements) avec un décalage de 17 secteurs. Pour la position 12 155 431, mettez un décalage de +17 secteurs dans la table de décalage.
Après avoir déterminé la position des fragments MFT dans l'espace, nous pouvons conclure que cela ne ressemble pas à une défaillance aléatoire ni à un enregistrement des fragments MFT avec des décalages incorrects. Une version avec un traducteur incorrect peut être considérée comme confirmée.
Pour localiser davantage les points de décalage, nous définirons le déplacement maximum possible. Pour ce faire, nous déterminons de combien le marqueur de fin de la partition NTFS (copie du secteur de démarrage) est décalé. Dans la figure 7, au décalage 0x28, le quadword est la valeur de taille de partition de 0x00 00 00 00 01 13 09 A2 (18 024 866) secteurs. Ajoutons le décalage de la partition elle-même depuis le début du disque à sa longueur, et nous obtenons le décalage du marqueur NTFS de fin 18 024 866 + 63= 18 024 929. Comme prévu, la copie requise du secteur de démarrage n'était pas là. Lors de la recherche dans les environs, il a été constaté un décalage croissant de +12 secteurs par rapport au dernier fragment MFT.

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Riz. 12 Copie du secteur de démarrage NTFS

Nous ignorons l'autre copie du secteur de démarrage au décalage 18 041 006, car elle n'est pas liée à notre partition. Sur la base des activités précédentes, il a été établi que dans la section, il y a des inclusions de 61 secteurs qui sont « apparus » dans la diffusion, ce qui a élargi les données.
Nous effectuons une lecture complète du disque, ce qui laisse 34 secteurs non lus. Malheureusement, il est impossible de garantir de manière fiable que tous sont des défauts supprimés de la liste P, mais lors d'une analyse plus approfondie, il est conseillé de prendre en compte leur position, car dans certains cas, il sera possible de déterminer de manière fiable les points de changement avec une précision du secteur, et non du fichier.

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Riz. 13 Statistiques de lecture du disque.

Notre prochaine tâche sera d'établir les emplacements approximatifs des quarts de travail (à l'exactitude du fichier dans lequel ils se sont produits). Pour ce faire, nous analyserons tous les enregistrements MFT et créerons des chaînes d'emplacements de fichiers (fragments de fichiers).

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Riz. 14 Chaînes de localisation de fichiers ou de leurs fragments.

Ensuite, en passant de fichier en fichier, nous recherchons le moment où il y aura d'autres données à la place de l'en-tête de fichier attendu, et l'en-tête souhaité sera trouvé avec un certain décalage positif. Et au fur et à mesure que nous affinons les points de décalage, nous remplissons le tableau. Le résultat de son remplissage sera de plus de 99% des fichiers sans dommage.

Traverser l'agonie ou la longue histoire d'une tentative de récupération de données
Riz. 15 Liste des fichiers utilisateur (le consentement a été reçu du client pour publier cette capture d'écran)

Pour établir des décalages de points dans des fichiers individuels, vous pouvez effectuer un travail supplémentaire et, si vous connaissez la structure du fichier, rechercher des inclusions de données qui ne lui sont pas liées. Mais cette tâche n’était pas économiquement réalisable.

PS Je voudrais également m'adresser à mes collègues, entre les mains desquels ce disque se trouvait auparavant. Soyez prudent lorsque vous travaillez avec le micrologiciel de l'appareil et sauvegardez les données de service avant de modifier quoi que ce soit, et n'aggravez pas délibérément le problème si vous n'êtes pas parvenu à vous mettre d'accord avec le client sur le travail.

Publication précédente : Sauvegarde sur les correspondances ou récupération de données à partir d'un disque dur grinçant Seagate ST3000NC002-1DY166

Source: habr.com

Ajouter un commentaire