Comment NTFS réserve de l’espace pour sa table de fichiers maîtres (MFT)

Cet article décrit comment NTFS réserve de l’espace pour sa table de fichiers maîtres (MFT).

Applicabilité : Windows 10 - toutes les éditions, Windows Server 2012 R2
Numéro de la base de connaissances d’origine : 174619

Résumé

Le système de fichiers NTFS contient à la base, un fichier appelé master table de fichiers (MFT). Il existe au moins une entrée dans le MFT pour chaque fichier sur un volume NTFS, y compris le MFT lui-même.

Étant donné que les utilitaires qui défragmentent les volumes NTFS ne peuvent pas déplacer les entrées MFT et que la fragmentation excessive du MFT peut avoir un impact sur les performances, NTFS réserve de l’espace pour le MFT afin de maintenir le MFT aussi contigu que possible au fur et à mesure de sa croissance.

Dans Windows, l’utilitaire de défragmentation défragmente le MFT.

Utilitaire de défragmentation

Une opération de défragmentation sur le MFT combine un fichier MFT en 1 et empêche son stockage à plusieurs endroits qui ne sont pas séquentiels sur le disque. Dans cette classe d’opération, le fichier MFT est plus séquentiel. Toutefois, il s’agit exactement de la taille du fichier MFT avant l’opération de défragmentation.

Un MFT peut être trop volumineux si un volume avait un grand nombre de fichiers qui ont été supprimés. Les fichiers supprimés provoquent des trous internes dans le MFT. Ces trous sont des régions importantes qui ne sont pas utilisées par les fichiers. Il est impossible de récupérer cet espace. Cela est au moins vrai sur un volume NTFS en direct.

Plus d’informations

NTFS utilise des entrées MFT pour définir les fichiers auxquels elles correspondent. Toutes les informations relatives à un fichier, y compris sa taille, ses horodatages, ses autorisations et son contenu de données, sont stockées dans des entrées MFT ou dans un espace externe au MFT, mais décrit par les entrées MFT.

(Les entrées de répertoire, externes à MFT, contiennent également des informations redondantes concernant les fichiers. Mais une discussion complète de toutes les structures sur NTFS dépasse le cadre de cet article.)

À mesure que des fichiers sont ajoutés à un volume NTFS, d’autres entrées sont ajoutées au MFT et la taille du MFT augmente. Lorsque des fichiers sont supprimés d’un volume NTFS, leurs entrées MFT sont marquées comme gratuites et peuvent être réutilisées, mais le MFT ne se réduit pas. Par conséquent, l’espace utilisé par ces entrées n’est pas récupéré sur le disque.

En raison de l’importance de MFT pour NTFS et de l’impact possible sur les performances si ce fichier devient très fragmenté, NTFS fait un effort particulier pour maintenir ce fichier contigu. NTFS réserve 12,5 % du volume à l’utilisation exclusive du MFT jusqu’à ce que le reste du volume soit épuisé. Par conséquent, l’espace pour les fichiers et les répertoires n’est pas alloué à partir de cette zone MFT tant que tout autre espace n’est pas alloué en premier.

Remarque

Vous pouvez modifier la clé de Registre NtfsMFTZoneReservation pour augmenter le volume dans Windows. Pour plus d’informations sur le MFT, consultez la section Éléments clés dans le processus de défragmentation de disque de l’article Maintenance des performances maximales de Windows 2000 via la défragmentation.

Selon la taille moyenne du fichier et d’autres variables, la zone MFT réservée ou l’espace non réservé sur le disque peut être utilisé avant l’autre, à mesure que le disque se remplit à la capacité.

Les volumes contenant un petit nombre de fichiers relativement volumineux épuisent d’abord l’espace non réservé, tandis que les volumes contenant un grand nombre de fichiers relativement petits épuisent d’abord l’espace de zone MFT. Dans les deux cas, la fragmentation du MFT commence à se produire quand une région ou l’autre devient pleine. Si l’espace non réservé devient plein, l’espace pour les fichiers et répertoires utilisateur commence à être alloué à partir de la zone MFT en concurrence avec la MFT pour l’allocation. Si la zone MFT devient pleine, l’espace pour les nouvelles entrées MFT est alloué à partir du reste du disque, en concurrence avec d’autres fichiers.

