Section courante

A propos

Section administrative du site

Introduction

La partition NTFS, soit l'abréviation de New Technology File System, est un système de fichiers moderne conçu par Microsoft pour les systèmes d'exploitation de la famille Windows NT. Contrairement aux anciennes partitions FAT12, FAT16 et FAT32, NTFS repose sur une structure de type B+ Tree, ce qui lui permet d'offrir une gestion beaucoup plus rapide et efficace des fichiers, particulièrement lorsque le volume contient plusieurs milliers, voire plusieurs millions de fichiers. Cette organisation optimise les recherches, les insertions et les suppressions tout en limitant la fragmentation des informations de gestion.

NTFS a été développé afin de répondre aux besoins des environnements professionnels nécessitant une meilleure fiabilité, une plus grande sécurité et une capacité d'entreposage largement supérieure aux anciens systèmes de fichiers. En plus de supporter des partitions de très grande taille, il intègre des mécanismes de récupération après incident, de journalisation des opérations et de protection des données permettant de réduire les risques de corruption lors d'une panne du système ou d'une coupure d'alimentation.

Par rapport aux systèmes FAT, NTFS introduit également de nombreuses fonctionnalités avancées telles que les attributs étendus, les métadonnées, les listes de contrôle d'accès (ACL), les flux de données alternatifs (Alternate Data Streams), les noms de fichiers longs compatibles Unicode, la compression transparente, le chiffrement EFS, les quotas de disque ainsi que les points de réanalyse utilisés notamment pour les liens symboliques et les points de montage. Toutes ces caractéristiques en font aujourd'hui le système de fichiers de référence pour la quasi-totalité des versions modernes de Windows, tant sur les ordinateurs personnels que sur les serveurs professionnels.

Version

Depuis son apparition avec Windows NT 3.1, le système de fichiers NTFS a connu plusieurs évolutions importantes. Chaque nouvelle version a apporté des améliorations concernant la fiabilité, les performances, la sécurité ou encore la prise en charge de nouvelles fonctionnalités. Microsoft a conservé une excellente compatibilité entre les différentes versions afin de permettre aux nouvelles éditions de Windows de continuer à lire les partitions créées par les versions précédentes, tout en profitant des nouvelles possibilités offertes par les versions les plus récentes.

Voici la liste des différentes versions de la partition NTFS :

Version Alias Système d'exploitation Date de publication
1.0 Windows NT 3.1 Mi-1993
1.1 Windows NT 3.5 Automne 1994
1.2 «NTFS 4.0» Windows NT 3.51 mi-1995
Windows NT 4.0 mi-1996
3.0 «NTFS v5.0» ou «NTFS5» Windows 2000 2000
3.1 «NTFS v5.1» Windows XP Automne 2001

Les versions ultérieures de Windows, notamment Windows Vista, Windows 7, Windows 8, Windows 10 et Windows 11, utilisent toujours la version 3.1 du format NTFS tout en ajoutant de nouvelles fonctionnalités directement dans le système d'exploitation. Ainsi, la structure fondamentale du système de fichiers est demeurée remarquablement stable depuis plus de vingt ans, ce qui explique son excellente compatibilité et sa grande robustesse.

Secteur de démarrage de la partition

Comme tous les systèmes de fichiers, une partition NTFS possède un secteur de démarrage (Boot Sector) situé au tout début de la partition. Ce secteur constitue l'un des éléments les plus importants de la structure, puisqu'il contient toutes les informations nécessaires au système d'exploitation pour reconnaître la partition et accéder correctement aux données qu'elle renferme. Lors du démarrage de l'ordinateur ou lors du montage d'un volume, Windows lit en premier ce secteur afin d'obtenir les paramètres fondamentaux décrivant l'organisation de la partition.

Le secteur de démarrage contient notamment la signature NTFS, la taille des secteurs physiques, le nombre de secteurs par unité d'allocation (cluster), l'emplacement du fichier maître $MFT, celui de sa copie miroir $MFTMirr, le numéro de série du volume ainsi que plusieurs paramètres internes permettant au pilote NTFS de localiser rapidement les principales structures du système de fichiers. La présence de ces informations garantit que le volume pourra être monté correctement même lorsque celui-ci contient plusieurs milliards de fichiers.

