NTFS
NTFS New Technology File System | |
Développeur | Microsoft |
---|---|
Nom anglais | New Technology File System |
Introduction | (Windows NT3.1) |
Identificateur de partition | 0x07 (MBR)[N 1] |
Structure | |
Contenu des répertoires | B+ tree |
Allocation de fichiers | B+ tree |
Mauvais blocs | B+ tree |
Limitations | |
Taille maximale de fichier | en pratique 16 Tio[1] (en théorie 16Eio). |
Nombre maximal de fichiers | 4 294 967 295 (232-1) |
Taille maximale du nom de fichiers | 255 caractères (UTF-16) |
Taille maximale de volume | en pratique 256Tio[1],[N 2] (en théorie 16Eio)[N 3] |
Caractères autorisés dans les noms de fichiers | Unicode(UTF-16), tout caractère à l'exception de "/" |
Fonctionnalités | |
Dates enregistrées | Création, modification, accès |
Plage de dates | 1erjanvier 1 - 28 mai 9999999 |
Forks | Oui (Alternate Data Streams,voir(en)Fork (filesystem)) |
Attributs | Lecture seule, caché, système, archive |
Permissions | ACL |
Compression intégrée | Par fichier,LZ77(à partir deWindows NT 3.51) |
Chiffrementintégré | Par fichier, DES-X(à partir deWindows 2000), Triple DES(à partir deWindows XP), AES(Windows XP Service Pack 1,Windows 2003et suivants)[2] |
modifier![]() |
NTFS(de l'anglaisNewTechnologyFileSystem) est unsystème de fichiersdéveloppé parMicrosoft Corporationpour sa famille desystèmes d'exploitationWindows NT,à partir deWindows NT 3.1,Windows 2000et utilisé depuis par tous leurs successeurs (XP,Server 2003,7,etc.).
NTFS est le successeur du système de fichiersFATcomme système de fichiers de prédilection des systèmes d'exploitationMicrosoft Windowsantérieurs. NTFS dispose de nombreuses améliorations techniques par rapport à la FAT et au HPFS (High Performance File System), comme un support amélioré desmétadonnées,et l'utilisation de structures de données avancées pour améliorer les performances, la fiabilité et l'utilisation de l'espace disque, ainsi que des extensions supplémentaires, telles que la liste de contrôle d'accès (ACL) et lajournalisation du système de fichiers.
Histoire
[modifier|modifier le code]Dans le milieu des années1980Microsoft etIBMont formé un projet conjoint visant à créer la prochaine génération desystème d'exploitationgraphique. Il en résultaOS/2,mais Microsoft et IBM, en désaccord sur de nombreux points, se sont finalement séparés. OS/2 est resté un projet d'IBM. Microsoft a commencé à travailler sur Windows NT. Le système de fichiers de OS/2,HPFS,comportait de nombreuses nouvelles fonctionnalités importantes. Lors de la création de son nouveau système d'exploitation, Microsoft a emprunté beaucoup de ces concepts pour NTFS[2].Probablement en raison de cette origine commune, NTFS et HPFS partagent le même code d'identification de type departitionnement de disque(07). Partager un identifiant est inhabituel, car il y avait des dizaines de codes disponibles, et d'autres systèmes de fichiers importants ont leur propre code. FAT en a plus de neuf (un pour chacune desFAT12,FAT16,FAT32,etc.). Des algorithmes permettant d'identifier le système de fichiers dans un type de partition 07 doivent effectuer des contrôles supplémentaires. Il est également clair que NTFS doit une partie de sa conception architecturale àFiles-11utilisé parVMS.Cela est sûrement dû au fait queDave Cutlerfut le chef principal des Windows NT et VMS à la fois.
Versions
[modifier|modifier le code]Le format sur disque de NTFS a cinq versions publiées:
- v1.0 avecWindows NT 3.1,publiée mi-1993;
- v1.1 avecWindows NT 3.5,publiée en automne 1994;
- v1.2 avecWindows NT 3.51(mi-1995) etWindows NT 4.0(mi-1996) (parfois dénommé « NTFS 4.0 » parce que la version du pilote du système de fichiers est la 4.0);
- v3.0 à partir deWindows 2000(« NTFS v5.0 » ou « NTFS5 »)[3];
- v3.1 à partir deWindows XP(automne 2001; « NTFS v5.1 »).
NTFS sous GNU/linux
[modifier|modifier le code]NTFS est peu documenté, à dessein selon certains, car, pour cette raison, et aussi du fait que l'on n'avait pas pu réaliser derétroconceptioncomplète à son sujet, lespilotesGNU/Linuxn'y donnaient accès qu'en lecture et partiellement en écriture jusqu'à l'arrivée du pilote libreNTFS-3G.Celui-ci n'est pas complet, mais permet des lectures/écritures sur du NTFS.
Historique des pilotes (pour permettre l'accès et l'écriture sur des partitions NTFS noncompressées):
- Le premier pilote Linux est un module de noyau nommé NTFS qui ne permet que la lecture et l'écriture en mode remplacement seulement (considéré comme stable depuis le noyau 2.6.15), mais ni la création, ni la suppression de fichiers. Ce pilote est désormais bloqué par défaut par la plupart des distributions Linux, ce pilote n'étant plus considéré comme activement maintenu.
- Le deuxième pilote est un pilote de type fuse nomméCaptive NTFS.Il est beaucoup plus lent, mais permet la lecture et l'écriture de manière plus sûre pour la partition. Il s'agit techniquement d'une encapsulation de laDLLWindows. Ce pilote est connu pour de gros bugs, comme des plantages sur l'écriture de gros fichiers. Ce pilote est lui aussi déprécié à la suite de l'arrivée de NTFS-3G.
- La sociétéParagonoffre des solutions commerciales de pilotes de noyau NTFS pour les systèmes *nix (Linux,MacOS), supportant notamment la journalisation.
- La sociétéTuxera(en)offre aussi des solutions commerciales.
- Le pilote libreNTFS-3G,en version stable 1.0 depuis le,permet une écriture fiable et la création de fichiers sur les partitions NTFS. Toutefois, NTFS-3G n'est pas un pilote de noyau, il s'agit d'un pilote fuse. À ce titre, même s'il a atteint un bon degré de fiabilité au point de devenir la solution par défaut dans les distributions, comme tout pilote fuse, il souffre de lenteurs, de certaines restrictions inhérentes au système fuse. Il permet de rejouer le journal NTFS, mais ne supporte pas de réelle journalisation qui est un des grands intérêts de NTFS. Il n'offre donc pas encore toute la sécurité et la vélocité de certaines solutions commerciales.
- La sociétéParagona annoncé vouloir développer des pilotes de noyau libre, compatible avec la licence GNU/Linux (à ce titre distincte de son offre commerciale), en remplacement du vieux pilote de module susmentionné. Ces travaux ont été soumis aux équipes de développement du noyau, Paragon s'engageant à en effectuer le suivi et le développement. Courant 2021, ce pilote a été officiellement intégré dans lenoyau Linux5.15 sous le nom de module NTFS3 afin de le distinguer du précédent[4].Ce pilote supporte la lecture, l'écriture, il est capable, comme NTFS-3G de rejouer le journal. En tant que pilote de noyau, Il est nettement plus rapide que fuse NTFS-3G, et implémente plus de fonctionnalités. Ce pilote devrait rapidement éclipser NTFS-3G dès lors que le noyau 5.15 se diffusera dans les distributions Linux les plus courantes. À ce jour, il ne supporte pas encore la pleine journalisation, mais selon la page de référence du noyau Linux, il semble qu'il soit prévu de développer une journalisation à travers le "Journal Block Device" (JBD) (se référer à la "todo list" ). Lorsque cette journalisation sera implémentée, le système NTFS pourra être utilisé sous des environnements Linux libres dans des contextes plus intensifs, avec un niveau de sécurité très satisfaisant qui s'approchera d'un comportement natif sous Microsoft Windows.
Réparation spontanée
[modifier|modifier le code]Les corruptions de données augmentant proportionnellement au volume des données, il devenait trop long et fréquent de lancer manuellement des réparations du système de fichier (chkdsk).
C'est pourquoi Microsoft a implémenté la réparation spontanée NTFS sur tous ses systèmes d'exploitation depuisWindows Server 2008[5].
Taille de bloc
[modifier|modifier le code]La taille des blocs (cluster) d'un volume NTFS est définie lors du formatage (entre 512 octets et 64 kilooctets). Si l'utilisateur ne précise pas la taille de bloc demandée, lavaleur par défautest en fonction de la taille du volume[6]:
Taille du volume | Taille de bloc |
---|---|
7 Mo - 512 Mo | 512 octets |
512 - 1024 Mo | 1 Ko |
1024 Mo - 2 Go | 2 Ko |
2 Go - 2 To | 4 Ko |
Notes et références
[modifier|modifier le code]Notes
[modifier|modifier le code]- EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
- Limites s'appliquant àWindows 2000 (SP4),XP (SP1+) etWindows Server2003(lié aux implémentations de NTFS dans ses systèmes d'exploitation, sans sesService Packs,la limite est encore moindre - puisqu'on se retrouve limité au modèle d'adressage« LBA28 bits »- soit 128Gio). Ses limites sont liées au nombre maximum declusters(232- 1pour la taille maximale de volume, et228- 1pour la taille maximale de fichier), combinée avec la taille maximale d'uncluster,actuellement fixée à 64Kio,c'est-à-dire un regroupement de maximum 128 (27) secteurs physiques de 512 bytes.
- Soit 264clusters- 1, possibles d'après l'architecture théorique de NTFS.
Références
[modifier|modifier le code]- (en)Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé«NTFS»(voir la liste des auteurs).
- (en)«How NTFS Works»,surTechNET de Microsoft(version dusurInternet Archive).
- (en)«Overview and history of NTFS»,sur le site pcguide.com.
- «Inside Win2K NTFS, Part 1», Microsoft,.
- «NTFS3 — The Linux Kernel documentation», surwww.kernel.org(consulté le)
- « Réparation spontanée NTFS »,technet.microsoft.com.
- (en)How NTFS Works,sur le site microsoft.com, consulté le 21 aout 2015
Voir aussi
[modifier|modifier le code]Articles connexes
[modifier|modifier le code]Liens externes
[modifier|modifier le code]- (en)«How NTFS Works»,sur le site de Microsoft
- (en)NtfsDisableLastAccessUpdate par Microsoft,sur le site microsoft.com
- (en)Pilote Captive,sur le site jankratochvil.net