inform.gif (70 octets) FAT 32 ou NTFS ?

Avec Windows XP, le choix s'offre à l'utilisateur d'opter pour un partitionnement de ses disques durs en FAT 32 (file allocation table - table d’allocation de fichiers) ou en NTFS (NT File System - système de fichiers NT). Sur le plan des caractéristiques techniques, le système NTFS offre la compression, le cryptage, les autorisations d'accès et les niveaux de permissions, la gestion des quotas de disque, les points de montage, le stockage étendu, etc. Le seul réel inconvénient intervient en cas de multiboot avec des systèmes d'exploitation qui ne gèrent pas le NTFS (Win 9x jusqu'à ME) sans l'aide d'utilitaires spécifiques.

Vient ensuite un problème lié à la taille des clusters. On sait qu'un cluster est la plus petite unité d'allocation décidée par l'OS pour le stockage des données. Un cluster à une taille fixe qui dépend de la taille totale de la partition et du système de partitionnement. On ne trouvera jamais plus d'un fichier dans un cluster. En conséquence, si un fichier est plus petit que la taille minimale d'un cluster, il existe de l'espace perdu.

  Taille des clusters
Taille de la partition FAT 16 FAT 32 NTFS

7 Mo – 16 Mo

2 Ko

Pas supporté

512 octets

17 Mo – 32 Mo

512 octets

Pas supporté

512 octets

33 Mo – 64 Mo

1 Ko

512 octets

512 octets

65 Mo – 128 Mo

2 Ko

1 Ko

512 octets

129 Mo – 256 Mo

4 Ko

2 Ko

512 octets

257 Mo – 512 Mo

8 Ko

4 Ko

512 octets

513 Mo – 1.024 Mo

16 Ko

4 Ko

1 Ko

1.025 Mo – 2.0 Go

32 Ko

4 Ko

2 Ko

2.0 Go – 4.0 Go

64 Ko

4 Ko

4 Ko

4.0 Go – 8.0 Go

Pas supporté

4 Ko

4 Ko

8.0 Go – 16.0 Go

Pas supporté

8 Ko

4 Ko

16.0 Go – 32.0 Go

Pas supporté

16 Ko

4 Ko

32.0 Go – 2.0 To

Pas supporté

32 Ko

4 Ko

Si l'on tient pour acquis que les disques durs actuels ont désormais une taille minimale de 10 Go, on peut considérer que la FAT 32 va gâcher 2 à 8 fois plus d'espace que le NTFS. Bien qu'en principe le système NTFS puisse partitionner des disques avec des clusters supérieurs à 4 Ko, il faut obligatoirement spécifier une taille supérieure via le commutateur /A ("format E: /A:8192") car au-delà de 4ko la compression des données n'est pas possible.

Un autre avantage du système NTFS tient à sa plus grande rapidité d'accès aux disques durs (sauf, à la rigueur, sur ceux de petite capacité). La recherche d'un fichier inexistant prendra plus de temps sur un disque partitionné en FAT (16 ou 32) que sur le même disque partitionné en NTFS, le système sous FAT devant parcourir obligatoirement toute la structure d'un dossier contrairement au système NTFS en dépit du fait que ce système doit en outre vérifier les permissions sur le fichier recherché. Les accès sont plus rapides, mais aussi moins nombreux. Pour être plus précis, on peut estimer que le système NTFS est au moins aussi performant sur des disques de petite taille que le système FAT, et bien plus performant que le système FAT sur des disques de grande capacité. S'agissant du temps de démarrage de la machine, le système FAT on le sait requiert la lecture complète de la structure de la FAT. Les performances en écriture et en lecture sont également affectées par le système FAT32 qui, pour les mêmes raisons citées, doit analyser toute la FAT afin de déterminer l'espace libre sur le disque.

