Le système de fichiers FAT a été remplacé par NTFS comme système de fichiers par défaut sur les systèmes d'exploitation Microsoft à partir de Windows XP . Néanmoins, FAT reste couramment utilisé sur les technologies de stockage à semi-conducteurs de capacité relativement faible telles que les clés USB , les cartes SD , les cartes MultiMediaCard (MMC) et les cartes eMMC en raison de sa compatibilité avec les systèmes d'exploitation et les systèmes embarqués , et de sa facilité de mise en œuvre.
les disques durs durant les ères DOS et Windows 9x . Microsoft a introduit NTFS avec la plateforme Windows NT en 1993, mais FAT est resté la norme pour les particuliers jusqu'à la sortie de Windows XP en 2001. Windows Me a été la dernière version de Windows à utiliser FAT comme système de fichiers par défaut.Pour les disquettes, le système de fichiers FAT a été normalisé par les normes ECMA -107 et ISO / CEI 9293:1994 (remplaçant la norme ISO 9293:1987 ). Ces normes couvrent les formats FAT12 et FAT16, avec une prise en charge limitée aux noms de fichiers courts (8.3 ) ; les noms de fichiers longs avec VFAT ont fait l’objet de brevets partiels . Si le format FAT12 est utilisé sur les disquettes, les formats FAT16 et FAT32 sont généralement utilisés sur les supports de stockage de plus grande capacité.
Moderne
Le système FAT est utilisé en interne pour la partition système EFI lors de la phase de démarrage des ordinateurs compatibles EFI .
Le système de fichiers FAT est encore utilisé sur les disques destinés à être utilisés par plusieurs systèmes d'exploitation, comme dans les environnements partagés Windows et Linux . Microsoft Windows intègre également un outil permettant de convertir directement un système de fichiers FAT en NTFS sans avoir à réécrire tous les fichiers, bien que cette opération ne soit pas facilement réversible.
Le système de fichiers FAT est utilisé sur les supports amovibles tels que les disquettes , les disquettes géantes , les cartes mémoire et les clés USB . FAT est pris en charge par les appareils portables tels que les assistants numériques personnels (PDA) , les appareils photo numériques , les caméscopes , les lecteurs multimédias , les téléphones mobiles, les consoles de jeux , ainsi que par les systèmes embarqués tels que les radios portables , les lecteurs DVD et les systèmes audio de véhicules équipés de ports USB et de lecteurs de cartes SD .
Le système de fichiers DCF , adopté par la quasi-totalité des appareils photo numériques depuis 1998, définit un système de fichiers logique avec 8.3 noms de fichiers et rend obligatoire l'utilisation de FAT12, FAT16, FAT32 ou exFAT pour sa couche physique afin d'assurer la compatibilité.
Détails techniques
table d'allocation de fichiers ( FAT ). La FAT est allouée statiquement lors du formatage. Cette table est une liste chaînée d'entrées pour chaque cluster , une zone contiguë de stockage disque. Chaque entrée contient soit le numéro du cluster suivant dans le fichier, soit un marqueur indiquant la fin du fichier, l'espace disque inutilisé ou des zones réservées spécifiques du disque. Le répertoire racine du disque contient le numéro du premier cluster de chaque fichier présent dans ce répertoire. Le système d'exploitation peut alors parcourir la FAT, en recherchant le numéro de cluster de chaque partie successive du fichier disque, comme une chaîne de clusters, jusqu'à atteindre la fin du fichier. Les sous-répertoires sont implémentés comme des fichiers spéciaux contenant les entrées de répertoire de leurs fichiers respectifs.
Chaque entrée d'une liste chaînée FAT est codée sur un nombre fixe de bits : 12, 16 ou 32. La taille maximale d'un fichier ou d'un disque accessible est le produit de la plus grande valeur pouvant être stockée dans les entrées (moins quelques valeurs réservées pour indiquer l'espace non alloué ou la fin d'une liste) et de la taille du cluster du disque. Même si un seul octet est nécessaire pour étendre un fichier, un cluster entier doit lui être alloué. Par conséquent, un grand nombre de petits fichiers peuvent entraîner l'allocation de clusters contenant principalement des données « vides » afin de respecter la taille minimale requise.
Conçu initialement comme un système de fichiers 8 bits, le nombre maximal de clusters a dû augmenter avec la capacité des disques durs, ce qui a entraîné une augmentation du nombre de bits utilisés pour identifier chaque cluster. Les principales variantes successives du format FAT sont nommées d'après le nombre de bits des éléments de la table : 12 ( FAT12 ), 16 ( FAT16 ) et 32 ( FAT32 ).
Variantes
Il existe plusieurs variantes du système de fichiers FAT (par exemple FAT12 , FAT16 et FAT32 ). FAT16 désigne à la fois le groupe original de systèmes de fichiers FAT avec des entrées de cluster de 16 bits et les variantes ultérieures. « VFAT » est une extension optionnelle pour les noms de fichiers longs, compatible avec tous les systèmes de fichiers FAT. Les volumes utilisant des noms de fichiers longs VFAT peuvent être lus même par des systèmes d'exploitation ne prenant pas en charge cette extension.
FAT 8 bits d'origine
0xBF ) dans un précurseur du Standalone Disk BASIC-80 de Microsoft pour un successeur basé sur le 8080 du terminal de saisie de données NCR 7200 modèle VI , équipé de disquettes de 8 pouces (200 mm), en 1977 ou 1978. En 1978, Standalone Disk BASIC-80 a été porté sur le 8086 à l'aide d'un émulateur sur un DEC PDP-10 , car aucun véritable système 8086 n'était disponible à cette époque. Le système de fichiers FAT était également utilisé dans MDOS/MIDAS de Microsoft , un système d'exploitation pour les plateformes 8080/Z80 développé par McDonald depuis 1979. La version Standalone Disk BASIC prenait en charge trois FAT alors que ce nombre était une option pour MIDAS. Il semblerait que MIDAS ait également été conçu pour prendre en charge les variantes FAT 10, 12 et 16 bits. Alors que la taille des entrées de répertoire était de 16 octets dans Standalone Disk BASIC [ occupait quant à lui 32 octets par entrée.Tim Paterson, de Seattle Computer Products (SCP), a découvert la structure FAT de Microsoft lorsqu'il a aidé Bob O'Rear à adapter le portage de l'émulateur BASIC-86 Standalone Disk sur le prototype de carte CPU 8086 à bus S-100 de SCP , lors d'un séjour d'une semaine chez Microsoft en mai 1979. Le produit final a été présenté sur le stand de Lifeboat Associates à la National Computer Conference de New York , du 4 au 7 juin 1979. Paterson y a découvert l'implémentation plus sophistiquée de la FAT dans MDOS/MIDAS et McDonald a discuté avec lui de la conception du système de fichiers.
FAT12
FAT12 used 12-bit entries for the cluster addresses; some values were reserved to mark the end of a chain of clusters, to mark unusable areas of the disk, or for other purposes, so the maximum number of clusters was limited to 4078. To conserve disk space, two 12-bit FAT entries used three consecutive 8-bit bytes on disk, requiring manipulation to unpack the 12-bit values. This was sufficient for the original floppy disk drives, and small hard disks up to 32 megabytes. The FAT16B version available with DOS3.31 supported 32-bit sector numbers, and so increased the volume size limit.
Toutes les structures de contrôle sont contenues dans la première piste afin d'éviter les déplacements de la tête de lecture/écriture. Tout secteur défectueux dans la zone des structures de contrôle rendait le disque inutilisable. L'outil de formatage DOS rejetait systématiquement ces disques. Les secteurs défectueux étaient uniquement autorisés dans la zone de données des fichiers. Les clusters contenant des secteurs défectueux étaient marqués comme inutilisables par la valeur réservée 0xFF7dans la FAT.
Alors que 86-DOS prenait en charge trois formats de disquettes (250,25 Ko, 616 Ko et 1232 Ko, avec les identifiants FAT0xFF 8 et 9 0xFE) sur les lecteurs de disquettes 8 pouces (200 mm), IBM PC DOS 1.0 , sorti avec le premier IBM Personal Computer en 1981, ne prenait en charge qu'un format de disquette 8 secteurs d'une capacité de 160 Ko (identifiant FAT 8 0xFE) pour les lecteurs de disquettes 5,25 pouces simple face. PC DOS 1.1 a ajouté la prise en charge d'un format double face de 320 Ko (identifiant FAT 9 0xFF). PC DOS 2.0 a introduit la prise en charge des formats de disquettes 9 secteurs de 180 Ko (identifiant FAT 8 0xFC) et 360 Ko (identifiant FAT 9 0xFD).
Les entrées de répertoire de 86-DOS 1.00 et PC DOS 1.0 ne comportaient qu'une seule date : la date de dernière modification. PC DOS 1.1 ajoutait l'heure de dernière modification. Les attributs de fichier de PC DOS 1.x incluaient un bit caché et un bit système, les six bits restants étant indéfinis. À cette époque, DOS ne prenait pas en charge les sous-répertoires, mais une disquette ne contenait généralement que quelques dizaines de fichiers .
Le PC XT fut le premier PC équipé d'un disque dur fourni par IBM, et PC DOS 2.0 prenait en charge ce disque dur avec le système de fichiers FAT12 ( identifiant FAT0xF8 ). L'hypothèse fixe de 8 secteurs par cluster sur les disques durs limitait en pratique la taille maximale des partitions à 16 Mo pour des secteurs de 512 octets et des clusters de 4 Ko.
Le bloc de paramètres du BIOS ( BPB ) a également été introduit avec PC DOS 2.0, et cette version a également ajouté des bits d'attributs de lecture seule, d'archive , d'étiquette de volume et de répertoire pour les sous-répertoires hiérarchiques.
MS-DOS 3.0 a introduit la prise en charge des disquettes haute densité de 1,2 Mo de 5,25 pouces (descripteur de média 0xF9), qui comportaient notamment 15 secteurs par piste, offrant ainsi plus d'espace pour les FAT.
Le système de fichiers FAT12 reste utilisé sur toutes les disquettes courantes , y compris les disquettes de 1,44 Mo et plus récentes de 2,88 Mo (octet de descripteur de média 0xF0).
FAT16 initial
0x04 FAT16 désigne cette forme de FAT16 avec moins de 65 536 secteurs (moins de 32 Mo pour une taille de secteur de 512 octets). L'avantage du FAT16 résidait dans l'utilisation de clusters plus petits, optimisant ainsi l'utilisation du disque, notamment pour un grand nombre de fichiers de quelques centaines d'octets seulement.Comme MS-DOS 3.0 formatait toutes les partitions de 16 à 32 Mo en FAT16, un disque dur de 20 Mo formaté sous MS-DOS 3.0 était inaccessible sous MS-DOS 2.0. MS-DOS 3.0 à MS-DOS 3.30 pouvaient encore accéder aux partitions FAT12 de moins de 15 Mo, mais exigeaient que toutes les partitions de 16 à 32 Mo soient en FAT16 ; de ce fait, ils ne pouvaient pas accéder aux partitions MS-DOS 2.0 de cette taille. MS-DOS 3.31 et les versions ultérieures permettaient à nouveau d'accéder aux partitions FAT12 de 16 à 32 Mo.
FAT sectorisé logique
D'autres fournisseurs ont contourné les limitations de taille de volume imposées par les secteurs 16 bits en augmentant la taille apparente des secteurs utilisés par le système de fichiers. Ces secteurs logiques étaient plus grands (jusqu'à 8 192 octets) que la taille physique des secteurs (toujours 512 octets) sur le disque. Le BIOS DOS ou le BIOS système combinait ensuite plusieurs secteurs physiques en secteurs logiques pour permettre au système de fichiers de fonctionner.
Ces modifications étaient transparentes pour l'implémentation du système de fichiers dans le noyau DOS. Le BIOS DOS sous-jacent traduisait ces secteurs logiques en secteurs physiques en fonction des informations de partitionnement et de la géométrie physique du disque.
L'inconvénient de cette approche résidait dans l'augmentation de la mémoire utilisée pour la mise en mémoire tampon et le déblocage des secteurs. Les anciennes versions de DOS ne pouvant pas utiliser de grands secteurs logiques, les constructeurs ont introduit de nouveaux identifiants de partition pour leurs variantes de FAT afin de les masquer aux distributions MS-DOS et PC DOS disponibles dans le commerce. Parmi les identifiants de partition connus pour les FAT à secteurs logiques, on trouve : 0x08( Commodore MS-DOS 3.x), 0x11( Leading Edge MS-DOS 3.x) 0x14, (AST MS -DOS 3.x ), ( 0x24NEC MS-DOS 3.30 ), ( AT&T MS-DOS 3.x), ( Tandy MS-DOS), ( Sperry IT MS-DOS 3.x, Unisys MS-DOS 3.3 – également utilisé par Digital Research DOS Plus 2.1). Les versions OEM comme Toshiba MS-DOS, Wyse MS-DOS 3.2 et 3.3, ainsi que Zenith MS-DOS sont également connues pour avoir utilisé le sectoring logique. 0x560xE50xF2
Bien que non standard et sous-optimales, ces variantes de FAT sont parfaitement valides selon les spécifications du système de fichiers lui-même. Par conséquent, même si les systèmes MS-DOS et PC- DOS par défaut ne pouvaient pas les gérer, la plupart de ces variantes FAT12 et FAT16 spécifiques à certains fournisseurs peuvent être montées par des implémentations de systèmes de fichiers plus flexibles dans des systèmes d'exploitation tels que DR-DOS, simplement en modifiant l'identifiant de partition pour l'un des types reconnus. De plus, si elles n'ont plus besoin d'être reconnues par leurs systèmes d'exploitation d'origine, les partitions existantes peuvent être « converties » en volumes FAT12 et FAT16 plus conformes aux versions de MS-DOS/PC DOS 4.0–6.3, qui ne prennent pas en charge les tailles de secteur différentes de 512 octets, en passant à un BPB avec une entrée de 32 bits pour le nombre de secteurs, comme introduit depuis DOS 3.31 (voir FAT16B ci-dessous), en conservant la taille du cluster et en réduisant la taille du secteur logique dans le BPB à 512 octets, tout en augmentant simultanément le nombre de secteurs logiques par cluster, de secteurs logiques réservés, de secteurs logiques totaux et de secteurs logiques par FAT du même facteur.
Parallèlement, sous MS-DOS/PC- DOS, l'augmentation de la capacité maximale des disques a été possible grâce à l'extension du nombre de partitions FAT au-delà des quatre initiales et au remplacement des « périphériques de blocs installables » par des partitions FAT natives DOS. Pour permettre l'utilisation d'un plus grand nombre de partitions FAT de manière compatible, un nouveau type de partition a été introduit dans PC- DOS 3.2 (1986) : la partition étendue (EBR) , qui contient une partition supplémentaire appelée lecteur logique . Depuis PC- DOS 3.3 (avril 1987), une autre partition étendue, optionnelle, contient le lecteur logique suivant , et ainsi de suite. Le MBR d'un disque dur peut définir jusqu'à quatre partitions primaires, ou une partition étendue en plus de trois partitions primaires au maximum.
FAT16 final
0x06de BigFAT [ tandis que certaines versions plus anciennes FDISKle décrivaient comme BIGDOS . Techniquement, il est connu sous le nom de FAT16B .Les anciennes versions de DOS n'étant pas conçues pour gérer plus de 65 535 secteurs, il a été nécessaire d'introduire un nouveau type de partition pour ce format afin de le masquer aux versions de DOS antérieures à la 3.31. La version originale de FAT16 (avec moins de 65 536 secteurs) utilisait un type de partition spécifique0x04 . Pour gérer les disques de plus grande capacité, un nouveau type 0x06a été introduit pour indiquer 65 536 secteurs ou plus. De plus, le pilote de disque a été étendu pour prendre en charge également plus de 65 535 secteurs. La seule autre différence entre le FAT16 original et le format FAT16B plus récent réside dans l'utilisation d'un format BPB plus récent avec une entrée de secteur sur 32 bits. Par conséquent, les systèmes d'exploitation récents compatibles avec le format FAT16B peuvent également gérer le format FAT16 original sans aucune modification.
Si des partitions destinées aux versions de DOS antérieures à la version 3.31 doivent être créées à l'aide d'outils modernes, les seuls critères théoriques à respecter sont un nombre de secteurs inférieur à 65 536 et l'utilisation de l'ancien identifiant de partition ( 0x04). En pratique, cependant, les partitions de type 0x01et 0x04primaires ne doivent pas être physiquement situées en dehors des 32 premiers Mo du disque, en raison d'autres limitations de MS-DOS 2.x, qui ne pourraient pas les gérer autrement.
En 1988, l'amélioration FAT16B s'est généralisée grâce à DR-DOS 3.31, PC -DOS 4.0, OS/2 1.1 et MS-DOS 4.0. La taille maximale des partitions était alors déterminée par le nombre de secteurs par cluster (valeur signée sur 8 bits ), initialement fixé à 64 (puissance de deux). Avec une taille de secteur standard de 512 octets sur disque dur, la taille maximale d'un cluster était de 32 Ko, ce qui fixait la limite « définitive » de la taille des partitions FAT16 à 2 Go pour des secteurs de 512 octets. Sur les supports magnéto-optiques , dont les secteurs peuvent faire 1 ou 2 Ko au lieu de 0,5 Ko, cette limite était proportionnellement plus élevée.
Bien plus tard, Windows NT a porté la taille maximale des clusters à 64 Ko en considérant le nombre de secteurs par cluster comme non signé. Cependant, le format résultant était incompatible avec toutes les autres implémentations FAT de l'époque et engendrait une fragmentation interne accrue . Windows 98 , SE et ME prenaient également en charge la lecture et l'écriture de cette variante, mais leurs utilitaires de disque ne fonctionnaient pas avec elle et certains services FCB n'étaient pas disponibles pour ces volumes. Ceci contribue à une situation de compatibilité complexe.
Avant 1995, les versions de DOS accédaient au disque uniquement via l'adressage CHS . Avec l'introduction de l'accès disque LBA dans Windows 95 (MS-DOS 7.0), les partitions pouvaient désormais être physiquement situées au-delà des 8 premiers Go environ du disque, et donc hors de portée du système d'adressage CHS traditionnel. Les partitions partiellement ou totalement situées au-delà de la barrière CHS devaient par conséquent être masquées aux systèmes d'exploitation non compatibles LBA en utilisant le nouveau type de partition dans la table de partitions. Les partitions FAT16 utilisant ce type sont également appelées FAT16X . La seule différence, par rapport aux partitions FAT16 précédentes, réside dans le fait que certaines entrées géométriques liées au CHS dans l'enregistrement BPB, à savoir le nombre de secteurs par piste et le nombre de têtes, peuvent être nulles ou erronées et ne doivent pas être utilisées.0x0E
Le nombre d'entrées du répertoire racine disponibles pour FAT12 et FAT16 est déterminé lors du formatage du volume et stocké dans un champ de 16 bits. Pour un nombre donné RDEet une taille de secteur donnée SS, le nombre RDSde secteurs du répertoire racine est RDS = ceil((RDE × 32) / SS), et RDEest généralement choisi pour remplir ces secteurs, c'est RDE × 32 = RDS × SS-à-dire . Les supports FAT12 et FAT16 utilisent généralement 512 entrées du répertoire racine sur les supports autres que les disquettes. Certains outils tiers, comme mkdosfs, permettent à l'utilisateur de définir ce paramètre.
FAT32
Tailles maximales
Le secteur de démarrage FAT32 utilise un champ 32 bits pour le numéro de secteur, limitant la taille maximale d'un volume FAT32 à 2 téraoctets avec une taille de secteur de 512 octets . La taille maximale d'un volume FAT32 est de 16 To avec une taille de secteur de 4 096 octets. L'outil de formatage de disque intégré à l' interface Windows de Windows NT ne prend en charge que les volumes jusqu'à 32 Go, mais Windows permet la lecture et l'écriture sur des volumes FAT32 préexistants de plus grande taille. Ces volumes peuvent être créés via l' invite de commandes , PowerShell ou des outils tiers, ou en formatant le volume sur un système non-Windows ou sur un système Windows 9x compatible FAT32, puis en le transférant vers le système Windows NT. En août 2024, Microsoft a publié une mise à jour des versions préliminaires de Windows 11 permettant la création de partitions FAT32 jusqu'à 2 To.
La taille maximale autorisée pour un fichier sur un volume FAT32 est de 4 Go moins 1 octet, soit 4 294 967 295 ( 2³² − 1) octets. Cette limite découle de la longueur de fichier de 4 octets définie dans la table des répertoires et s'applique également aux partitions FAT16 de grande taille, rendues possibles par une taille de secteur suffisante.
Comme FAT12 et FAT16, FAT32 n'intègre pas de prise en charge directe des noms de fichiers longs, mais les volumes FAT32 peuvent éventuellement contenir des noms de fichiers longs VFAT en plus des noms de fichiers courts, exactement de la même manière que les noms de fichiers longs VFAT ont été implémentés en option pour les volumes FAT12 et FAT16.
Développement
Le système de fichiers FAT32 a été introduit avec Windows 95 OSR2 (MS-DOS 7.1) en 1996, mais un reformatage était nécessaire pour l'utiliser. DriveSpace 3 (la version fournie avec Windows 95 OSR2 et Windows 98 ) ne l'a jamais pris en charge. Windows 98 a introduit un utilitaire permettant de convertir les disques durs existants de FAT16 à FAT32 sans perte de données.
Dans la gamme Windows NT, la prise en charge native du système de fichiers FAT32 est apparue avec Windows 2000. Un pilote FAT32 gratuit pour Windows NT 4.0 était disponible auprès de Winternals , une société rachetée ultérieurement par Microsoft. Il n'est plus possible de se procurer ce pilote auprès des sources officielles. Depuis 1998, le pilote DRFAT32 de Caldera, chargeable dynamiquement , permettait d'activer la prise en charge du système de fichiers FAT32 sous DR-DOS. La première version de DR-DOS à prendre en charge nativement FAT32 et l'accès LBA était OEM DR-DOS 7.04 en 1999. La même année, IMS a introduit la prise en charge native de FAT32 avec REAL/32 7.90, et IBM 4690 OS a ajouté la prise en charge de FAT32 avec la version 2. Ahead Software a fourni un autre pilote FAT32.EXE chargeable dynamiquement pour DR-DOS 7.03 avec Nero Burning ROM en 2004. IBM a introduit la prise en charge native de FAT32 avec OEM PC DOS 7.1 en 1999.
Deux types de partitions sont réservés aux partitions FAT32 : FAT32 0x0Bet 0x0CFAT32X. Ce dernier type est également appelé FAT32X afin d’indiquer l’utilisation de l’accès disque LBA au lieu de CHS. Sur ces partitions, les entrées géométriques liées à CHS, à savoir les adresses de secteur CHS dans le MBR ainsi que le nombre de secteurs par piste et le nombre de têtes dans l’enregistrement EBPB, peuvent être nulles ou erronées et ne doivent pas être utilisées.
Extensions
attributs étendus
OS/2 dépend fortement des attributs étendus (AE) et les stocke dans un fichier caché nommé « » à la racine du volume FAT12 ou FAT16 . Ce fichier est indexé par deux octets préalablement réservés dans l' entrée de répertoire du fichier (ou du répertoire) à l'offset . Dans le format FAT32 , ces octets contiennent les 16 bits de poids fort du numéro de cluster de début du fichier ou du répertoire, ce qui rend impossible le stockage des AE OS/2 sur FAT32 par cette méthode.EA␠DATA.␠SF0x14
Cependant, le pilote tiers FAT32.IFS (version 0.70 et supérieures) développé par Henk Kelder et Netlabs pour OS/2, eComStation et ArcaOS stocke les attributs étendus dans des fichiers supplémentaires. Ces fichiers voient leur nom complété par la chaîne « ». Le pilote utilise également l'octet situé à un certain décalage dans les entrées de répertoire pour stocker un octet de marque spécial indiquant la présence d'attributs étendus, ce qui contribue à accélérer les opérations. (Cette extension est incompatible avec la méthode FAT32+ pour stocker des fichiers de plus de 4 Go moins 1 sur des volumes FAT32.) ␠EA.␠SF0x0C
Les attributs étendus sont accessibles via le bureau Workplace Shell , via des scripts REXX et de nombreux utilitaires système GUI et en ligne de commande (tels que 4OS2 ).
Pour assurer la compatibilité avec son sous-système OS/2 , Windows NT prend en charge la gestion des attributs étendus (EA) sur les systèmes de fichiers HPFS , NTFS , FAT12 et FAT16. Il stocke les EA sur FAT12, FAT16 et HPFS selon le même schéma que OS/2, mais ne prend pas en charge les autres types d' attributs de domaine (ADS) stockés sur les volumes NTFS. Toute tentative de copie d'un fichier contenant un ADS autre qu'un EA depuis un volume NTFS vers un volume FAT ou HPFS génère un message d'avertissement indiquant les noms des ADS qui seront perdus. La méthode FAT32.IFS de stockage des EA sur les volumes FAT32 n'est pas prise en charge.
Windows 2000 et versions ultérieures se comportent exactement comme Windows NT, à ceci près qu'ils ignorent les EA lors de la copie vers FAT32 sans aucun avertissement (mais affichent l'avertissement pour d'autres ADS, comme « Macintosh Finder Info » et « Macintosh Resource Fork »).
Cygwin utilise également des fichiers " ".EA␠DATA.␠SF
Noms de fichiers longs
Cette méthode transparente de stockage de noms de fichiers longs dans les systèmes de fichiers FAT existants sans altérer leurs structures de données est généralement connue sous le nom de VFAT (pour « Virtual FAT ») d'après le pilote de périphérique virtuel de Windows 95.
Les systèmes d'exploitation non compatibles VFAT peuvent toujours accéder aux fichiers sous leur alias de nom de fichier court sans restriction ; cependant, les noms de fichiers longs associés peuvent être perdus lorsque des fichiers avec des noms de fichiers longs sont copiés sous des systèmes d'exploitation non compatibles VFAT.
Sous Windows NT, la prise en charge des noms de fichiers longs VFAT a commencé avec la version 3.5 .
Linux fournit un pilote de système de fichiers VFAT pour gérer les volumes FAT avec des noms de fichiers longs au format VFAT. Pendant un certain temps, un pilote UVFAT était disponible pour assurer la prise en charge combinée des permissions de type UMSDOS et des noms de fichiers longs VFAT.
Avant l'introduction de VFAT, OS/2 a ajouté la prise en charge des noms de fichiers longs à la FAT grâce aux attributs étendus (EA). Par conséquent, les noms de fichiers longs VFAT sont invisibles pour OS/2, et les noms de fichiers longs EA sont invisibles pour Windows ; de ce fait, les utilisateurs expérimentés des deux systèmes d'exploitation doivent renommer manuellement les fichiers.
Human68K prenait en charge jusqu'à 18,3 noms de fichiers et ( Shift JIS ) caractères Kanji dans une variante propriétaire du système de fichiers FAT.
Afin de prendre en charge les applications Java , le système d'exploitation IBM 4690 version 2, basé sur FlexOS , a introduit sa propre architecture de système de fichiers virtuel (VFS) pour stocker les noms de fichiers longs dans le système de fichiers FAT de manière rétrocompatible. Si cette option est activée, les noms de fichiers virtuels (VFN) sont accessibles via des lettres de lecteur logiques distinctes, tandis que les noms de fichiers réels (RFN) restent accessibles via les lettres de lecteur d'origine.
Fourches et flux de données alternatifs
Sous macOS utilisant PC Exchange, les dates, attributs et noms de fichiers longs sont stockés dans un fichier caché nommé «FINDER.DAT », et les forks de ressources (un format ADS courant sous macOS) dans un sous-répertoire nommé «RESOURCE.FRK », dans chaque répertoire où ils sont utilisés. À partir de PC Exchange 2.1, les noms de fichiers longs sous macOS sont stockés au format FAT standard et les noms de fichiers FAT de plus de 31 caractères sont convertis en noms de fichiers uniques de 31 caractères, lisibles par les applications macOS.
macOS stocke les forks de ressources et les métadonnées (attributs de fichiers, autres ADS) au format AppleDouble dans un fichier caché dont le nom est construit à partir du nom de fichier du propriétaire préfixé par " ._", et le Finder stocke certaines métadonnées de dossiers et de fichiers dans un fichier caché appelé " .DS_Store" (mais notez que le Finder utilise .DS_Storemême sur le système de fichiers natif de macOS, HFS+ ).
Autorisations et noms de fichiers UMSDOS
--linux-.--- ». UMSDOS est tombé en désuétude après la sortie de VFAT et n'est plus activé par défaut dans Linux à partir de la version 2.5.7. Pendant un certain temps, Linux a également proposé une prise en charge combinée des permissions de type UMSDOS et des noms de fichiers longs VFAT via UVFAT .FAT+
En 2007, le projet de norme FAT+ proposait une méthode pour stocker des fichiers volumineux, jusqu'à 256 Go moins 1 octet (soit 274 877 906 943 octets, ou 2³⁸ − 1), sur des volumes FAT32 légèrement modifiés et par ailleurs rétrocompatibles . Cependant, cette approche présente le risque que les outils de disque ou les implémentations FAT32 ne prenant pas en charge cette extension tronquent ou suppriment les fichiers dépassant la limite de taille standard de FAT32. La prise en charge de FAT32+ et FAT16+ est limitée à certaines versions de DR-DOS et n'est pas disponible dans les systèmes d'exploitation courants . (Cette extension est incompatible avec l' /EASoption de la méthode FAT32.IFS permettant de stocker les attributs étendus OS/2 sur des volumes FAT32.)
Dérivés
Turbo FAT
FATX
FATX est une famille de systèmes de fichiers conçus pour les disques durs et les cartes mémoire de la console de jeux vidéo Xbox de Microsoft , introduits en 2001.
Bien que ressemblant aux mêmes idées de conception de base que FAT16 et FAT32 , les structures sur disque FATX16 et FATX32 sont simplifiées, mais fondamentalement incompatibles avec les systèmes de fichiers FAT16 et FAT32 normaux, ce qui rend impossible le montage de tels volumes par les pilotes de systèmes de fichiers FAT normaux.
Le secteur BPB classiques . Les clusters ont généralement une taille de 16 Ko et il n'existe qu'une seule copie de la FAT sur la Xbox. Les entrées de répertoire ont une taille de 64 octets au lieu des 32 octets habituels . Les noms de fichiers peuvent comporter jusqu'à 42 caractères (avec le jeu de caractères OEM) et atteindre une taille maximale de 4 Go moins 1 octet. Les horodatages sur disque contiennent les dates et heures de création, de modification et d'accès, mais diffèrent de ceux de la FAT : dans la FAT, l' époque est 1980 ; dans FATX, elle est 2000. Sur Xbox 360 , l'époque est 1980.
exFAT
exFAT est conçu pour les clés USB et les cartes mémoire telles que les SDXC et Memory Stick XC , où le format FAT32 est généralement utilisé. Les fabricants préformatent souvent les cartes SDXC avec ce format. Son principal avantage réside dans sa capacité à dépasser la limite de 4 Go pour la taille des fichiers : les références de taille de fichier sont stockées sur huit octets au lieu de quatre, ce qui porte la limite à 2⁶⁴ − 1 octets.
Les utilitaires de formatage en ligne de commande et via l'interface graphique de Microsoft le proposent comme alternative à NTFS (et, pour les partitions plus petites, à FAT16B et FAT32 ). Le type de partition MBR est identique à celui utilisé pour IFS , HPFS et NTFS. Les informations de géométrie logique, situées dans le VBR , sont stockées dans un format qui ne ressemble à aucun type BPB.0x07
Début 2010, le système de fichiers a été rétro-ingénierisé par le SANS Institute . Le 28 août 2019, Microsoft a publié la spécification technique d'exFAT afin qu'il puisse être utilisé dans le noyau Linux et d'autres systèmes d'exploitation.
Brevets
Au milieu des années 1990, Microsoft a déposé et obtenu une série de brevets pour des éléments clés du système de fichiers FAT. Ces quatre brevets concernent les extensions de noms de fichiers longs pour FAT, apparues pour la première fois dans Windows 95 : brevet américain 5 579 517 , brevet américain 5 745 902 et brevet américain 6 286 013 (tous expirés depuis 2013)
Le 3 décembre 2003, Microsoft a annoncé qu'elle proposerait des licences d'utilisation de sa spécification FAT et de la « propriété intellectuelle associée », moyennant une redevance d'OS/2 (expiré en 2011).
Défis et poursuites judiciaires
La Public Patent Foundation (PUBPAT) a soumis des preuves à l' Office américain des brevets et des marques (USPTO) en 2004, contestant la validité du brevet américain n° 5 579 517 , notamment des antériorités de Xerox et d'IBM . L'USPTO a ouvert une enquête et a conclu au rejet de toutes les revendications du brevet . L'année suivante, l'USPTO a annoncé, à l'issue d'un réexamen, avoir confirmé le rejet du brevet n° 517 et avoir également invalidé le brevet américain n° 5 758 352 au motif que ses cessionnaires étaient incorrects.
Toutefois, en 2006, l’USPTO a statué que les caractéristiques de l’implémentation par Microsoft du système FAT étaient « nouvelles et non évidentes », infirmant ainsi les deux décisions précédentes et maintenant la validité des brevets.
En février 2009, Microsoft a intenté une action en contrefaçon de brevet contre TomTom, l'accusant d'enfreindre des brevets relatifs aux noms de fichiers longs VFAT . Certains produits TomTom étant basés sur Linux , il s'agissait de la première tentative de Microsoft pour faire valoir ses brevets contre cette plateforme. L'affaire s'est réglée à l'amiable le mois suivant : Microsoft aurait accès à quatre brevets de TomTom, TomTom s'engagerait à ne plus prendre en charge les noms de fichiers longs VFAT dans ses produits et, en contrepartie, Microsoft renoncerait à toute action en justice contre TomTom pendant les cinq ans que durerait l'accord.
En octobre 2010, Microsoft a intenté une action en contrefaçon de brevets contre Motorola , alléguant que plusieurs brevets (dont deux brevets VFAT) n'avaient pas fait l'objet d'une licence d'utilisation dans le système d'exploitation Android . Microsoft a également déposé une plainte auprès de l' ITC . Des développeurs de logiciels libres ont conçu des méthodes visant à contourner les brevets de Microsoft.
En 2013, le brevet EP0618540 « espace de noms commun pour les noms de fichiers longs et courts » (expiré depuis 2014 ) a été invalidé en Allemagne. Après le retrait du recours, ce jugement est devenu définitif le 28 octobre 2015.