FAT32, exFAT et NTFS : comprendre les systèmes de fichiers et leurs différences

Dans le processus de formatage d’un disque dur ou d’une clé USB, vous avez déjà eu à choisir entre les systèmes de fichier FAT32, NTFS ou encore exFAT. Sans doute avez-vous l’habitude de faire un choix par hasard ou de laisser l’option affichée par défaut. Mais il vaut toujours mieux opter pour un système de fichiers en toute connaissance de cause. Le FAT32, l’exFAT et le NTFS n’ont pas les mêmes caractéristiques.

Qu’est-ce qu’un système de fichiers ?

C’est un ensemble de règles qui organisent la manière dont les fichiers sont stockés et récupérés sur un support de stockage. La disposition des données est très structurée. On part d’une racine qui abrite des répertoires qui eux-mêmes sont capables de contenir plusieurs niveaux de sous-répertoires. Chaque fichier stocké le sera selon un certain nombre d’attributs ou de métadonnées (nom du fichier, type du fichier, date de création, date de dernière modification, permissions d’accès, etc.).

Le système de fichier définit donc la manière dont les données sont écrites physiquement sur le support. Un disque est constitué de secteurs qui forment des blocs de stockage d’une taille spécifique. Chaque fichier stocké occupera donc un bloc ou chevauchera plusieurs blocs selon sa taille.

La notion d’unité d’allocation (cluster)

La plus petite partie physique constituant un support de stockage est appelée secteur (512 octets pour la plupart des disques durs). Plusieurs secteurs peuvent être regroupés par un système de fichiers pour former un bloc de stockage (cluster en anglais). Un cluster est donc la plus petite unité d’allocation imposée par un système de fichier et qui est d’une taille plus grande qu’un secteur puisqu’il en regroupe plusieurs.

Sous Windows, les clusters sont désignés par le terme « unité d’allocation ». Il est possible de définir la taille d’une unité d’allocation pendant le formatage. Il s’agit du plus petit espace que peut occuper un fichier sur le support de données.

Par exemple, pour une unité d’allocation dont la taille est de 4 096 octets (4 ko), il faudra 3 unités (12 ko au total) pour stocker un fichier d’une taille de 10 ko. Les 2 ko restants sur le dernier bloc seront donc perdus puisque ne pouvant être occupés par un autre fichier. Plus précisément, notre fichier de 10 ko pèsera donc au final 12 ko.

Le choix de la taille d’une unité d’allocation est donc important car, plus elle est grande, plus la perte d’espace est importante quand un fichier ne remplit pas l’intégralité du dernier bloc occupé. L’espace perdu est donc compris dans le poids du fichier. Vous comprenez alors pourquoi le même fichier peut avoir un poids sensiblement différent selon qu’on passe d’un support à un autre.

Précisons pour finir cette partie qu’un fichier n’occupe pas forcément des unités d’allocation situées les unes après les autres. Celles-ci peuvent donc être éparpillées, mais selon un adressage spécifique qui permet de récupérer le fichier en entier quand il a besoin d’être lu ou d’être copié.

Venons-en maintenant aux différents systèmes de fichiers. Il en existe une multitude, mais les plus connus sont sans aucun doute les systèmes FAT32 et NTFS, et depuis quelques années l’exFAT.

FAT32, l’exFAT et le NTFS : c’est quoi ?

Pour commencer, disons que le FAT32 est un ancien système de fichier FAT (File Alloction Table) qui a succédé au FAT16, qui est encore plus ancien. Le NTFS est quant à lui plus récent et utilisé par Windows pour les disques durs internes (par défaut). Pour les supports de données externes, le FAT32 est recommandé en raison de sa compatibilité avec un plus grand nombre de systèmes d’exploitation (Windows, Android, iOS, macOS, etc.).

L’exFAT en ce qui le concerne est une version améliorée du FAT32. C’est donc un meilleur choix, mais il ne s’impose pas de manière indiscutable vu qu’il reste moins rependu que le FAT32 en termes de compatibilité.

Le NTFS (New Technology File System) est un système de fichiers propriétaire développé par Microsoft. Il offre plusieurs avantages que nous citons plus bas, mais reste avant tout la chasse gardée des systèmes Windows, comme les HFS et HFS+ restent celles d’Apple (macOS, iOS) et les Ext2, Ext3, ReiserFS, Linux Swap, celles de Linux.

Avec le NTFS, des problèmes de compatibilité peuvent donc se produire selon que vous passiez de Windows à un autre système d’exploitation. Toutefois, macOS a une capacité limitée à la lecture du NTFS (l’écriture n’est pas disponible par défaut). Linux quant à lui dispose de drivers open source pour le NTFS, avec les deux fonctions lecture et écriture. Mais pour éviter tout problème de compatibilité, le FAT32 reste le système le plus utilisé par défaut pour les supports de stockage externes.

Les différences entre ces systèmes de fichiers

Le FAT32 a plusieurs limites comparé au NTFS :

Quid de l’exFAT ?

Comme son nom l’indique, l’Extended File Allocation Table est une amélioration (extension) du FAT32. Il a été introduit en 2006 et est compatible avec toutes les versions de Windows, à partir de VISTA (compatibilité activée via une mise à jour du système, tout comme avec les anciennes versions de XP). L’exFAT, comme le FAT32 est également compatible par défaut avec macOS et Linux.

Tout comme avec le NTFS, la limite théorique de l’exFAT pour la taille des fichiers et des allocations est extrêmement confortable. Il n’est donc pas limité aux 4 GB pour un seul fichier. À part cela, il garde les mêmes défauts en termes de sécurité (autorisations d’accès et niveaux de permissions).

Si l’exFAT 32 est meilleur que le FAT32, il est moins rependu en termes de compatibilité. Par exemple, la PlayStation 4 supporte exFAT, mais ce n’est pas le cas pour la PlayStation 3. La Xbox One le supporte, et pas la Xbox 360. À vous donc de choisir selon vos besoins.