Qu'est-ce que la MFT (Master File Table) - malekal.com
Menu Fermer

Qu’est-ce que la MFT (Master File Table)

MFT (Master File Table pour Table des Fichiers) est un élément important dans la structure du système de fichier NTFS.
Pour rappel, NTFS est le système de fichiers par défaut de Windows.
La MFT stocke les informations comme les indexations de fichiers, métadonnées, ACL et bien d’autres informations.
Il remplace la la table d’allocation de fichiers du système de fichiers de l’ancien système de fichier FAT.

Dans ce tutoriel, nous allons voir ce qu’est la MFT.
Comment récupérer la MFT en cas de corruption.

Qu'est-ce que la MFT (Master File Table)

Qu’est-ce que la MFT (Master File Table)

Avant de commencer, il convient de prendre connaissance de cet article pour un survol de NTFS :

Voici la structure du système de fichier NTFS avec les différentes tables :

Fonctionnement du système de fichiers NTFS

La MFT est une table qui stocke en autre les indexations et informations des fichiers présents dans la partie “DATA”.
Il conserve des enregistrements de tous les fichiers d’un volume, l’emplacement des fichiers dans le répertoire, l’emplacement physique des fichiers sur le lecteur et les métadonnées des fichiers.
Les métadonnées incluent les dates de création de fichiers et de dossiers, les dates de modification des entrées, les dates d’accès, les dernières dates écrites, la taille des fichiers physiques et logiques et les listes de contrôle d’accès des fichiers.
Les métadonnées du fichier et du répertoire sont stockées sous la forme d’une entrée MFT d’une taille de 1024 octets. Les 16 premières entrées de la MFT appartiennent à des fichiers système, tels que la MFT elle-même.
C’est donc un élément extrêmement car sans ces index, l’accès aux données devient alors impossible.

La Master File Table (MFT) stocke les données et enregistrements qui décrivent l’emplacement de tous les fichiers et répertoires sur le lecteur.

Lorsque NTFS stocke un fichier, il commence par créer un petit segment d’enregistrement de fichier de 1 Ko que nous appellerons l’enregistrement de base. Tous les fichiers commencent ainsi, y compris les fichiers cachés spéciaux tels que $MFT, $LOGFILE, $VOLUME, etc. En fait, lorsque nous faisons référence à la MFT (table des fichiers principaux), nous parlons de la liste complète des segments d’enregistrement de base et des segments d’enregistrement pour tous les fichiers du volume.

Ci-dessous, un exemple de MTF, avec à gauche le fichier texte et son contenu, à droite la manière dont il est stocké dans NTFS, avec MTF que l’on visualise à l’aide du logiciel HxD.

MTF dans NTFS

Puis lorsqu’un fichier est supprimé, une entrée est marquée comme non allouée tandis que le contenu du fichier sur le lecteur reste intact. Le nom de fichier dans l’entrée MFT peut être écrasé en raison de la réorganisation de l’arborescence MFT, de sorte que la plupart du temps, les noms de fichiers ne sont pas conservés. Les données du fichier sont éventuellement écrasées à mesure que l’espace disque non alloué est utilisé.
C’est aussi pour cela que les données peuvent se récupérer à l’aide de logiciel :

Afin de protéger le MFT de la fragmentation, NTFS réserve une partie du disque autour du MFT qu’il n’allouera pas à d’autres fichiers à moins que l’espace disque ne soit insuffisant. Cette zone est connue sous le nom de MFT-Zone.

Structure de la MFT

Voici les éléments les plus importants du systèmes de fichiers NTFS :

  • Master File Table : Contient l’index d’accès aux fichiers et leurs infirmations comme par exemple les attributs, ACL, …
  • File System Data : stocke les fichiers
  • Une copie de la Master File Table – $MftMirr : afin d’être restauré en cas de problème sur la MFT
  • Bad cluster file : stocke les informations relatives aux secteurs défectueux du disque

On trouve aussi différents attributs suivants :

  • Nom long du fichier.
  • Nom au format 8.3.1
  • Index (numéro d’ordre du fichier).
  • Taille du fichier.
  • Dates et heures de création / modification / accès.
  • Attributs du fichier. ($AttrDef)
  • Droits d’accès (voir ACL)
  • Liste des blocs (clusters) contenant le fichier. ($BadClus)
  • Log file / Journal de fichiers ($LogFile) : Permet de restaurer des informations avec l’utilitaire checkdisk (chkdsk) après des problèmes sur le systèmes de fichiers. – Se reporter à la page : Erreurs disques et systèmes de fichiers
La Master File Table (MTF) dans NTFS

Voici un exemple du NTFS Boot Sector avec les informations sur les blocs et informations sur la MFT.

Fonctionnement du système de fichiers NTFS

et le contenu de la MFT :

Fonctionnement du système de fichiers NTFS

Comment afficher les informations de la MFT

Avec Active Disk Editor

Active Disk Editor est un éditeur de disque qui permet de visualiser et modifier les contenus des partitions.
Il affiche aussi certaines zones NTFS comme la MFT.

L’utilitaire prend en charge aussi MBR, table de partition GUID, secteur d’amorçage NTFS, enregistrement de fichier NTFS MFT, secteur d’amorçage FAT, secteur d’amorçage FAT32, entrée de répertoire FAT, secteur d’amorçage exFAT, entrée de répertoire exFAT, en-tête de volume HFS+, nœud de catalogue HFS+, HFS+ Enregistrement de fichier, superbloc Ext2/Ext3/Ext4, inode Ext2/Ext3/Ext4, superbloc UFS, inode UFS, structures LDM.

avec fsutil

Fsutil est un utilitaire en invite de commandes pour afficher des informations NTFS.
On peut aussi modifier les paramètres NTFS des disques par exemple pour optimiser NTFS et le disque.

Pour afficher les informations générales du lecteur C :

fsutil fsInfo ntfsinfo c:
Afficher les informations MFT et NTFS avec fsutil

Des informations statistiques sur le lecteur C :

fsutil fsInfo statistics c:
Afficher les informations MFT et NTFS avec fsutil

Enfin des informations de la MFT :

fsutil volume filelayout c:\$mft
Afficher les informations MFT et NTFS avec fsutil

avec NTFSInfo

NTFSInfo est un outil gratuit en ligne de commandes qui vous montre des informations sur les volumes NTFS.
On trouve les informations comme la taille des volumes de données, des secteurs mais aussi de la MFT.
NTFSInfo vous montrera où sur le disque (en termes de clusters) se trouve la MFT et sa taille, en plus de spécifier la taille des clusters et des enregistrements MFT du volume.
Enfin il vous dira la taille de MFT-Zone et quel pourcentage du lecteur lui est réservé.

NTFSInfo : obtenir des informations de la MFT

Comment récupérer une MFT corrompue ?

Une corruption de la MFT entraîne une perte d’accès aux données.
Par exemple, le système de fichiers peut indiquer que la partition est corrompue et demander à formater celle-ci alors que les données sont encore présentes sur le disque.
En général, on obtient alors le message le lecteur est inaccessible.
Un autre aspect est le passage de la partition de disque en RAW.

Les données sont toujours dans le disque mais comme l’index n’est plus présent, l’OS ne sait pas chercher les données.
Un scan entier du disque secteur par secteur avec un utilitaire tel que testdisk, DiskGenius peut aider à réparer la MFT ou rétablir l’accès aux données.