exFAT : enfin un vrai remplaçant pour la FAT32

exFAT

Image 1 : exFAT : enfin un vrai remplaçant pour la FAT32

Le système de fichier FAT32, très utilisé, est de plus en plus gênant : impossible de dépasser 2 Tio pour une partition, les fichiers de plus de 4 Gio ne sont pas pris en charge, etc. Heureusement, un remplaçant pour la FAT32 — le vecteur de transmission entre OS le plus courant — se profile : exFAT. Ce système de fichier Microsoft a en effet été choisi comme base pour le format SDXC et pour les Memory Stick XC et Mac OS X devrait le supporter dans sa prochaine version mineure. Nous en avons donc profité pour tester le système de fichier et l’interopérabilité des données entre différents systèmes.

exFAT, alias FAT64

Taille des clusters et données physiques

La taille des clusters influe directement sur la capacité disponible, expliquons. Avec un cluster de 4 kio — la norme —, les données font donc au minimum 4 kio sur le support, que le fichier fasse 1 octet ou 4 095. En exFAT, on travaille avec des clusters de 32 kio, ce qui a des avantages en terme de vitesse (notamment) mais pas en terme de capacité. En effet, dès qu’un fichier est écrit, il fait donc 32 kio au minimum. Étant donné que l’exFAT est destiné aux appareils photo, ce n’est pas un problème, mais attention aux sauvegardes de systèmes…

exFAT est ce qu’on pourrait appeler une « FAT 64 », avec des limites modernes, notamment dans la taille des fichiers. Là où FAT32 limite à 4 Gio par fichier et 2 Tio par partition (32 Gio sous Windows via l’utilitaire de partition), exFAT passe à 64 Zio pour les partitions (1 Zio est équivalent à environ 1 milliard de Tio, 1 073 741 824 plus exactement) et 16 Eio pour les fichiers (1 Eio est équivalent à environ 1 million de Tio, 1 048 576 exactement).

Une meilleure gestion de l’espace

La gestion de l’espace, des sous-répertoires et du nombre de fichiers est améliorée avec exFAT, avec notamment la limite du nombre de fichiers par répertoire qui passe de 65 536 en FAT32 à 2 796 202 en exFAT. Mieux, la capacité après formatage est un peu plus élevée en exFAT qu’en FAT32 : une clé USB de 4 Go (disposant réellement de 4 023 Mo) offre 4 014 Mo utilisables en FAT32, 3 997 Mo en HFS+, 3 974 Mo en NTFS et 4 022 Mo en exFAT. Le gain est faible, mais il est là. Attention tout de même : la taille par défaut des clusters est de 32 kio (au lieu de généralement 4 kio sur les systèmes de fichiers classiques), ce qui implique une perte de capacité plus élevée quand on travaille sur des petits fichiers.

Optimisé pour la mémoire flash

exFAT est optimisé (et pensé) pour la mémoire flash : le système de fichier est avant tout destiné aux clés USB et aux cartes mémoire, même s’il est utilisable sur un disque dur. Les partitions sont alignées par défaut, les clusters de 32 kio sont plus adaptés aux puces dotées de gros blocs et l’absence de journalisation (peu gênante sur des clés USB) limite l’usure des puces.

Enfin, pour les amateurs, les ACL (les permissions d’accès) sont gérées sur certains systèmes et la gestion des dates dans les propriétés des fichiers est plus efficace, avec notamment une gestion via UTC (temps universel) et une granularité plus fine dans le temps (exFAT a une précision de 10 ms, FAT32 se limite à deux secondes).

Les deux principaux problèmes d’exFAT, nous allons le voir, sont liés au support par les appareils et surtout à la politique de licence de Microsoft : exFAT n’est pas open source et son utilisation nécessite le paiement de royalties à Microsoft pour l’intégration dans un système d’exploitation (les périphériques comme les appareils photo ne nécessitent pas de royalties).

La prise en charge sous Windows

Image 2 : exFAT : enfin un vrai remplaçant pour la FAT32

Commençons par le commencement : la prise en charge sous Windows. Plusieurs cas se présentent, selon l’OS.

Windows 7

L’OS le plus récent de la firme de Redmond est évidemment compatible avec exFAT, et toutes les fonctions sont prises en charge. Windows 7, en version 32 ou 64 bits, est pleinement compatible avec exFAT, qui peut même être utilisé pour la fonction ReadyBoost, ce qui permet de dépasser la limitation à 4 Gio pour la clé USB.

Windows Vista

Windows Vista est compatible exFAT, mais uniquement à partir du Service Pack 1. De plus, certaines fonctions ne sont pas disponibles (la gestion des ACL et du temps universel). Contrairement à Windows 7, exFAT ne peut pas être utilisé en conjonction avec ReadyBoost.