Voici la structure typique du secteur de démarrage qu'utilise la partition NTFS :

Position Longueur Valeur Nom du champ Description
0000h 3 octets EB5290h JMP instruction Ce champ permet de provoquer la poursuite de l'exécution après les données de structure dans le secteur de démarrage.
0003h 8 octets Le mot «NTFS» suivi de 4 espaces. OEM ID Ce champ permet d'indiquer la signature indiquant une partition avec un système de fichier NTFS.
000Bh 2 octets 0200h Bytes per sector Ce champ permet d'indiquer combien d'octets contient un secteur.
000Dh 1 octet 08h Sectors Per Cluster Ce champ permet d'indiquer combien de secteurs sont dans une unité d'allocation.
000Eh 2 octets 0000h Reserved Sectors Ce champ est réservé.
0010h 3 octets 000000h Unused Ce champ est toujours à 0.
0013h 2 octets 0000h Unused by NTFS Ce champ est toujours à 0.
0015h 1 octet F8h Media Descriptor Ce champ permet d'indiquer le descripteur de média.
0016h 2 octets 0000h   Ce champ est toujours à 0.
0018h 2 octets 003Fh Sectors Per Track Ce champ permet d'indiquer combien de secteur contient une piste.
001Ah 2 octets 00FFh Number Of Heads Ce champ permet d'indiquer d'indiquer combien de tête magnétique en lecture/écrire sont contenues dans cette unité.
001Ch 4 octets 0000003Fh Hidden Sectors Ce champ permet d'indiquer combien de secteurs cachés sont contenu sur cette partition.
0020h 4 octets 00000000h   Ce champ n'est pas utilisé par la partition NTFS.
0024h 4 octets 0x80008000   Ce champ n'est pas utilisé par la partition NTFS.
0028h 8 octets 0x00000000007FF54A Total sectors Ce champ permet d'indiquer combien de secteurs sont dans cette partition.
0030h 8 octets 0000000000000004h $MFT cluster number Ce champ permet d'indiquer quel unité d'allocation contient le «$MFT».
0038h 8 octets 000000000007FF54h $MFTMirr cluster number Ce champ permet d'indiquer quel unité d'allocation contient la copie miroir du «$MFT».
0040h 1 octet F6h Bytes Per File Record Segment Ce champ permet d'indiquer combien il y a d'octets dans un segment d'enregistrement de fichier.
0041h 3 octets 000000h   Ce champ n'est pas utilisé par la partition NTFS.
0044h 1 octet 01h Clusters Per Index Buffer Ce champ permet d'indiquer combien il y a d'unité d'allocation par tampon d'index.
0045h 3 octets 000000h   Ce champ n'est pas utilisé par la partition NTFS.
0048h 8 octets variable Volume Serial Number Ce champ permet d'indiquer un nombre aléatoire associé avec cette partition correspondant à son numéro de série.
0050h 4 octets 00000000h Checksum Ce champ permet d'indiquer la valeur précédente de la sommation de vérification.
0054h 426 octets variable Bootstrap Code Ce champ permet d'indiquer le code étant charger dans le système d'exploitation.
01FEh 2 octets AA55h End-of-sector Marker Ce champ permet d'indiquer un marqueur indiquant la fin du secteur de démarrage.

Métafichiers

Contrairement aux systèmes de fichiers plus anciens, NTFS organise pratiquement toutes ses informations internes sous forme de fichiers spéciaux appelés métafichiers. Ces fichiers résident directement dans la partition et sont gérés comme des fichiers ordinaires, bien qu'ils soient normalement invisibles pour l'utilisateur. Leur nom commence systématiquement par le caractère «$», ce qui permet de les distinguer des fichiers créés par les applications.

Ces métafichiers jouent un rôle fondamental dans le fonctionnement de NTFS. Ils décrivent la structure du volume, la localisation des données, les informations de sécurité, les journaux de transactions, les quotas de disque, les caractères Unicode, les points de réanalyse, les index des répertoires ainsi que de nombreux autres éléments essentiels. Sans eux, le système d'exploitation serait incapable de retrouver les fichiers présents sur la partition ou d'assurer l'intégrité des données après une interruption imprévue.

