Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

cr  01.01.1999      r+  22.10.2024      r-  22.10.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

Action rapide (Contig avec Power Defragmenter GUI)

  1. Téléchargez Power Defragmenter GUI (de RejZor [ex eXcessive Software]) là où vous voulez (bureau ou répertoire) depuis ce lien(dernière version, non compressée). Cet interface graphique va prendre lui-même en charge le téléchargement de la dernière version de Contig.
  2. Redémarrez Windows en mode sans échecavec prise en charge du réseau.
  3. Exécutez un utilitaire de suppression de tous les fichiers temporaires et autres fichiers dont la vocation est d'être détruits. Par exemple avec CCleaner : nettoyage des fichiers temporaires. Ceci relève du Nettoyage périodique d'un PC sous Windows.
  4. Lancez Power Defragmenter GUI.

Contig est un outil de défragmentation des fichiers sur disques durs, dans le monde Windows, écrit par Mark Russinovich, de SysInternals, pour pallier les insuffisances de l'outil de défragmentation natif de Windows.

Vous n'avez pas besoin de télécharger et décompresser Contig (de SysInternals) : si Power Defragmenter GUI ne trouve pas Contig dans le même répertoire que lui-même, il le télécharge et le décompresse automatiquement (dernière version depuis le site de SysInternals) et se relance (tout en ouvrant la page Contig, avec Internet Explorer, sur le site de SysInternals (une division de Microsoft dirigée par le remarquable Mark Russinovich, afin d'accéder au mode d'emploi de Contig en ligne de commande - fermez Internet Explorer).

Lorsque tout est opérationnel, Power Defragmenter GUI affiche, en bas de sa fenêtre, la version de Contig trouvée.

Suivez « Contig - Mode d'emploi ».

Il n'y a pas que l'insuffisance de l'outil de Microsoft à laquelle il faut pallier

L'outil natif de Microsoft Windows embarque, en plus, une technologie issue d'un prosélyte de la secte de la Scientologie - voir Diskeeper !).

Mark Russinovich

Mark Russinovich et SysInternals

Le site web SysInternals a été créé, en 1996, par Mark Russinovich et Bryce Cogswell pour exposer et proposer gratuitement, en marge de leurs activités principales, une foule d'utilitaires, de très haute technologie et de parfaite stabilité. L'activité principale de Mark Russinovich se situait à Austin, dans le Texas, avec sa société " Winternals Software ". Winternals produisait des systèmes de protection et récupération de données pour le monde professionnel de l'entreprise. L'extrême qualité et utilité de ses outils gratuits n'ont échappé à personne. Les particuliers et les assistants (helpers) sur les forums d'entraide ont porté aux nues les utilitaires gratuits trouvés sur SysInternals, avec une fabuleuse image de trousses à outils palliant les insuffisances de Microsoft Windows.

Le 18 juillet 2006, Microsoft a alors racheté la société " Winternals Software ", tous ses logiciels, tous les logiciels de SysInternals, et a acheté Mark Russinovich avec (qui a été fait " Technical fellow ").

La gratuité et la maintenance des utilitaires ont été pérennisées par Microsoft qui a même accentué l'ouverture de la licence des produits SysInternals, dans un mouvement permanent pour se refaire une virginité et une image auprès des utilisateurs prompts à dénigrer une société accusée d'avoir une culture du trou de sécurité.

SysInternals et le site web SysInternals sont, aujourd'hui encore, une division de Microsoft, au sein du Microsoft TechNet Website, et Mark Russinovich en est toujours le patron. Coïncidence ? A la fin de 2005, Mark Russinovich venait de découvrir le très controversé rootkit de Sony, mettant encore une fois en avant ce technicien de talent.




Contig est un utilitaire de SysInternals, gratuit, rapide, léger, sans bidouillage (utilise les APIs natives de Windows - gage de bonne fin même en cas de coupure en cours de défragmentation).

Contig permet de défragmenter 1 fichier, 1 répertoire ou un volume entier. Il peut être exécuté en défragmentation approfondie (travail en 3 passes).

Contig permet également de créer un fichier afin de lui réserver un espace contigüe.

Des droits administratifs sont requis pour utiliser Contig.

