Fragmentation. Nuire aux performances de l’ordinateur et rendre vos fichiers moins récupérables, la fragmentation peut devenir votre pire ennemi lorsqu’il s’agit de récupérer des données perdues. Pourquoi cela se produit-il, que peut-on faire pour récupérer des fichiers fragmentés, et comment éviter la fragmentation dès le départ ? Lisez la suite pour le découvrir.
Contenu
- Fragmentation
- Pourquoi la Fragmentation est Néfaste
- Les Systèmes d'Exploitation Tentent de Réduire la Fragmentation
- Défragmentation
- Défragmentation des Médias à État Solide et à Base de Flash
- Fragmentation et Récupération de Données
- Scénarios Réels
Fragmentation
Imaginons que vous enregistrez un fichier sur un disque dur. Si votre disque dur est vide ou presque vide, le système d’exploitation allouera un bloc contigu de secteurs sur le disque et stockera le fichier dans ce bloc… de manière continue. Mais que se passe-t-il si vous avez déjà écrit sur ce disque dur, en ajoutant et supprimant des données ? Tôt ou tard (en fonction du système de fichiers utilisé, de la taille du disque dur et du type de système d’exploitation que vous utilisez), votre disque dur n’aura plus de segments de mémoire libre suffisamment longs pour accueillir de gros fichiers. Cette situation est extrêmement courante, et pratiquement tous les systèmes d’exploitation (y compris ceux intégrés aux appareils portables) peuvent y faire face.
Lors de l’écriture d’un nouveau fichier, le système d’exploitation essaie de trouver un segment contigu d’espace libre sur le disque afin de stocker le fichier de manière contiguë. Cependant, si le fichier est plus grand que n’importe lequel des segments d’espace libre disponibles, ou si le fichier s’agrandit par la suite (par exemple, si vous enregistrez une vidéo), il se peut qu’il n’y ait tout simplement pas un seul segment contigu suffisamment grand pour contenir le fichier sans le diviser en fragments plus petits. Chacun des fragments plus petits est alors stocké dans un segment séparé d’espace libre. En conséquence, le contenu du fichier devient dispersé de manière aléatoire sur la surface du disque. Cela s’appelle la fragmentation.
Pourquoi la Fragmentation est Néfaste
La fragmentation est connue pour ralentir les opérations de fichiers sur les disques durs magnétiques, aussi bien en lecture qu’en écriture. Pourquoi les « disques durs magnétiques » ? Parce que la fragmentation n’a pas d’effet néfaste sur les performances de stockage des supports à semi-conducteurs, et voici pourquoi.
Si vous utilisez un disque dur magnétique traditionnel, il contient des disques tournants et des têtes mobiles à l’intérieur. Lors de la lecture d’un fichier, le disque dur positionnera d’abord les têtes sur la zone du disque contenant les données et attendra que les têtes se stabilisent. Ce n’est qu’alors qu’il lira (ou écrira) les informations. Si un fichier est stocké en un seul bloc contigu, le disque n’aura besoin de positionner ses têtes qu’une seule fois. Les opérations de lecture contiguës sur les disques durs modernes sont extrêmement rapides ; typiquement, vous verrez au moins 70 à 100 Mo/s lors de la lecture de fichiers contigus.
Si le fichier comporte plusieurs fragments, le disque dur devra repositionner les têtes à chaque fois qu’il doit passer au bloc contigu suivant. Ces opérations sont relativement lentes. En conséquence, la lecture d’un fichier fortement fragmenté peut être aussi lente que 5 à 15 Mo/s sur ce même disque.
Les supports à semi-conducteurs tels que les disques SSD, les clés USB et toutes les cartes mémoire courantes n’ont pas de pièces mécaniques mobiles à l’intérieur. Il n’est pas nécessaire d’attendre que quelque chose se positionne ou se stabilise. En conséquence, la lecture ou l’écriture de fichiers fragmentés est presque aussi rapide que la lecture ou l’écriture de données contiguës. Cependant, la fragmentation sur les supports à semi-conducteurs introduit d’autres problèmes, la récupérabilité des données étant l’un des plus sérieux.
Les Systèmes d’Exploitation Tentent de Réduire la Fragmentation
Comment exactement le système d’exploitation choisit-il les fragments d’espace libre à remplir avec de nouvelles données ? Il existe de nombreux algorithmes différents utilisés par les divers systèmes d’exploitation sur différents systèmes de fichiers. La plupart des systèmes d’exploitation modernes tentent de minimiser la fragmentation en choisissant une méthode optimale d’allocation de l’espace libre. Ce qui est considéré comme une méthode « optimale » varie selon les systèmes. Par exemple, l’algorithme du « meilleur ajustement » préférera toujours le plus petit morceau de clusters libres suffisamment grand pour contenir le fichier. Le « pire ajustement » est l’opposé, donnant la préférence aux plus grands morceaux, ignorant les plus petits « trous » au début du disque et ajoutant des fichiers à la fin de la zone allouée avant que le disque ne soit rempli. L’algorithme du « premier ajustement » écrit dans le premier morceau disponible suffisamment grand. Il existe également d’autres algorithmes, chacun avec ses avantages et inconvénients, et tous optimisés pour différents scénarios d’utilisation. Certains algorithmes sont plus rapides que d’autres pour écrire de gros fichiers, tandis que certains fonctionnent mieux pour réduire la fragmentation des fichiers susceptibles de croître, et ainsi de suite.
Il est important de noter qu’il n’y a rien que vous puissiez (ou devriez) faire pour configurer le fonctionnement de ces algorithmes. Mais pouvez-vous faire quelque chose pour réduire la fragmentation ?
Défragmentation
En parlant des disques durs mécaniques (magnétiques), la défragmentation du disque aide à réduire considérablement la fragmentation. La défragmentation réorganise les données stockées sur le disque dur de manière à ce que les fichiers soient stockés de manière contiguë. La défragmentation fonctionne mieux si vous avez suffisamment d’espace libre sur votre disque dur, car le système devra stocker tout fichier qu’il déplace avant de libérer l’espace disque qu’il occupe. En conséquence, le système peut ne pas être en mesure de défragmenter complètement un disque qui dispose de peu d’espace libre (c’est l’une des raisons pour lesquelles il est souvent conseillé de laisser un certain pourcentage d’espace disque disponible).
Les outils de défragmentation peuvent être lancés manuellement ou fonctionner selon un calendrier. La défragmentation planifiée est un excellent moyen de maintenir vos disques durs mécaniques. Dans les versions récentes de Windows, l’outil de défragmentation intégré peut fonctionner selon un calendrier sans qu’il soit nécessaire d’installer des solutions tierces.
Défragmentation des Médias à État Solide et à Base de Flash
Qu’en est-il de la défragmentation des médias à état solide tels que les clés USB ou les disques SSD ? Défragmenter ces supports de manière traditionnelle n’a aucun sens. En fait, tenter de défragmenter un stockage à base de flash en réorganisant les données ne fera qu’entraîner une usure supplémentaire (et totalement inutile) des cellules flash, réduisant ainsi leur durée de vie effective sans améliorer les performances du disque.
Alors, pourquoi avons-nous un défragmenteur SSD dans Windows 8 et 8.1 ? Cet outil se contente d’émettre la commande TRIM au disque SSD, garantissant que tout espace libre disponible sur le disque soit correctement reconnu par le contrôleur SSD et ses algorithmes de collecte des déchets.
Fragmentation et Récupération de Données
Nous arrivons enfin au point principal de cet article : la récupération d’informations à partir de supports de stockage fragmentés. Comme vous pouvez le constater, vous pouvez garder vos disques durs mécaniques propres et bien rangés grâce à un défragmenteur de disque automatisé fonctionnant selon un calendrier. Cependant, il n’existe pas une telle option pour les disques SSD. Étant intrinsèquement plus petits en taille par rapport aux disques durs mécaniques de prix similaire, les disques SSD sont beaucoup plus susceptibles d’être « remplis ». Avec peu d’espace libre restant sur le disque, le système d’exploitation n’aura d’autre choix que de fragmenter les données. En conséquence, tous les fichiers que vous écrivez sur un appareil SSD seront probablement fortement fragmentés. Ajoutez à cela le fait que les disques SSD effacent physiquement les cellules contenant des données supprimées (via la collecte des déchets et TRIM), et vos chances de récupérer quoi que ce soit d’un disque SSD sont proches de zéro.
En mettant de côté les disques SSD, pourquoi la fragmentation est-elle si mauvaise pour la récupération des fichiers supprimés? Parce qu’au moment où un fichier est supprimé, le système peut également effacer les enregistrements du système de fichiers qui pointent vers les clusters physiques exacts sur les disques occupés par un fichier donné. Ce n’est généralement pas un problème avec NTFS, qui est utilisé sur pratiquement tous les disques durs Windows, mais d’autres systèmes de fichiers tels que FAT32 (utilisé sur les clés USB et les cartes mémoire jusqu’à 32 Go) supprimeront effectivement ces pointeurs au moment où un fichier est supprimé. En conséquence, suivre simplement les liens du système de fichiers et réassembler un fichier peut ne pas être une option.
Oh, super, le système de fichiers ne fonctionne pas, alors essayons le carving ! Eh bien, pas si vite. Le carving de fichiers fonctionne très bien pour récupérer des fichiers contigus, et pas si bien si vous essayez de récupérer un fichier fragmenté.
Lors du carving, un outil de récupération de données tel que Partition Recovery lit les informations du disque secteur par secteur à la recherche de signatures familières qui pourraient indiquer un fichier dans un certain format. Lorsqu’il détecte quelque chose de similaire à un en-tête de fichier (par exemple « PDF »), il analyse les données et, si les données sont en fait l’en-tête du fichier, l’algorithme analyse ces données afin de déterminer la taille de ce fichier. L’idée ici est que, en connaissant l’adresse du début d’un fichier et en connaissant sa taille, nous pouvons simplement lire autant de clusters du disque dur et voilà ! Nous avons récupéré le fichier.
Cela fonctionne très bien si votre disque dur est bien défragmenté et si le fichier que vous récupérez est stocké en un seul morceau contigu. Cependant, si le fichier est découpé en morceaux dispersés sur le disque, l’outil de carving lira des données appartenant au début d’un fichier suivies de données appartenant à d’autres fichiers.
Si vous utilisez un outil avec un algorithme de carving quelque peu plus intelligent, cet outil peut être capable de contourner cette situation en analysant le système de fichiers et en ne faisant du carving que sur les zones non allouées du disque. Cela augmente considérablement les chances de succès du carving de fichiers fragmentés, mais tous les outils ne peuvent pas prendre en charge ce mode. Vous pouvez généralement reconnaître les outils prenant en charge ce type de carving s’ils permettent de choisir ce qui peut être extrait : toute la surface du disque, les zones allouées (fichiers) ou les zones non allouées (espace libre).
D’autre part, si vous essayez de faire du carving sur un disque dur qui n’a pas de système de fichiers du tout (par exemple après le formatage ou le repartitionnement du disque), tout l’espace disque sera considéré comme « non alloué », et vous n’aurez d’autre choix que de scanner toute la surface du disque.
Scénarios Réels
Dans le monde réel, la récupération de fichiers supprimés peut être effectuée même s’ils sont fragmentés. Par exemple, si vous essayez de récupérer un fichier récemment supprimé, l’outil de récupération de données commencera par analyser le système de fichiers. Comme la plupart des disques durs des PC sous Windows utilisent NTFS, l’outil aura de grandes chances de découvrir la séquence correcte des enregistrements se référant à tous les clusters physiques sur le disque dur qui appartenaient à ce fichier. En conséquence, la récupération d’un fichier fragmenté ne sera pas aussi problématique que cela pourrait l’être sur FAT32 ou s’il n’y avait pas de système de fichiers du tout.