Master File Table
En informatique, la Master File Table (MFT, table de fichiers principale) est l'un des composants du système de fichiers de NTFS de Microsoft.
Élément principal d'une partition NTFS, il s'agit du premier fichier présent sur celle-ci (son nom exact est "$MFT"), il contient la liste de tous les fichiers stockés dans la partition. Cette liste est stockée sous la forme d'une série d'enregistrements. Lorsqu'un fichier est effacé, l'enregistrement qui le décrit est marqué comme libre, il pourra alors être réutilisé lors de la création d'un nouveau fichier, mais il ne sera jamais libéré du disque[1]. Par conséquent, le fichier MFT ne cesse de grossir au fur et à mesure de l'utilisation du disque.
La MFT (en combinaison avec le fichier $Bitmap) remplace le système DIR + FAT présent sur les anciens systèmes de fichiers MS-DOS (FAT12, FAT16 ou FAT32). Il y a un enregistrement dans la MFT pour chaque fichier du disque, on y trouve les informations suivantes :
- nom long du fichier ;
- nom au format 8.3 ;
- index (numéro d'ordre du fichier) ;
- taille du fichier ;
- dates et heures de création, modification et accès ;
- attributs du fichier ;
- droits d'accès (voir Access Control List) ;
- liste des blocs (clusters) contenant le fichier.
Dans le cas de fichiers de petite taille (700 à 800 octets, selon la longueur du nom du fichier), ceux-ci sont directement stockés dans la MFT, en utilisant l'espace réservé pour la liste des blocs. Ceci permet de limiter la perte d'espace disque par les petits fichiers.
Un bloc de 4 ko contient quatre enregistrements MFT.
Il existe une copie miroir de la MFT destinée à permettre la restauration d'une partition dont la MFT serait altérée (le nom de ce fichier est "$MFTMirr").
La MFT est utilisée en coordination avec le fichier $Bitmap qui contient les indicateurs d'occupation de chaque bloc de la partition.