La plupart de ces informations sont entreposées dans des flux de données sans nom, accessibles uniquement au pilote NTFS. Bien que certains outils spécialisés permettent de consulter ces fichiers système, Windows empêche volontairement leur modification afin d'éviter toute corruption pouvant rendre la partition inutilisable. Cette architecture constitue l'une des principales raisons expliquant la robustesse et la fiabilité du système de fichiers NTFS.

Voici donc les principaux métafichiers :

Numéro de segment Nom du fichier Description
0 $MFT Ce fichier permet de décrire tous les fichiers dans le volume, incluant les noms de fichiers, les temps, les noms de flux de données, la liste des nombres d'unité d'allocation où les données de flux sont situés, les indexes, les identificateurs de sécurité et les attributs de fichiers comme en lecture seulement, compressé ou encrypté,...
1 $MFTMirr Ce fichier est un miroir du fichier «$MFT» et contient les premières entrées vitales.
2 $LogFile Ce fichier contient le journal de bord des transactions des changements de métadonnées du système de fichiers.
3 $Volume Ce fichier contient les informations à propos du volume, comme les identificateurs d'objet, le nom du volume, la version du système de fichiers, les drapeaux de volume (monté, requête CHKDSK, requête de taille $LogFile, monté dans NT 4, mise à jour de numéro de série de volume, requête de mise à jour de structure).
4 $AttrDef Ce fichier contient une table des attributs MFT associant les identificateurs numériques avec les noms.
5 . Ce fichier contient le répertoire racine, les données du répertoire sont entreposés dans les attributs $INDEX_ROOT et $INDEX_ALLOCATION nommé $I30.
6 $Bitmap Ce fichier contient un tableau d'entrées de bit indiquant les correspondances d'unité d'allocation utilisés (alloué) ou libre (disponible pour allocation).
7 $Boot Ce fichier contient un tableau d'entrées de bit indiquant les correspondances d'unité d'allocation utilisés (alloué) ou libre (disponible pour allocation).
8 $BadClus Ce fichier contient toutes les unités d'allocation marqué par de mauvais secteurs.
9 $Secure Ce fichier contient la base de données ACL (Access Control List) réduisant ainsi les passages aérien dans de nombreux ACL identiques entreposés dans chacun des fichiers et en les entreposant uniquement un fichier centralisé.
10 $UpCase Ce fichier contient une table de caractères majuscules Unicode assurant la conversion entre l'espace de nom DOS et Win32.
11 $Extend Ce fichier contient les informations d'extensions optionnel des dossiers du système de fichiers, comme le $Quota, $ObjId, $Reparse ou $UsnJrnl.
12 à 23 Ces numéros de segments sont réservés pour les entrées d'extension $MFT. Les entrées d'extensions sont enregistrements suppléments $MFT contenant les attributs additionnel ne pouvant entrée dans l'enregistrement primaire. Cette situation peut se produire lorsque les fichiers sont trop fragmentés, les noms de fichiers sont trop long, dans une sécurité complexe ou d'autres situations rarissime.
24 $Extend\$Quota Ce fichier contient les informations associé au quota d'un disque, soit deux racines d'index nommé $O et $Q.
25 $Extend\$ObjId Ce fichier contient les informations de pistage de liaison, soit une racine d'index et l'allocation nommé «$O».
26 $Extend\$Reparse Ce fichier contient les données de point de réanalyse comme les liens symboliques, soit la racine d'index et l'allocation nommé «$R».
27 et plus Ces numéros de segment permettent d'indiquer les entrées régulières de fichiers et accessible par toutes les applications.

Légende

    Cette couleur permet d'indiquer les informations sensibles nécessitant une attention particulière lors de l'analyse ou de la modification d'une partition NTFS. Toute modification incorrecte de ces champs peut compromettre le fonctionnement du volume et entraîner une perte de données.

Remarques

Voir également

Système d'exploitation - Windows - Nom de fichiers de format court (8.3 filename SFN) et de format long (LFN)
Système d'exploitation - OS/2 - Partition HPFS
Système d'exploitation - Linux - Les partitions Linux : Ext2, Ext3 & Ext4

Dernière mise à jour : Dimanche, le 22 juin 2014