Autre avantage, destiné en particulier aux amateurs d'édition vidéo ou musicale, NTFS 5 et 5.1 (autrement dit Windows 2000 et XP) ne connaît pas la limite de taille de fichier de 4 Go. En FAT32 (et en FAT tout court), il est en effet impossible de créer un fichier d'une taille supérieure à 4 Go, certains logiciels préférant d'ailleurs se limiter à 2 Go, voire 1 Go. Sous NTFS 5 et 5.1, la taille limite d'un fichier correspond à celle du disque dur (de la partition plus exactement).

Question taille des dossiers (répertoires), la FAT peut adresser jusqu'à 65.534 entrées (et moins sur la racine), la FAT 32 également tandis que NTFS ne connaît pas de limite à cet égard. On peut résumer les aptitudes des différents systèmes de partitionnement à l'aide du tableau suivant :

Description FAT16 FAT32 NTFS
Taille maximale de fichier 232 – 1 octets (soit 4 Go) 232 – 1 octets (soit 4 Go) 244 – 64Ko
(soit env. 17 To, mais peut aller jusqu'à 264 – 1)
Nombre de fichiers par volume 216 (65.536) 228 (268.435.456) 232 – 1 (4.294.967.295)
Taille minimale d'un volume 4.085 clusters 65.535 clusters 1 Mo
Taille maximale d'un volume (en clusters et Mo/Go) 65.536 –12 clusters

[2 Go]

Théorique: 228 clusters.

Actuelle:

- Windows 2000: ne formate que jusqu'à 32 Go mais peut monter et convertir jusqu'à la taille maxi.

- Windows Me: 228 – 12 clusters

- Windows 95/98: 4.177.918 clusters

Théorique: 264 clusters

Actuelle: 232 clusters (4.294.967.296 clusters)

Taille des Clusters - Windows NT/2000/XP: puissance de 2 entre 512 octets et 65.536 octets

- Windows 95/98/Me: puissance de 2 entre 512 octets et 32.768 octets

Taille des dossiers 216 – 2 entrées physiques de répertoires; 512 sur la racine (limite spéciale) 216 – 2 entrées physiques Pas de limite

 

En dehors de ces points, il faut conserver à l'esprit que certains fonctionnalités de Windows XP (tout comme pour 2000) requièrent l'usage du NTFS particulièrement en matière de sécurité, de cryptage (EFS) et de gestion de volumes. C'est à condition d'avoir partitionné vos disques en NTFS que vous pourrez définir des autorisations d'accès à vos fichiers et dossiers en fonctions des utilisateurs ou groupes d'utilisateurs (auxquels on attribue en outre des niveaux d'autorisation différents), qu'il s'agisse par ailleurs d'un disque dur local ou d'un dossier partagé.

La conversion d'une partition en NTFS est simple à réaliser et ne prend que quelques instants. Il ne faut pas confondre cette opération avec le formatage lui-même qui est une opération destructrice de données. Seulement, on dit parfois que l'intérêt du formatage en NTFS sur la simple conversion est un meilleur alignement des clusters avec ce type de partition, alors que la conversion n'opère aucune modification de ce côté là. Sans donner plus d'explications, l'aide en ligne de XP abonde dans ce sens et préconise plutôt le formatage. On verra plus loin que la conversion doit être associée à d'autres manipulations pour parvenir à un alignement efficient des clusters de données.

Considérations propres à XP :

D'une manière générale, Microsoft recommande de partitionner les disques durs en NTFS (ce qui ne surprendra guère) et de préférence en un seul volume par disque. Force est de constater que certains constructeurs livrent des PC équipés de Windows XP avec un disque dur découpé en deux partitions FAT32... Or, on a tous vu au moins une fois un utilisateur débutant remplir son "disque C" tout en laissant le "Disque D" totalement vierge. En dehors de la bêtise de ces constructeurs et/ou assembleurs (il le font quasiment tous) le recours à un seul volume par disque permet de bénéficier des fonctions par défaut de Windows XP qui ne sont pas activées en cas de volumes multiples sur un seul et même disque. Ces fonctions consistent à aligner sur des secteurs contigus du disque dur les fichiers nécessaires au démarrage de XP et aux applications les plus souvent utilisées. Ce "travail" ne s'opère que pendant les moments d'inactivité de l'OS et doit déboucher sur des temps de recherche diminués.

De par sa structure, une partition NTFS contient - entre autre - une MFT (Master File Table - ou Table de Fichiers Principale) qui renferme toutes les informations relatives à un fichier, sa taille, date, ses niveaux de permission, etc. En dehors du fait que la localisation de la MFT a changé depuis Windows XP par rapport à NT et 2000, le démarrage de Windows XP est accéléré sur un volume NTFS par le fait que les informations de la MFT lues en mémoire sont moins importantes que par le passé. En conséquence, moins il y aura de volumes FAT32 sur votre PC, plus vite vite démarrera Windows XP et plus grande sera la mémoire disponible. Voir pour une illustration cet article qui explique comment un disque de 70 Go partitionné en 4 partitions imposera le chargement de 200 Ko d'informations en mémoire (NTFS) jusqu'à 19 Mo si les volumes sont en FAT32.

Il est recommandé en outre de placer la Table de Fichiers Principale dans une zone contiguë ce qui suppose l'utilisation du commutateur /CVTAREA avec l'utilitaire CONVERT, le convertisseur de partition FAT en NTFS. Sans ce commutateur, la MFT qui peut avoir une taille conséquente sera fragmentée sur des secteurs non contigus ce qui pénalisera les performances de votre machine.

L'alignement des clusters est également un élément qui a été amélioré par rapport à Windows 2000. Les clusters commencent dès le secteur 0 du disque dur, leur alignement est donc fonction de leur taille (alignement tous les x secteurs pour un cluster de 4ko selon la formule : taille cluster/taille secteur). Un cluster de 4 Ko pour une taille de secteur de 512 octets donnera un alignement tous les 8 secteurs (4096/512). Sous le système FAT, les clusters n'arrivent qu'après les blocs du paramètres du Bios (BPB), les secteurs réservés et les deux images de la FAT (qui sont sur des secteurs contigus). L'alignement des clusters ne se fait pas en phase avec la taille des secteurs. Windows 2000 détourne le problème en allouant par défaut une taille de 512 octets aux clusters (comme les secteurs donc) ce qui défragmente inutilement le disque et ralentit les performances. Windows XP a choisi la taille jugée idéale de 4 Ko par cluster (illustration ci-dessous empruntée à l'article cité).

.

 

 

.

 

Mise en pratique :

Dans le CD de Windows XP vous trouverez les utilitaires CVTAREA.EXE (27Ko) et OFORMAT.EXE (49ko) qui se trouve dans le fichier Deploy.cab dans le dossier \SUPPORT\TOOLS. L'utilitaire CONVERT.EXE est livré avec Windows XP. Oformat n'est qu'un dérivé de format.exe de Windows 98 à la différence essentielle (mais il y en a d'autres) qu'il est capable d'aligner les clusters de données en suivant  la fameuse règle des 4 Ko. Pour cela, on utilise le commutateur /A:8. Ensuite de quoi on pourra utiliser le convertisseur CONVERT.EXE pour le passage en NTFS puisque l'alignement sera optimum.

Concrètement, vous utiliserez :
CVTAREA : pour réserver un espace disque spécifique pour l'emplacement de la MFT
OFORMAT : pour formater et définir une taille de cluster de 4 Ko
CONVERT : pour réaliser la conversion FAT32 --> NTFS.

Détails  :

 

   
1

Créez une disquette de boot de type MS-DOS (où bien préférez un CD) et de préférence une disquette WinME ou ultérieure (avec des disquettes Win95/98 on rencontre des erreurs de version MS-DOS en lançant Oformat)

2

Ajoutez-y les utilitaires suivants : FDISK (celui de WinME de préférence puisque selon Microsoft, cette version de FDISK calcule correctement la taille des disques durs de grande capacité), OFORMAT, CVTAREA et CONVERT (sauf si vous lancez ce dernier à partir du CD de XP)

3

Bootez sur la disquette et lancez FDISK afin de créer une seule partition. Sauf bien sûr si vous avez déjà une partition en FAT 32

4

Relancez la machine puis formatez le disque C avec la commande suivante :
oformat c: /a:8 /v:"" /q

5

Lancement de CVTAREALancez la commande de CVTAREA afin de créer un fichier de 500 Mo sur des secteurs contigus et qui sera ultérieurement utilisé pour loger la MFT. La syntaxe suivante spécifie en outre que le fichier doit être créé à partir du 3ème Go du disque dur, emplacement préconisé par Microsoft pour loger la MFT sur des disques durs d'une capacité supérieure à 8 Go :
cvtarea c:\cvtarea.tmp 500 MB /contig /firstcluster 3 gb

6 Installez Windows XP comme vous le faites "habituellement".
7

Une fois que Windows XP est installé, vous pouvez convertir votre disque dur en NTFS avec la commande spécifique qui suit. Il se peut que le programme vous réponde que le lecteur est vérouillé et que le volume doit être démonté pour accomplir l'opération au prochain démarrage de Windows. Répondez par l'affirmative.  : convert c: /fs:ntfs /cvtarea:cvtarea.tmp /nochkdsk

 
8 XP est désormais installé sur une partition NTFS dont la MFT se trouve placée à partir du 3ème Go sur le disque (emplacement préconisé par MS)

Commentaires : pour la commande cvtaera qui crée un espace contigu où se logera la MFT lors de la phase de conversion avec CONVERT, le paramètre 3 gb en fin de ligne de commande s'adresse aux disques durs d'une capacité supérieure à 8 Go. Pour une capacité moindre, remplacez "3 gb" par "1 gb", la MFT sera alors placée dans le 1er Go du disque. Vous remarquerez en regardant la capture d'écran ci-contre que que le nombre de clusters alloués pour la création de l'espace réservé à la MFT est bien de 16.000 secteurs ce qui signifie qu'à ce stade de la procédure les clusters ont une taille de 32 Ko (puisqu'on a demandé la création d'un fichier de 500 Mo). Utilisez l'utilitaire CONVERT livré avec XP car celui fourni avec Windows 2000 est dépourvu de nombreuses fonctions par rapport à celle de XP : moins rapide, pas de possibilité de fixer la taille des clusters à 4 Ko, par de possibilité d'utiliser l'allocation de place pour la MFT (CVTAREA) et pas moyen d'empêcher le lancement de CHKDSK en fin de procédure.

En éditant la structure du disque formaté en NTFS mais sans aucune des manipulations exposées ci-dessus, on peut remarquer que la MFT est disséminée un peut partout sur le disque dur, autrement dit elle est fragmentée sur des secteurs non contigus. Dans la seconde capture d'écran, la partition NTFS qui résulte des manipulations ci-dessus fait apparaître une MFT placée sur des secteurs contigus, allant du clusters 803.846 au cluster 806.266, ce qui correspond à une MFT d'une taille de légèrement supérieure à 9 Mo (2420 clusters de 4096 octets), taille qui est confirmée par les informations du disque que l'on peut obtenir en demandant une analyse via le Défragmenteur de XP.

Partition sans optimisation Partition avec optimisation

En conclusion, si Windows XP est bien entendu parfaitement capable de fonctionner sur une FAT 32, l'idéal consiste toutefois à lui offrir une partition NTFS, la recherche d'une solution optimale commandant en outre de créer une partition NTFS en appliquant les méthodes d'optimisation évoquées ici. Les deux inconvénients majeurs que l'on peut alors relever pour certains sont d'une part l'impossibilité de créer une configuration en multiboot avec des systèmes d'exploitation qui ne reconnaissent pas le système NTFS et d'autre part l'obligation de perdre toutes les données présentes sur la partition que l'on s'apprête à convertir.


Mis en ligne le 29 octobre 2001 / Dernière modification : 29-11-2002