Aller au contenu
Defragment
Obtenir
Petit guide

La défragmentation de disque, expliquée.

Pourquoi les fichiers finissent en morceaux, pourquoi ça rendait les disques durs si lents, ce que le défragmenteur faisait pendant toutes ces heures, et si ton ordinateur en a encore besoin.

Vérifié le

Qu’est-ce que la fragmentation d’un disque ?

Un système de fichiers n’enregistre pas un fichier octet par octet. Il distribue l’espace par morceaux de taille fixe appelés clusters (ou unités d’allocation, ou blocs) : la plus petite quantité d’espace disque qu’un fichier puisse occuper. Un fichier de 10 Ko, sur un disque aux clusters de 4 Ko, en prend trois.

Idéalement, les clusters d’un fichier se suivent. Quand ce n’est pas le cas, et que le fichier est stocké en plusieurs plages séparées, dispersées sur le disque, on dit qu’il est fragmenté.

AvantAprès
  • Un fichier, en quatre morceaux
  • Autres fichiers
  • Espace libre
Un fichier en quatre morceaux, éparpillé entre d’autres fichiers et des trous. Après la défragmentation, il est d’un seul tenant, les autres fichiers sont tassés derrière lui et l’espace libre est regroupé à la fin.

Ça arrive tout seul, au fil de l’utilisation du disque :

  • Supprimer laisse des trous. Efface un fichier, et ses clusters deviennent un vide. Le fichier suivant peut être plus gros que ce trou : il est alors coupé en deux, une partie dans le trou, le reste là où il y a de la place.
  • Les fichiers grossissent. Ajoute une page à un document ou une journée à un fichier journal, et les nouveaux clusters ne peuvent souvent pas se placer juste après les anciens, parce qu’un autre fichier occupe déjà la place.
  • Le système de fichiers vise la vitesse, pas l’ordre. FAT, le système de fichiers de MS-DOS et de Windows 95 et 98, repart en général du dernier cluster attribué et prend le suivant qui est libre. C’est rapide, et avec le temps, ça éparpille les fichiers.

Il y en a en fait deux sortes. La fragmentation des fichiers, c’est un fichier coupé en morceaux. La fragmentation de l’espace libre, c’est l’espace vide morcelé en petits trous, et c’est elle qui cause la première : quand aucun trou n’est assez grand, chaque nouveau fichier arrive en morceaux.

Pourquoi la fragmentation ralentissait les disques durs

Un disque dur, c’est une pile de plateaux qui tournent et une tête de lecture/écriture au bout d’un bras pivotant. Avant de pouvoir lire quoi que ce soit, le bras doit amener la tête sur la bonne piste (c’est le temps de positionnement), puis attendre que le bon endroit du plateau passe sous elle (c’est la latence rotationnelle). Alors seulement, les données arrivent, et elles arrivent vite tant qu’elles forment une seule suite continue.

Chaque fragment supplémentaire impose un nouveau déplacement de la tête et une nouvelle attente. Des ingénieurs de Microsoft ont qualifié ces deux délais de « deux principaux coupables ». Un fichier en 50 morceaux les subit 50 fois au lieu d’une.

L’attente moyenne correspond à un demi-tour : 30 ÷ tr/min, en secondes. Le temps de positionnement s’y ajoute : environ 15 ms sur les premiers Bigfoot de Quantum, en 1996, moins de 8,5 ms sur un Barracuda 7200.14.
Vitesse de rotationLatence rotationnelle moyenneDisque typique
3 600 tr/min8,3 msDisques d’entrée de gamme de la fin des années 1990, comme le Quantum Bigfoot CY
5 400 tr/min5,6 msDisques d’ordinateur portable, comme le Seagate Momentus 5400
7 200 tr/min4,2 msDisques d’ordinateur de bureau, comme le Seagate Barracuda 7200.14
SSDAucuneRien ne tourne : l’emplacement des données ne change rien

Quelques millisecondes, ça paraît dérisoire, mais pendant ce temps, le même disque aurait pu lire des dizaines, voire des centaines de kilo-octets d’affilée. Voilà pourquoi un disque fragmenté semblait si poussif : les programmes mettaient plus de temps à démarrer, et le disque grattait bruyamment pendant que la tête faisait des allers-retours.