Un nouveau paramètre de Registre peut augmenter le pourcentage d’un volume réservé par NTFS pour sa table de fichiers master. NtfsMftZoneReservation est une valeur REG_DWORD qui peut prendre une valeur comprise entre 1 et 4, où 1 correspond à la taille de zone MFT minimale et 4 correspond à la valeur maximale. Si le paramètre n’est pas spécifié ou si une valeur non valide est fournie, NTFS utilise la valeur par défaut 1 pour ce paramètre. Les ratios exacts qui correspondent à chaque paramètre ne sont pas documentés, car ils ne sont pas standardisés et peuvent changer dans les versions ultérieures. Pour savoir quel paramètre est le mieux adapté à votre environnement, il peut être nécessaire d’expérimenter différentes valeurs.

Pour déterminer la taille actuelle du MFT sur un ordinateur Windows, tapez la dir /a $mft commande sur un volume NTFS.

Pour déterminer la taille actuelle du MFT sur un ordinateur Windows, utilisez le défragmenteur de disque pour analyser le lecteur NTFS, puis cliquez sur Afficher le rapport. Cela affiche les statistiques du lecteur, y compris la taille MFT actuelle et le nombre de fragments.

Le défragmenteur de disque s’affiche en vert pour ce que l’on appelle les fichiers système et, sur un volume au format NTFS, il s’agit simplement de la combinaison du MFT, pagefile.sys (s’il en existe un sur ce volume) et de ce qu’on appelle la « zone MFT » ou l’espace réservé pour l’extension MFT. Le rapport de défragmentation affiche uniquement des informations sur le fichier de page et MFT ; elle n’mention pas la zone MFT, car elle n’affecte en aucune façon l’utilisation ou la capacité du disque.

La zone MFT n’est pas soustraite de l’espace disque disponible (libre) utilisé pour les fichiers de données utilisateur. Il s’agit uniquement de l’espace utilisé en dernier. Lorsque la MFT a besoin d’augmenter sa taille, par exemple, vous avez créé de nouveaux fichiers et répertoires, elle est d’abord extraite de la zone MFT, ce qui réduit la fragmentation MFT et optimise les performances MFT.

La zone MFT par défaut est calculée et réservée par Ntfs.sys lors du montage du volume et est basée sur la taille du volume. Vous pouvez augmenter la zone MFT à l’aide de l’entrée de Registre documentée ci-dessous, mais vous ne pouvez pas réduire la zone MFT par défaut par rapport à ce qui est calculé par Ntfs.sys. L’augmentation de la zone MFT ne diminue en aucune façon l’espace disque qui peut être utilisé par les utilisateurs pour les fichiers de données.

Remarque

Les résultats retournés par la commande dir peuvent ne pas être à jour. La taille signalée par la commande dir peut refléter des données mises en cache qui reflètent la taille du MFT au moment où le système a été démarré après un arrêt ordonné.

Importante

Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le registre avant de le modifier. Vous pouvez alors le restaurer en cas de problème. Pour plus d’informations sur la procédure de sauvegarde et de restauration du Registre, consultez l’article Comment sauvegarder et restaurer le Registre dans Windows.

Pour ajouter cette valeur, procédez comme suit :

  1. Exécutez la Rédacteur du Registre (Regedt32.exe), puis accédez à la sous-clé suivante :

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem

  2. Dans le menu Modifier , cliquez sur Ajouter une valeur.

  3. Tapez les informations suivantes dans la boîte de dialogue :

    • Nom de la valeur : NtfsMftZoneReservation
    • Type de données : REG_DWORD
    • Données : (la plage valide est comprise entre 1 et 4)
  4. Quittez le Registre Rédacteur et redémarrez votre ordinateur.

Remarque

Il s’agit d’un paramètre d’exécution qui n’affecte pas le format réel d’un volume. Au lieu de cela, cela affecte la façon dont NTFS alloue de l’espace sur tous les volumes sur un système donné. Par conséquent, pour être entièrement efficace, le paramètre doit être en vigueur à partir du moment où un volume est mis en forme et tout au long de la durée de vie du volume. Si le paramètre de Registre est ajusté vers le bas ou supprimé, la zone MFT est réduite en conséquence, mais cela n’aura aucune incidence sur l’espace MFT déjà alloué et utilisé.