Algorithme de récupération de données pour le système de fichiers HFS+
Dans cet article, nous allons explorer la structure du système de fichiers HFS+, et les changements qui le distinguent de la version précédente, HFS. Nous analyserons également les algorithmes de récupération de données appliqués aux disques HFS+.
- 1. Avantages et particularités de HFS+
- 2. Architecture HFS Plus
- 3. Récupération de données dans Time Machine
- 4. Algorithme de récupération pour HFS+
- Conclusion
- Questions et réponses
- Commentaires
1. Avantages et particularités de HFS+
La principale distinction de HFS+ utilise l’architecture 32 bits au lieu du 16 bits dans HFS. L’ancien système d’adressage était une limitation sérieuse en soi car il ne supportait pas le travail avec des volumes contenant plus de 65 536 blocs. Par exemple, sur un disque de 1 Go, la taille du bloc d’allocation (cluster) sous HFS est de 16 Ko, donc même un fichier de 1 octet occuperait la totalité des 16 Ko d’espace disque.
Tout comme son prédécesseur, HFS+ utilise le soi-disant B-tree pour stocker une grande partie des métadonnées.
Les volumes HFS+ sont divisés en secteurs (appelés blocs logiques dans HFS), généralement d’une taille de 512 octets. Un ou plusieurs secteurs constituent un bloc d’allocation (cluster); le nombre de blocs d’allocation dépend de la taille totale du volume. L’adressage 32 bits permet d’utiliser plus de 4 294 967 296 clusters contre les 65 536 disponibles en 16 bits. En comparaison, les deux systèmes de fichiers diffèrent par:
- longueur du nom de fichier: en HFS: 31, en HFS+ : 255;
- encodage du nom de fichier: HFS: Mac Roman, HFS+: Unicode;
- taille d’enregistrement: HFS : 512 octets, HFS+: 4 Ko;
- et le nombre maximal de fichiers a augmenté: HFS: 2^31, HFS+: 2^63.
Avantage ou Différence | Description |
---|---|
Support des gros fichiers | HFS+ prend en charge les fichiers volumineux, ce qui le rend utile pour le stockage de fichiers multimédias et autres données volumineuses. |
Système de fichiers journalisé | HFS+ propose un journalisation, ce qui réduit le risque de perte de données en cas de crash système ou de panne d’électricité. |
Support Unicode | Le système de fichiers HFS+ prend en charge le codage Unicode, permettant ainsi de stocker des fichiers avec des noms dans différentes langues. |
Optimisé pour macOS | HFS+ est spécialement conçu pour macOS, offrant des performances élevées et une stabilité sur ces appareils. |
Défragmentation | HFS+ défragmente automatiquement les fichiers, améliorant les performances lors de la lecture et de l’écriture de données. |
Support des métadonnées | HFS+ prend en charge des métadonnées étendues, facilitant l’organisation et la gestion des fichiers. |
Compatibilité avec Time Machine | HFS+ est entièrement compatible avec la fonction de sauvegarde Time Machine sur macOS. |
Limites du support des systèmes modernes | HFS+ n’a pas la même fonctionnalité et fiabilité qu’APFS (Apple File System), qui est le standard dans les nouvelles versions de macOS. |
2. Architecture HFS Plus
Les volumes HFS Plus sont divisés en secteurs (appelés blocs logiques dans HFS), généralement d’une taille de 512 octets. Ces secteurs sont ensuite regroupés en blocs d’allocation (semblables aux clusters sous Windows) qui peuvent contenir un ou plusieurs secteurs. Le nombre de blocs d’allocation dépend de la taille totale du volume. HFS Plus utilise une valeur plus grande pour adresser les blocs d’allocation que HFS, 32 bits au lieu de 16 bits. Le système de fichiers utilise le codage Big Endian.
Pour gérer le processus d’allocation des données sur le disque, HFS+ stocke des informations de service spéciales appelées métadonnées. Les éléments suivants sont les plus importants pour le bon fonctionnement du système de fichiers et présentent un intérêt particulier lors de la recherche de données manquantes:
- En-tête de volume. Possède une structure de type table et utilise des enregistrements d’étendue (étendues);
- Fichier d’allocation. Structuré comme un bitmap, il utilise des enregistrements d’étendue (Extents);
- Fichier de catalogue. Possède une structure arborescente B-tree et utilise des enregistrements d’étendue (Extents);
- Fichier de débordement des Extents. A une structure en B-tree;
- Fichier de bloc incorrect. A une structure en B-tree;
- Fichier de démarrage. Taille fixe;
- Journal. La zone du disque avec une taille et un emplacement fixes.
Le système d’exploitation comprend plus d’autres structures, mais celles que nous avons énumérées sont d’une importance primordiale pour la récupération de données. Afin de poursuivre l’examen de la structure, nous devons étudier les notions de base, B-tree et Extents.
Qu’est-ce qu’une structure B-tree?
Pour stocker une partie de l’information, HFS+ utilise des B-trees. Ils sont nécessaires pour permettre l’écriture de certaines quantités de données (par exemple, 100 Mo) dans des blocs de taille fixe (par exemple, 4 Ko). Dans ce cas, le premier bloc ne contient pas les données elles-mêmes, mais les liens vers les blocs suivants qui peuvent soit contenir des liens vers un autre niveau de blocs, soit contenir les données elles-mêmes. Les éléments d’arbre contenant des liens sont appelés nœuds et les éléments de niveau zéro contenant des données sont appelés feuilles.
Que sont les enregistrements d’étendue et le fichier de débordement d’étendue?
Pour stocker des informations sur le nombre de blocs occupés par un fichier, le système HFS+ peut utiliser de 0 à 8 enregistrements d’extension. Chaque enregistrement contient un lien vers le premier bloc contenant des données et le nombre de clusters séquentiels utilisés pour stocker les données. Si un fichier est trop fragmenté et que 8 enregistrements ne suffisent pas pour décrire toutes ses parties, les fragments (éléments) restants sont écrits dans le fichier avec des extensions supplémentaires Fichier de débordement d’étendue – Extent Overflow File.
En-tête de volume
L’en-tête de volume est toujours situé dans le deuxième secteur du disque (en partant du début) et contient des informations générales concernant le volume. Par exemple, la taille des blocs d’allocation, un horodatage qui indique quand le volume a été créé ou l’emplacement d’autres structures de volume: Fichier de catalogue, fichier de débordement d’étendue, fichier d’allocation, journal, etc. L’avant-dernier secteur du disque contient toujours la copie d’en-tête de volume, c’est-à-dire la copie de l’en-tête de volume.
Fichier d’allocation
Il contient des données sur les blocs d’allocation occupés et vacants. Chaque bloc d’allocation est représenté par un bit. Une valeur zéro signifie que le bloc est libre et une valeur 1 signifie que le bloc est en cours d’utilisation. Parfois, cette structure est appelée bitmap. Le fichier d’allocation peut changer de taille et n’a pas besoin d’être stocké de manière contiguë dans un volume. Toutes les informations sur les éléments du fichier sont stockées dans l’en-tête de volume.
Fichier de catalogue
Il stocke une grande partie des données sur l’allocation des fichiers et des dossiers sur le disque, et c’est en fait une grande structure B-tree.
Dans le système HFS Plus, ce fichier est très similaire au fichier catalogue dans HFS, la principale différence étant la taille du champ. Maintenant, il est plus grand et contient plus de données. Par exemple, il permet d’utiliser des noms Unicode plus longs de 255 caractères pour les fichiers. Dans le système HFS, la taille d’enregistrement est de 512 octets, contre 4 Ko dans HFS Plus pour Mac OS et 8 Ko pour OS X. Les champs dans le système HFS ont une taille fixe, tandis que HFS Plus leur permet d’avoir une taille variable en fonction de la quantité réelle de données.
La plupart des champs stockent de petits attributs qui peuvent tenir dans 4 Ko d’espace. Pour les attributs plus grands, des étendues supplémentaires sont utilisées (le nombre maximum disponible est de 8 étendues, et si d’autres sont nécessaires, elles sont enregistrées dans le fichier de dépassement d’étendue). Les étendues contiennent des liens vers les autres champs où les données de l’attribut le plus grand sont stockées.
Fichier de démarrage
Ce fichier est destiné aux systèmes d’exploitation qui ne prennent pas en charge HFS ou HFS Plus, et il est similaire aux blocs de démarrage dans les volumes HFS.
Blocs défectueux
Ce fichier contient des données sur tous les blocs déplacés (défectueux).
Journal
Le journal n’est pas un fichier mais plutôt une zone de taille fixe (ensemble de blocs) sur le disque. Les liens vers les premiers blocs et la taille de la zone sont stockés dans l’en-tête de volume. Avant que les modifications ne soient écrites sur le disque, HFS+ les écrit dans le journal, puis seulement dans les fichiers système. En cas de coupure de courant pendant l’opération d’écriture, le système de fichiers peut être restauré.
Il convient de noter, cependant, que la taille du journal dans HFS+ est limitée et que son contenu est régulièrement écrasé. Le journal du volume de démarrage dans Mac Mini est généralement écrasé dans les 5 à 10 minutes, et le temps avant qu’il ne soit écrasé dans MacBook est d’environ 30 minutes. Si Time Machine est activé, ce temps est réduit à 20 secondes.
3. Récupération de données dans Time Machine
À partir de Mac OS X Leopard, le système d’exploitation inclut Time Machine. Cet utilitaire crée des copies de sauvegarde des fichiers pour enregistrer toutes les modifications apportées au système de fichiers. Toutes ces choses aident les utilisateurs à restaurer l’intégralité du système d’exploitation, plusieurs fichiers ou un fichier individuel sous exactement la même forme qu’il était à un certain moment.
Apple fabrique un appareil spécial, Apple Time Capsule, qui peut être utilisé spécifiquement comme lecteur réseau pour stocker les fichiers de sauvegarde Time Machine. Time Machine peut être utilisé avec n’importe quel disque USB ou eSATA. Lorsque vous le démarrez pour la première fois, Time Machine crée un dossier sur le disque de sauvegarde (réserve) spécifié pour contenir toutes les données.
Plus tard, Time Machine ne copiera que les fichiers modifiés. D’une manière générale, tant que Time Machine est utilisé pour un disque, la récupération de données perdues n’est pas vraiment un problème.
4. Algorithme de récupération pour HFS+
La récupération de données à partir du système de fichiers HFS+ est plus difficile qu’à partir d’autres systèmes de fichiers. L’un des aspects causant des difficultés est que HFS+ utilise des arbres B-trees pour stocker la plupart des métadonnées de volume lors de l’allocation de fichiers. Après la suppression d’un fichier, l’arborescence B-tree est mise à jour immédiatement, de sorte que les informations sur l’emplacement du fichier supprimé sont immédiatement perdues.
Notre programme vous permet de voir le périphérique de stockage et la structure HFS+ sous Windows sans utiliser de logiciel ou de pilote supplémentaire.
Étape | Description des actions |
---|---|
1. Installation du programme | Téléchargez et installez Hetman Partition Recovery sur votre ordinateur. |
2. Connexion du disque | Connectez le disque HFS+ à l’ordinateur, s’il n’est pas interne. |
3. Lancement du programme | Ouvrez Hetman Partition Recovery et sélectionnez le disque HFS+ dans la liste des disques disponibles. |
4. Analyse du disque | Lancez le processus d’analyse pour trouver les fichiers perdus ou supprimés. |
5. Visualisation des données récupérées | Après l’analyse, visualisez les fichiers récupérés dans le format de votre choix. |
6. Sélection des fichiers à récupérer | Sélectionnez les fichiers que vous souhaitez récupérer et cliquez sur le bouton de récupération. |
7. Sauvegarde des fichiers récupérés | Enregistrez les fichiers récupérés sur un autre disque ou un périphérique externe pour éviter l’écrasement des données. |
Lors de l’exécution d’une analyse complète, son algorithme permet d’exclure ces éléments lors de la recherche de données perdues et de récupérer les informations dont nous avons besoin.
Si vous choisissez une analyse rapide, le programme lit l’en-tête de volume ou sa copie, accède au fichier catalogue et à l’emplacement du journal sur le disque. Si les blocs liés à ces fichiers ne sont pas encore écrasés, il les lira et récupérera les données.
Si les blocs du fichier supprimé n’ont pas été écrasés, cette méthode vous permet de récupérer complètement le fichier. Et même si l’écrasement a eu lieu, les données du fichier peuvent toujours être trouvées dans le journal, ou le fichier sera partiellement récupéré.
L’algorithme au-delà de l’analyse complète permet au programme d’exclure certains éléments lors de la recherche de données supprimées, de sorte que le programme reconstruira la structure du disque et affichera les fichiers supprimés, même si l’en-tête de volume et le fichier catalogue ont été partiellement écrasés.
Conclusion
Dans l’ensemble, on peut dire que HFS+ est un système de fichiers obsolète, qui est devenu la version optimisée d’un système de fichiers encore plus ancien, HFS. Pour le moment, HFS+ est remplacé par Apple File System.
En termes de performances, de sécurité et de fiabilité, HFS+ est considérablement en retard par rapport au système APFS, de sorte que la question de la récupération des données devient particulièrement pertinente. Les informations disparaissent rarement sans laisser de trace, alors connaissant bien le fonctionnement du système de fichiers, vous pouvez espérer récupérer même les éléments initialement considérés comme définitivement perdus.
1. Utilisez des sauvegardes régulières. Utilisez des outils de sauvegarde tels que Time Machine pour sauvegarder automatiquement vos données sur un disque externe ou un autre disque HFS.
2. Utilisez des outils de défragmentation pour maintenir le système de fichiers HFS organisé et efficace.
3. Utilisez des logiciels antivirus et anti-malware pour éliminer les logiciels malveillants qui peuvent corrompre ou supprimer vos données.
4. Évitez de brancher et de débrancher le disque HFS trop souvent.
5. Utilisez des disques HFS de haute qualité et à faible taux d'échec.
6. Déconnectez le disque HFS lorsqu'il n'est pas utilisé.
Il existe plusieurs méthodes pour s'assurer que les données récupérées sont intactes et non corrompues. Ces méthodes incluent :
1. Utiliser des contrôles de cohérence et des vérifications de cohérence pour vérifier la cohérence des données récupérées.
2. Utiliser des techniques de cryptage pour crypter les données afin de les protéger contre la corruption.
3. Utiliser des techniques de sauvegarde pour créer des copies de sauvegarde des données afin de pouvoir les restaurer si elles sont corrompues.
4. Utiliser des outils de vérification des données pour vérifier l'intégrité des données et détecter toute corruption.
5. Utiliser des outils de journalisation pour enregistrer les modifications apportées aux données afin de pouvoir les retracer si nécessaire.
1. Effectuer régulièrement des sauvegardes complètes des disques HFS et les stocker sur un disque externe.
2. Utiliser des outils de maintenance tels que Disk Utility pour vérifier et réparer les disques HFS.
3. Désactiver la journalisation des disques HFS pour réduire la fragmentation et améliorer les performances.
4. Utiliser des logiciels de défragmentation pour optimiser les performances des disques HFS.
5. Utiliser un logiciel antivirus pour vérifier et supprimer les virus et autres logiciels malveillants sur les disques HFS.
6. Utiliser des outils de sécurité pour crypter les données sur les disques HFS.