L’emplacement des données compte aussi. Avec l’enregistrement par zones (zoned bit recording), les pistes extérieures contiennent plus de secteurs que les pistes intérieures : le début du disque (le bord extérieur) en est donc la partie la plus rapide. Les bons défragmenteurs en tiraient parti.

Que fait vraiment un défragmenteur ?

Un défragmenteur, c’est un déménageur minutieux. Pour chaque fichier fragmenté, il trouve une plage libre assez grande, y copie les morceaux dans l’ordre, vérifie la copie, indique le nouvel emplacement au système de fichiers, et seulement ensuite libère les anciens clusters. Si quelque chose tourne mal en cours de route, l’original est toujours à sa place.

En direct : la tête lit des blocs éparpillés plus loin sur le disque et les écrit dans les trous du début, en laissant vides leurs anciennes places. Des rangées bien ordonnées se forment en partant du haut.

Au passage, un bon défragmenteur :

  • Regroupe l’espace libre en une seule grande zone, pour que les nouveaux fichiers aient la place d’arriver d’un seul tenant.
  • Place les fichiers avec soin : les fichiers système et ceux qu’on utilise souvent près du début du disque, le plus rapide, ceux qu’on utilise rarement plus loin. Windows 98 allait jusqu’à ranger les fichiers des programmes dans l’ordre exact où ceux-ci les chargeaient.
  • Laisse certaines choses tranquilles. Sous Windows 2000, les fichiers que le système gardait ouverts, comme le fichier d’échange et la table de fichiers maître (MFT) de NTFS, ne pouvaient pas être déplacés pendant que Windows tournait. Certains outils les traitaient lors d’une passe spéciale, au démarrage.

Défragmenter ne supprime rien et n’agrandit pas le disque. Ça ne fait que déplacer les données, pour que le disque puisse les lire avec moins d’allers-retours de la tête.

Le Défragmenteur de disque de Windows 95 et 98

Pour beaucoup, c’est le défragmenteur : une fenêtre pleine de petits carrés qui changeaient lentement de couleur à mesure que le programme avançait sur le lecteur C. Il était fourni avec Windows 95 et, comme la commande DEFRAG de MS-DOS 6, il avait été développé par Symantec, l’éditeur des Norton Utilities et de leur Speed Disk.

Un clic sur Afficher les détails ouvrait la fameuse carte. Sa légende expliquait chaque carré :

  • Données optimisées (défragmentées)Les fichiers terminés : d’un seul tenant et à leur place.
  • Données non optimiséesLes données encore à déplacer, classées selon l’endroit où elles doivent aller : au début, au milieu ou à la fin du lecteur.
  • Espace libreDes clusters vides, qui attendent d’être remplis.
  • Données qui ne seront pas déplacéesLes fichiers que le défragmenteur doit laisser exactement là où ils sont.
  • Zone défectueuse (endommagée) du disqueDes clusters marqués comme inutilisables. Windows les dessinait sous la forme d’une case blanche barrée d’un trait rouge.
  • Données en cours de lectureLes blocs que la tête est en train de ramasser.
  • Données en cours d’écritureL’endroit où ces blocs sont déposés.

Tout en bas figurait la ligne qui résume toute l’image : « Chaque case représente un cluster du disque. » (« Each box represents one disk cluster. » dans la version anglaise). Les couleurs ci-dessus sont celles du thème Classic 98 de Defragment.

Défragmentation du lecteur C
Défragmentation du système de fichiers…0 % effectué
Détails : Je souffle dans le lecteur de disquettes
Le thème Classic 98 de Defragment, en direct. Mets-le en pause, envoie-lui un nouveau bazar ou ouvre la légende.

Windows 98 a ajouté une case à cocher, « Réorganiser les fichiers programme pour que mes programmes démarrent plus vite » (« Rearrange program files so my programs start faster »). Derrière, il y avait l’Intel Application Launch Accelerator : un petit programme appelé Task Monitor notait quelles parties de quels fichiers chaque programme lisait au démarrage, et le défragmenteur disposait ces parties exactement dans cet ordre. Lors du test mené par Intel lui-même en 1997, les programmes Office démarraient en 3,7 secondes environ au lieu de 11,3.

Ça explique aussi un agacement bien connu. Si un autre programme écrivait sur le disque pendant que le défragmenteur travaillait (un économiseur d’écran était le coupable typique), la carte qu’il avait établie n’était plus à jour, et il recommençait depuis le début. Beaucoup se souviennent d’une défragmentation qui ne semblait jamais dépasser les 10 %.

