120 votes

Comment la taille d'un fichier sur le disque peut-elle être de 0 octet alors qu'il contient des données ?

J'ai un fichier dans Windows 10 avec 362 octets de données, mais la "taille sur le disque" est juste 0 octets. Il s'agit d'un simple programme "Hello world" écrit en assembleur, et enregistré dans le fichier Notepad++ .

Comment est-il possible que la taille sur le disque soit nulle alors que la taille du fichier est de 362 octets ?

J'ai un SSD, pas un disque dur normal.

Capture d'écran de la boîte de dialogue Propriétés :

Screenshot of the Properties dialog

177voto

Ben N Points 38070

Cela se produit si le fichier est si petit que son contenu et la comptabilité du système de fichiers tiennent dans 1KB. Pour économiser l'espace disque, NTFS garde les petits fichiers "résidents", en stockant leur contenu directement dans l'enregistrement du fichier, de sorte qu'aucun cluster ne doit être alloué pour lui. Par conséquent, la taille sur le disque est nulle car il n'y a rien au-delà de l'enregistrement du fichier. Une fois que le fichier devient suffisamment grand, NTFS le rend "non résident", lui alloue un ou plusieurs clusters (créant ainsi une "taille sur le disque" non nulle), et crée une "paire de mappage" dans l'enregistrement du fichier à la place des données pour pointer vers le cluster.

Les disques durs SSD ou Windows 10 n'ont aucune incidence sur ce point ; il s'agit simplement d'une fonctionnalité NTFS. Pour en savoir plus : Les quatre étapes de la croissance des fichiers NTFS .

Notez que la mesure de la "taille sur le disque" n'est pas tout à fait exacte. Par exemple, elle n'inclut jamais le 1 Ko constant que prend l'enregistrement du fichier NTFS. Cette mesure a été introduite dans Windows 95, qui n'utilisait pas NTFS et ne pouvait donc pas tenir compte de ce phénomène ; elle indiquait simplement la taille du fichier arrondie au multiple suivant de la taille du cluster. Cet algorithme d'estimation a été conservé jusqu'à Windows 7, même si de nombreuses versions de Windows entre ces deux versions utilisaient NTFS et le stockage résident. Il a finalement été mis à jour dans Windows 8 pour compter les fichiers contenant uniquement des données résidentes comme étant de taille nulle sur le disque. Pour en savoir plus : Qu'est-ce que la "taille sur disque" ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X