Cet utilitaire fonctionne en mode "ligne de commande", ce qui est assez rébarbatif. Utilisez-le plus confortablement en lui ajoutant son interface graphique "Power Defragmenter GUI" de RejZor (anciennement membre d'eXcessive Software).
https://www.excessive-software.eu.tt/

Créer un répertoire pour ces deux la et les y mettre ensembles. Lancer l'interface graphique qui s'occupe de tout. Utilisez, de préférence, le mode TriplePass(™) Disk Defragmentation : C'est une défragmentation du disque en trois passages. Ce travail est plus long qu'une décompression en une seule passe mais le résultat est meilleur.

Attention

Vous devez avoir des droits administratifs.

Comment exécuter un programme en tant qu'administrateur ?

Si vous exécutez Contig sous un compte avec droits "Limités", Contig se termine immédiatement sans rien faire (mais affiche un message de "bonne fin" ce qui peut induire en erreur un utilisateur peu habitué aux défragmentations.

Vous avez intérêt, avant de lancer Contig, à supprimer tous les fichiers temporaires, afin de gagner du temps et de la place. Utilisez, par exemple, CCleaner : nettoyage des fichiers temporaires.

Lancer l'interface graphique PowerDefragmenter.exe (Power Defragmenter GUI).

Contig - SysInternals - Power Defragmenter GUI (Interface graphique)
Contig - SysInternals - Power Defragmenter GUI (Interface graphique)
Lancer l'interface graphique pour Contig

Choisir l'opération à effectuer :
  • Défragmentation de certains fichiers
  • Défragmentation de certains répertoires
  • Défragmentation d'un disque
  • Défragmentation poussée d'un disque, en trois passages (recommandé).

Contig - SysInternals - Power Defragmenter GUI (Interface graphique)
Contig - SysInternals - Power Defragmenter GUI (Interface graphique)
Choisir l'opération à effectuer avec Contig

Choisir sur quelle cible doit s'effectuer l'opération choisie

Contig - SysInternals - Power Defragmenter GUI (Interface graphique)
Contig - SysInternals - Power Defragmenter GUI (Interface graphique)
Choisir sur quelle cible doit s'effectuer l'opération choisie

Le travail défile (observez ici un fichier fragmenté en 23 morceaux (sa défragmentation est terminée), un autre en 907 morceaux (sa défragmentation est en cours) !...)

Contig - SysInternals - Power Defragmenter GUI (Interface graphique)
Contig - SysInternals - Power Defragmenter GUI (Interface graphique)
Le travail défile
Compte-rendu de la défragmentation :

Contig - SysInternals - Power Defragmenter GUI (Interface graphique)
Contig - SysInternals - Power Defragmenter GUI (Interface graphique)
Compte-rendu de la défragmentation

Certaines zones sont protégées et non déplaçables. Ici c'est le cas avec les fichiers du pare-feu OutPost. C'est la raison pour laquelle il est préférable de lancer Contig en mode sans échec : dans ce cas, très peu de fichiers seront protégés et non déplaçables.

Contig - SysInternals - Power Defragmenter GUI (Interface graphique)
Contig - SysInternals - Power Defragmenter GUI (Interface graphique)
Certaines zones sont protégées et non déplaçables.

Sortie de défragmentation avec ce petit message de "bonne fin".

Contig - SysInternals - Power Defragmenter GUI (Interface graphique)
Contig - SysInternals - Power Defragmenter GUI (Interface graphique)




Contig - Les switches du mode console (ligne de commande) de Contig (sans interface graphique)

Contig v1.7 - Makes files contiguous
Copyright (C) 1998-2012 Mark Russinovich - SysInternals - www.sysinternals.com

Contig is a utility that defragments a specified file or files.

Use it to optimize execution of your frequently used files.

Usage:
Contig.exe [-a] [-s] [-q] [-v] [existing file]
or Contig.exe [-f] [-q] [-v] [drive:]
or Contig.exe [-v] [-l] -n [new file] [new file length]

-a: Analyze fragmentation
-f: Analyze free space fragmentation
-l: Set valid data length for quick file creation
(requires administrator rights)
-q: Quiet mode
-s: Recurse subdirectories
-v: Verbose

Contig can also analyze and defragment the following NTFS metadata files:
$Mft
$LogFile
$Volume
$AttrDef
$Bitmap
$Boot
$BadClus
$Secure
$UpCase
$Extend




Pourquoi et comment naît la fragmentation ?

Pourquoi faut-il défragmenter de temps en temps ?

  • Notion de « Pistes magnétiques »
    Les surfaces magnétiques des disques durs sont organisées en « Pistes magnétiques » concentriques (ne pas imaginer une unique spirale qui ferait penser à un sillon de microsillon).

  • Notion de « Secteurs »
    Les pistes sont divisées en blocs constituant la plus petite unité physique de stockage de données, la plus petite quantité de données que peut manipuler, en une fois, l'électronique du disque, en lecture comme en écriture. Ces petits blocs sont appelés « secteurs » et font, historiquement (du temps des disquettes) 256 octets ou 512 octets.

Selon la taille du Disque dur et les choix du constructeur du disque dur, lors du « Formatage physique » (« Formatage de bas niveau »), une forme de formatage qui n'a rien à voir avec celle que peuvent faire les utilisateurs lorsqu'ils préparent (« formatent ») ou réinitialisent (« reformatent ») un disque, ces « secteurs » font 1024 octets, 2048 octets ou 4096 octets. Ne jamais faire de « Formatage de bas niveau » sans connaître les données techniques du disque - sa géométrie.

Les systèmes d'exploitation d'ordinateurs (il en existe des centaines, comme Windows, Mac OS/X, OS/2, NeXtStep, Unix, Linux, Solaris (Sun, SystemV), BSD, Android, etc. ... voir Systèmes d'exploitation (liste)), lors du « Formatage logique » (« Formatage de haut niveau » que peuvent pratiquer les utilisateurs), imposent un « Système de Gestion de Fichiers » (« SGF » ou « Système de Fichiers », « FS », « File System », « FileSystem »). Il en existe plusieurs, les plus connus dans le monde Microsoft Windows étant FAT32 (apparu en 1996 dans Windows 95b) et NTFS (apparu en 1993 dans Windows NT 3.1).

Lors de ce formatage, les « secteurs » sont regroupés en blocs logiques faits d'un multiple de « secteurs ». Ainsi, un bloc (appelé « cluster » en anglais) fait, par exemple, 4 « secteurs ». Le « cluster » est la plus petite unité logique de données que le système d'exploitation manipule en une fois. Le choix de la taille des « clusters » influe directement sur les performances du disque.

Fichiers de plus de 4GO (films...) et système de fichiers FAT

Les fichiers, sous le système de gestion FAT32, ne peuvent dépasser 4GO par fichier (d'où l'incapacité de copier des fichiers de plus de 4GO tels que des films en haute résolution). Il faut passer le disque en NTFS, ce qui se fait sans perte de données.

Voir quel est votre système de fichiers actuel sur l'un de vos disques et passer de FAT à NTFS.

Taille initiale, extensions successives de taille et fragmentation

Lorsqu'un fichier doit être créé, sur le disque, son nom est inscrit dans la table d'allocation (la table des matières du disque) et un pointeur indique où ce fichier commence (numéro de piste et numéro de secteur). Il utilise le nombre de « clusters » successifs nécessaire à la taille qu'il pèse à cet instant. Puis d'autres fichiers sont créés par l'utilisateur, à la suite du précédent, selon le même principe.

Plus tard, si l'utilisateur revient sur son premier fichier et y ajoute des données, ce fichier doit « grossir ». Le fichier va s'étendre, sur le disque, un peu plus loin, là où il y a de la place. Il est désormais en deux morceaux - le fichier est fragmenté.

Un pointeur est ajouté à la fin du premier morceau pour désigner le début du morceau suivant. Il en va de même de tous les autres fichiers qui sont, eux aussi, en morceaux (en « fragments »).

Puis, un jour, l'utilisateur détruit un fichier et libère ainsi la place de tous les fragments, dispersés sur le disque, que ce fichier occupait. L'effet gruyère, plein de trous, commence !

Un système d'exploitation inscrit et détruit, sans arrêt, des milliers de fichiers, qu'ils soient des fichiers de l'utilisateur ou des fichiers de travail (temporaires). Les fichiers finissent par ressembler à des patchworks de petits morceaux liés entre eux par des chaînages et répartis un peu partout, tandis que les fichiers détruits laissent des zones inutilisées qui font ressembler la surface magnétique d'un disque à un gruyère plein de trous.

Les fichiers sont devenus fragmentés !

Les pointeurs pour aller d'un morceau à un autre rendent les accès de plus en plus lents à cause des déplacements des têtes de lecture / écriture un peu partout sur la surface du disque (ce problème de déplacement des têtes de lecture n'existe pas avec les SSD). Il faut défragmenter les fichiers afin que chaque fichier soit d'un seul tenant (en un seul morceau), et il faut déplacer les fichiers pour que tout l'espace libre soit, lui aussi, d'un seul tenant.

Pour bien comprendre pourquoi et comment des fichiers se fragmentent et pourquoi et comment de « trous » apparaissent, nous allons imaginer un scénario « naïf » de créations / destructions de fichiers provoquant la fragmentation des fichiers et faisant apparaître des trous.

Fragmentation et Défragmentation des fichiers et espaces libres sous Windows
Fragmentation et Défragmentation des fichiers et espaces libres sous Windows

Sur le schéma précédent, étape par étape, on peut voir des fichiers devenir fragmentés et des « trous » se créer.

Accessoirement, chaque « ligne » du tableau représente 1 cluster.

  1. Étape 1
    L'utilisateur crée le fichier "A" (qui occupe 3 clusters même si son besoin réel est inférieur à un multiple de la taille de chaque cluster). On se rend bien compte de cette différence entre taille du fichier et taille occupée sur le disque avec cette capture d'écran :

    Occupation physique d'un fichier et taille réelle du fichier - Plus le fichier est petit, plus la perte de place, sur disque, est importante.
    Occupation physique d'un fichier et taille réelle du fichier - Plus le fichier est petit, plus la perte de place, sur disque, est importante.
  2. Étape 2
    L'utilisateur crée le fichier "B" (qui occupe 1 cluster). Le fichier s'implante à la suite du fichier "A".

  3. Étape 3
    L'utilisateur crée le fichier "C" (qui occupe 2 clusters). Le fichier s'implante à la suite du fichier "B".

  4. Étape 4
    L'utilisateur supprime le fichier "B". Son espace devient libre. Il y a un " trou ".

  5. Étape 5
    L'utilisateur crée le fichier "D" (qui occupe 1 cluster). Le fichier s'implante à l'ancienne place du fichier "B".

  6. Étape 6
    L'utilisateur ajoute des données au fichier "A". Ce dernier s'étend là où il y a de la place, soit après le fichier "C". Il est désormais fragmenté en deux morceaux. Des pointeurs sont créés pour assurer la liaison entre les fragments.

  7. Étape 7
    L'utilisateur ajoute des données au fichier "D". Ce dernier s'étend là où il y a de la place, soit après le second fragment du fichier "A". Il est désormais fragmenté, lui aussi, en deux morceaux. Des pointeurs sont créés pour assurer la liaison entre les fragments.

  8. Étape 8
    L'utilisateur supprime le fichier "C". Son espace devient libre. Il y a un " trou ".

  9. Étape 9
    L'utilisateur crée le fichier "E" qui occupe une partie d'un trou.
    Puis l'utilisateur crée le fichier "F" qui est trop grand pour occuper un trou et s'implante un peu plus loin.
    Puis l'utilisateur étend beaucoup le fichier "A". Il n'y a pas de trou assez grand pour la contenir d'un seul tenant et l'extension s'implante un peu plus loin pour ne former qu'un seul fragment, la seconde extension de ce fichier qui est désormais constitué de trois fragments.

  10. Étape 10
    L'utilisateur diminue la taille des données de "F". Il y a création d'un trou.
    L'utilisateur ajoute des données au fichier "D". Ce dernier s'étend dans un trou où il y a suffisamment de place. Seconde extension de ce fichier qui est désormais constitué de trois fragments.

  11. Étape 11
    Extension de "D" suite 3
    Extension de "F"
    Création de "G"

  12. Étape 12
    Suppression de "A"
    Création de "H"
    Création de "I"

  13. Étape 13
    Suppression de "H"
    Suppression de "E"
    Il y a quatre trous et un fichier fragmenté en quatre morceaux.

  14. Étape 14
    Défragmentation. Réorganisation des fichiers fragmentés en un seul segment. Regroupement de tous les espaces libres en un seul segment.

    • Contrairement à ce qui peut être lu parfois, la défragmentation ne consiste absolument pas à trier les fichiers dans un ordre quelconque.

    • Contrairement à ce qui peut être lu parfois, la défragmentation n'a aucune incidence sur la RAM (et les défragmenteurs de mémoire RAM sont des imbécilités à ne jamais utiliser).

    • La défragmentation peut être une opération assez longue si elle est pratiquée rarement sur des dizaines de milliers de fichiers représentant des centaines de milliers de fragments.

    • À partir de Windows 7, le système d'exploitation effectue, de lui-même, en continu (lorsque l'ordinateur n'est pas sollicité), une défragmentation sommaire qui permet d'espacer les défragmentations lancées avec un outil tiers (mais cela ne signifie absolument pas qu'il n'est plus du tout nécessaire de faire des défragmentations épisodiques à partir de Windows 7).

    • La défragmentation a besoin d'un espace de travail où elle va déplacer et regrouper les fragments de chaque fichier avant de déplacer à nouveau le fichier défragmenté vers son nouvel emplacement. L'estimation de cet espace de travail est de 15% de la taille totale du disque. Il faut donc que votre disque dur ne soit pas occupé à plus de 85% pour permettre une défragmentation assez efficace, sinon, elle aura tout de même lieu si vous la forcez, mais certains gros fichiers risquent de ne pas être défragmentés et la réorganisation totale du disque risque de ne pas être parfaite.

    • La défragmentation est beaucoup plus compliquée que ce schéma "naïf" ne le laisse entendre. En particulier, certains fichiers sont fixes et ne peuvent être déplacés. C'est le cas du fichier de mémoire virtuelle de Windows et de très nombreux autres fichiers système. La diminution de la taille d'un fichier n'entraîne pas la récupération immédiate de la place libérée.

    • Exemple réel d'un fichier fragmenté (ici, en 441 fragments)
      Exemple réel d'un fichier fragmenté (ici, en 441 fragments)




Peut-on/faut-il défragmenter un SSD ?

Ne tentez jamais de défragmenter un SSD.

Les SSD, basés sur de la mémoire flash, ont un nombre fixe d'écritures qu'elles peuvent supporter avant d'atteindre un point où le taux d'erreurs dépasse les capacités de détection et correction d'erreurs du contrôleur ECC (Error Checking and Correcting - ou parfois, par erreur, Error Correction Code) du SSD. Les constructeurs de SSD donnent une mesure appelée « endurance », exprimée en capacité d'écriture. Par exemple, en juillet 2020, le SSD interne Kingston KC200 de 1 TO a, d'après son fabricant, une endurance de 600 TO. Cela conduit, à terme, à une totale défaillance du dispositif. Pour prolonger l'efficacité du dispositif SSD, ne jamais tenter de le défragmenter (sans compter que la technologie SSD elle-même est balbutiante).

Il est d'ailleurs recommandé de ne pas utiliser un SSD à plus de 60% de sa capacité de manière à permettre à la logique de gestion du SSD d'utiliser, à tour de rôle, toutes ses puces, afin de répartir leur usure.

Les SSD ont des temps moyens d'accès aux données proches de zéro (il n'y a aucun déplacement mécanique). Une défragmentation sur un SSD aura un impact zéro en termes de performances, mais entraînera un risque de destruction totale du SSD.

Lire ce document d'un constructeur, en anglais, page 7. La défragmentation des SSD est inutile et dangereuse :
http://ocz.com/enterprise/download/guides/talos2_installation_guide.pdf (dans les archives du Web, l'original n'existant plus).

  • Il n'y a pas de déplacement mécanique de têtes de lecture, comme sur un disque dur.

  • C'est une perte de temps sur les SSD.

  • La défragmentation génère des volumes considérables d'écritures augmentant considérablement l'usure irrévocable de la mémoire.

Notez que les outils de défragmentation disposent de réglages permettant de désactiver la fonction de défragmentation pour certains volumes (cases à décocher).

Quant à Windows, qui dispose d'un outil de défragmentation automatique fonctionnant en permanence dès que le système détecte une inactivité, il ne défragmente pas les SSD sous Windows 8, 10, et suivants.