Petite histoire de la défragmentation

  1. 1986

    Diskeeper et DiskExpress

    Executive Software sort Diskeeper pour les mini-ordinateurs VAX/VMS, et Alsoft lance DiskExpress pour le Mac.

  2. 1987

    Norton Speed Disk

    Speed Disk arrive avec Norton Utilities 4.0 Advanced Edition et devient l’un des défragmenteurs les plus connus de l’ère DOS.

  3. 1993

    MS-DOS 6.0 : DEFRAG

    DOS reçoit sa propre commande DEFRAG : une version allégée de Speed Disk, sous licence Symantec.

  4. 1995

    Windows 95

    Le Défragmenteur de disque, là encore du code Symantec, affiche la carte des clusters sur des millions d’écrans.

  5. 1996

    Windows NT 4.0

    Aucun défragmenteur fourni, mais de nouvelles fonctions système permettent à des outils comme Diskeeper de déplacer des clusters en toute sécurité pendant que Windows tourne.

  6. 1998

    Windows 98

    Le défragmenteur apprend à ranger les fichiers programme dans l’ordre de leur chargement, grâce à l’Application Launch Accelerator d’Intel.

  7. 2000

    Windows 2000 et XP

    Un défragmenteur conçu avec Executive Software, l’éditeur de Diskeeper. Ses barres montrent les fichiers fragmentés en rouge, les fichiers contigus en bleu, les fichiers non déplaçables en vert et l’espace libre en blanc.

  8. 2003

    Mac OS X 10.3 Panther

    Le système de fichiers du Mac se met à défragmenter de lui-même les petits fichiers très fragmentés, au moment où on les ouvre.

  9. 2007

    Windows Vista

    La défragmentation devient une tâche planifiée, en arrière-plan, et la carte disparaît.

  10. 2009

    Windows 7

    La progression redevient visible, plusieurs lecteurs peuvent être traités en même temps, et les SSD sont exclus de la défragmentation.

  11. 2012

    Windows 8 : Optimiser les lecteurs

    L’outil change de nom et apprend à traiter les SSD à part : au lieu de déplacer des données, il leur envoie la commande TRIM.

  12. 2017

    APFS

    Le nouveau système de fichiers d’Apple est conçu pour le stockage flash. Sur un SSD, la question de la défragmentation ne se pose tout simplement plus.

Défragmenter sous Windows 10 et 11

Windows le fait toujours, tu ne le vois simplement pas. L’outil s’appelle désormais Optimiser les lecteurs (cherche « Défragmenter et optimiser les lecteurs » dans le menu Démarrer), et par défaut, il se lance tout seul une fois par semaine.

  • Sur un disque dur, il analyse le lecteur et le défragmente.
  • Sur un SSD, il envoie plutôt un retrim : il indique au lecteur quels blocs ne sont plus utilisés.
  • Sur une clé USB ou une carte SD amovible formatée en FAT, il ne fait rien.

Il y a une exception qui surprend. Si la Restauration du système ou d’autres clichés instantanés de volume sont activés, Windows défragmente aussi les SSD, environ une fois par mois. L’équipe de Microsoft chargée du stockage a expliqué qu’un volume très fragmenté ralentit les clichés instantanés et peut se heurter à une limite du système de fichiers sur le nombre de fragments qu’un fichier peut compter.

Pour les adeptes de la ligne de commande, defrag C: /A analyse un lecteur, defrag C: /O lance l’optimisation adaptée à son type, et defrag C: /L fait un retrim sur un SSD. Une défragmentation complète demande au moins 15 % d’espace libre sur le lecteur.

Faut-il défragmenter un SSD ?

Non. Un SSD n’a ni tête ni plateau qui tourne : il n’y a donc ni temps de positionnement ni attente. Son contrôleur tient sa propre table de correspondance entre les adresses qu’utilise l’ordinateur et les cellules flash où se trouvent réellement les données, et il répartit volontairement les écritures sur toute la puce. Un fichier qui paraît fragmenté aux yeux de Windows peut se trouver n’importe où dans le SSD, et il se lit tout aussi vite dans un cas comme dans l’autre.