Windows XP

Pour l’antédiluvien Windows XP, encore très utilisé, il n’y a pas de prise en charge directe. Mais un pilote est disponible sur le site de Microsoft pour prendre en charge le système de fichier. Il nécessite le Service Pack 2 de Windows XP et ne pèse (que) 3 Mo, il est donc possible de réserver une partition FAT32 contenant le pilote sur les clés USB pour éviter les problèmes.

Pour les systèmes plus anciens, il n’y a pas de support officiel et les versions Serveur de Windows sont prises en charge (directement avec la version 2008 et avec un pilote sous 2003).

Mac OS X et Linux

Passons à deux systèmes plus rares, Mac OS X et Linux.

Sous Snow Leopard uniquement

Image 3 : exFAT : enfin un vrai remplaçant pour la FAT32Sous Mac OS X, le support d’exFAT est déjà présent dans la version actuelle du système (10.6.4) mais uniquement dans quelques modèles : ceux dotés d’un lecteur de cartes SDXC. En effet, la norme nécessite exFAT. Concrètement, les Mac mini et iMac de dernière génération sont compatibles exFAT et nous avons donc testé le système de fichier sur un Mac mini.

Pour les autres ordinateurs, la mise à jour 10.6.5 apporte la compatibilité avec exFAT. Les ordinateurs sous Leopard (10.5) devront donc se passer de la norme.

Linux ne prend pas réellement en charge exFAT

Sous Linux, il n’y a pas encore de prise en charge directe par le système d’exploitation. En effet, exFAT nécessitant le paiement de royalties et n’étant pas libre, son intégration est difficile. Actuellement, il existe plusieurs solutions, mais elles sont peu pratiques. La première est une intégration dans le noyau, mais uniquement en lecture (et encore à un stade alpha). La seconde est une implémentation via FUSE, encore en bêta. La dernière est l’utilisation de pilotes propriétaires et payants, disponibles notamment pour les distributions classiques, mais aussi pour Android.

Les tests

Pour les tests, nous avons utilisé trois systèmes : Windows 7, Mac OS X (10.6.4) et Windows XP avec le pilote. Les tests ne sont pas directement comparables  entre eux, pour une raison simple : ils n’ont pas été effectués sur les mêmes ordinateurs. La clé USB de test est une Sandisk Cruzer Micro de 4 Go. Nous n’avons pas effectué de tests sous Linux car il n’existe pas (encore) de moyens fiables de lire et écrire en exFAT, les solutions étant soi en bêta/alpha soit payantes et propriétaires.Image 4 : exFAT : enfin un vrai remplaçant pour la FAT32

Image 5 : exFAT : enfin un vrai remplaçant pour la FAT32

Sous Windows 7, peu de différence. L’exFAT est équivalent à la FAT32 et le NTFS est un peu plus rapide. Les performances ne sont ni meilleures ni moins bonnes.

Image 6 : exFAT : enfin un vrai remplaçant pour la FAT32

Image 7 : exFAT : enfin un vrai remplaçant pour la FAT32

Sous Windows XP — qui ne permet pas de formater une clé USB en NTFS — exFAT est un peu plus rapide en écriture mais un peu moins en lecture. C’est négligeable dans l’ensemble.

Image 8 : exFAT : enfin un vrai remplaçant pour la FAT32

Image 9 : exFAT : enfin un vrai remplaçant pour la FAT32

Sous Mac OS X, les trois systèmes de fichiers se valent en lecture mais exFAT est plus rapide tant en lecture qu’en écriture.

exFAT, une vraie solution ?

exFAT va-t-il remplacer FAT32 ? Oui, c’est assez évident, ne serait-ce que parce que les cartes mémoires vont y passer obligatoirement. Pour un usage grand public, c’est un rien plus performant, on gagne un peu en capacité et surtout, les limites gênantes de la FAT32 (4 Gio par fichier) sautent.

Le problème, c’est qu’exFAT n’est pas encore (et ne sera sûrement jamais) totalement universel. Là où la FAT32 est prise en charge sur 99 % des machines du marché, exFAT nécessite un ordinateur récent (Windows Vista, XP avec un pilote ou Mac OS X Snow Leopard), et les périphériques comme les appareils photos, les Media Center, etc. ne sont que rarement compatibles.

Au final, exFAT est intéressant et efficace mais ne remplace pas encore FAT32. Et vu la façon dont les choses avancent, FAT32 risque de rester encore (très) longtemps le seul système de fichier totalement universel, même si NTFS est de plus en plus couramment proposé.