Défragmenter ne ferait que réécrire des données qui sont très bien là où elles sont, et la mémoire flash ne supporte qu’un nombre limité d’écritures. Samsung, l’un des plus grands fabricants de SSD, le dit sans détour : la défragmentation n’est pas nécessaire, et il recommande de désactiver la défragmentation automatique pour ses disques.

Ce dont un SSD a vraiment besoin, c’est de TRIM : le système d’exploitation lui indique quels blocs sont libres, pour qu’il puisse les effacer à l’avance et continuer à écrire rapidement. Windows et macOS le font automatiquement, et la plupart des distributions Linux le lancent à intervalles réguliers.

Faut-il défragmenter un Mac ?

Presque jamais. À l’époque du Mac OS classique, on utilisait des outils comme DiskExpress et PlusOptimizer d’Alsoft, le Speed Disk des Norton Utilities ou TechTool Pro. Depuis Mac OS X, le système s’occupe lui-même de l’essentiel.

  • Mac OS X 10.2 a introduit l’allocation différée : le système de fichiers attend avant de choisir où placer les nouvelles données, pour pouvoir leur trouver un seul emplacement contigu.
  • Mac OS X 10.3 Panther a introduit la défragmentation automatique. Quand on ouvre un fichier de moins de 20 Mo découpé en plus de huit morceaux, il est discrètement regroupé en un seul.
  • Hot File Clustering rassemble les petits fichiers les plus lus du disque de démarrage dans une zone « chaude » réservée du disque.

À l’époque, Apple estimait elle-même qu’avec Mac OS X, on n’aurait sans doute pas besoin d’optimiser quoi que ce soit. Les Mac d’aujourd’hui utilisent APFS sur des SSD, où la fragmentation ne compte pas. Pour un volume APFS sur un disque dur à plateaux, macOS propose un interrupteur : diskutil apfs defragment suivi du volume et de status, enable ou disable.

La défragmentation sous Linux

Les systèmes de fichiers Linux sont conçus pour éviter la fragmentation plutôt que pour la réparer : une défragmentation est donc rarement nécessaire.

  • ext4 garde les fichiers groupés grâce aux extents (un seul enregistrement pour une longue suite de blocs), à l’allocation différée et en plaçant les données d’un fichier près de ses métadonnées. Pour les cas isolés, il y a e4defrag.
  • XFS est fourni avec xfs_fsr, qui réorganise les fichiers les plus fragmentés, par défaut pendant deux heures au maximum par passage.
  • Btrfs propose btrfs filesystem defragment et l’option de montage autodefrag, désactivée par défaut. Attention aux instantanés (snapshots) : défragmenter rompt le partage entre un fichier et ses copies dans les instantanés, et l’espace occupé peut augmenter.

Pourquoi on adorait regarder la défragmentation

Quelque part entre le grattement du disque et les carrés qui passaient du clair au foncé, la défragmentation est devenue un spectacle. Un processus lent et ordonné, avec une fin en vue, où chaque étape rend les choses un peu plus nettes : c’est étrangement apaisant.

On en redemande encore. En 2018, TechCrunch a parlé d’une chaîne Twitch qui ne faisait rien d’autre que défragmenter un disque DOS jour et nuit, et des enregistrements de plusieurs heures de Windows 98 en pleine défragmentation, bruits de disque dur compris, sont toujours regardés sur YouTube.

C’est toute l’idée de Defragment : le calme d’un disque qui se range sous tes yeux, sans vrai disque qui en ait besoin. Ton iPhone ou ton iPad affiche un disque imaginaire, défragmenté à l’infini, avec six thèmes dont Classic 98, et l’heure en prime si tu veux.

Questions fréquentes

Dois-je défragmenter mon SSD ?

Non. Un SSD n’a pas de pièces mobiles : la fragmentation ne le ralentit pas, et la défragmentation ne fait que l’user. À la place, Windows envoie automatiquement TRIM aux SSD ; laisse cette option activée.

Est-ce que Windows 10 ou 11 défragmente encore automatiquement ?

Oui. Par défaut, Optimiser les lecteurs se lance chaque semaine : il défragmente les disques durs et fait un retrim sur les SSD. Si la Restauration du système est activée, il défragmente aussi les SSD environ une fois par mois.

Dois-je défragmenter mon Mac ?

En pratique, jamais. Mac OS X défragmente automatiquement les petits fichiers depuis la version 10.3, et les Mac d’aujourd’hui utilisent APFS sur des SSD, où ça n’a aucune importance.

Combien de temps dure une défragmentation ?

Ça dépend de la taille du disque, du nombre de fichiers, de son degré de fragmentation et de son taux de remplissage. Sur un PC des années 1990, une défragmentation complète pouvait prendre des heures, et les guides de Windows 98 prévenaient justement. Aujourd’hui, Windows la lance de façon planifiée, si bien qu’il reste en général peu à faire à chaque passage.

Peut-on arrêter une défragmentation en cours sans risque ?

Oui. Les boutons Pause et Arrêter sont là pour ça, et un défragmenteur copie et vérifie chaque morceau avant de libérer l’ancien emplacement. Une coupure de courant soudaine, c’est une autre histoire : voilà pourquoi défragmenter un portable dont la batterie était presque vide n’a jamais été une bonne idée.

Est-ce que la défragmentation supprime des fichiers ?

Non, elle ne fait que les déplacer. En revanche, elle écrit par-dessus l’espace libre, si bien que les fichiers supprimés auparavant deviennent plus difficiles à récupérer ensuite.

Combien d’espace libre faut-il pour défragmenter ?

Assez pour pouvoir déplacer les choses. Microsoft demande au moins 15 % d’espace libre sur le lecteur pour une défragmentation complète ; avec moins, certains fichiers restent en morceaux.

Pourquoi le défragmenteur de Windows 98 recommençait-il sans arrêt ?

Parce que quelque chose d’autre écrivait sur le disque pendant qu’il travaillait, typiquement un économiseur d’écran ou un programme en arrière-plan. Sa carte du disque n’était alors plus à jour, donc il repartait de zéro. Fermer les autres programmes et désactiver l’économiseur d’écran aidait.

Que signifie « Chaque case représente un cluster du disque » ?

Dans la carte de Windows 95 et 98, chaque carré correspondait à un cluster, la plus petite portion d’espace disque qu’un fichier puisse utiliser. Sa couleur indiquait ce qu’il contenait : des données terminées, des données encore à déplacer, de l’espace libre, et ainsi de suite.

Est-ce que je peux revoir une défragmentation ?

Oui : Defragment pour iPhone et iPad, c’est exactement ça, un disque défragmenté à l’infini, avec notamment un thème Classic 98. Aucune donnée réelle n’est touchée.

Regarde un disque se ranger à nouveau.

Defragment, c’est une défragmentation tranquille et sans fin pour ton iPhone et ton iPad. Gratuit, avec six thèmes, une horloge et rien de réel à défragmenter.

Bientôt disponible sur l’App StoreDécouvrir Defragment

Sources

Vérifié à partir de manuels, de la documentation de Microsoft et d’Apple, et de sources d’époque.

  1. Microsoft: Disk defragmentation background and engineering the Windows 7 improvements (2009)
  2. Microsoft: Disk defragmentation in Windows 2000
  3. Microsoft Learn: defrag command
  4. Microsoft Learn: Optimize-Volume
  5. Microsoft Support: Defragment or optimise your drives in Windows
  6. Microsoft KB Q120962: DEFRAG in MS-DOS 6 is developed by Symantec
  7. Microsoft KB Q160043: bad clusters in the Disk Defragmenter map
  8. Microsoft KB Q155679: Windows NT 4.0 has no disk defragmenter
  9. Microsoft KB 186978: Disk Defragmenter restarts repeatedly
  10. Intel: Application Launch Accelerator announcement (1997)
  11. Scott Hanselman: Does Windows defragment your SSD? (2014)
  12. Apple: About disk optimization with Mac OS X (HT1375)
  13. Amit Singh: Fragmentation in HFS Plus volumes
  14. Linux kernel documentation: ext4 block and inode allocators
  15. xfs_fsr manual page
  16. Btrfs documentation: Defragmentation
  17. Samsung Semiconductor: SSD FAQ
  18. Wikipedia: Hard disk drive performance characteristics
  19. Wikipedia: Quantum Bigfoot
  20. Seagate Barracuda 7200.14 data sheet
  21. Seagate Momentus 5400 product manual
  22. Alsoft: company history
  23. Wikipedia: Norton Utilities
  24. Wikipedia: Diskeeper
  25. TechCrunch: Watch a hard drive defrag forever on Twitch (2018)