Complément d'informations sur les noms LFN

Depuis l'apparition de Win9x, les noms de fichiers peuvent dépasser les 8 caractères. Mais comment cela est-il géré par le SGF FAT ? Les fichiers avec un nom de fichier long (Long File Name) peuvent occuper plusieurs entrées dans la Root Directory. Cette page a pour objectif de vous donner un aperçu de cette gestion


Entrée dans la root directory - fichier Long File Name (LFN)

Voici un extrait d'un des secteurs de la root directory :

Nom court Suite et fin

Chaque entrée est sur 32 octets. Ici, nous sommes en présence d'un nom de fichier long appelé 'Nouveau Document texte.txt'. Une entrée est générée avec un nom de fichier court 'NOUVEA~1.TXT'. Cela correspond aux octets situés de l'offset 40h à 5Fh. Puis en remontant, nous trouvons les entrées occupées par le nom de fichier long. Sachant que dans une entrée de 32 octets, il n'est possible de stocker que 13 caractères du nom long, il faut plusieurs entrées pour stocker toutes les lettres composant le long file name. Dans notre exemple, le nom de fichier LFN étant sur 26 caractères (extension comprise), nous aurons besoin de 2 entrées. La première (qui contient les 13 premiers caractères du LFN) s'étend des offset 20h à 3Fh. L'entrée suivante est juste au dessus, de 00h à 1Fh. A chaque fois, les entrées LFN sont empilées sur l'entrée DOS 8+3.

Cliquer sur l'un des rectangles pour connaître le rôle des zones figurant dans cette entrée. La numérotation sera relative par rapport au début des octets de l'entrée.

 


L'entrée NOM COURT généré

 L'entrée nom court respecte la description standard des noms DOS 8+3.


L'entrée Long File Name

 L'entrée LFN s'étend sur 32 octets MAIS, le rôle de ces octets est différent de ceux d'une entrée standard des noms DOS 8+3..


1 ère entrée LFN pour "Nouveau Document texte.txt"

2 caractères Premier cluster 6car 6 caractères Test Réservé Attribut 5 caractères Octet Séquence

Cliquer sur les rectangles (vert/orange) pour voir le rôle des octets.


2 ème et dernière entrée LFN pour "Nouveau Document texte.txt"

Cliquer sur les rectangles (vert/orange) pour voir le rôle des octets.


Entrée 1

Explications

Entrée 2

Octet Séquence

01h

 

Octet Séquence. Nombre hexadécimal spécifiant l'ordre de lecture des entrées LFN. Les 5 bits de poids faibles indiquent le numéro d'ordre. (donc valeur allant de 1 à 31 en décimal). Le bit de poids 6 est mis à '1' quand l'entrée est la dernière.

Ainsi, à gauche, pour l'entrée 1, l'octet séquence est à 01h, donc nous sommes en présence de la première entrée.

A droite, pour l'entrée 2, l'octet séquence est à 42h soit en binaire 0100 0010. Donc nous sommes en présence de la deuxième entrée (0000102 = 210). C'est la dernière, car le bit de poids 6 est à '1'.

42h

 

 

5 caractères du nom

4E006F00750076006500

Nouve

 

Dans la première entrée, cela correspond aux 5 premiers caractères du Long File Name sur 10 octets. Les codifications utilisent l'UNICODE. Pour les entrées suivantes, ces octets permettent de 'stocker' les caractères suivants si nécessaires.

A gauche, pour l'entrée 1, cela donne le début du nom du fichier.

A droite, pour l'entrée 2, nous avons la suite des caractères du nom du fichier. 

65006E00740020007400

ent t

 

Attribut

0F

 

Cet octet qui sert pour définir les attributs dans le cadre des noms DOS 8+3 est toujours initialisé à 0Fh dans les entrées LFN

0F

 

Octet réservé

00

 

Cet octet est réservé.

00

 

Octet réservé

6F

 

Cet octet est réservé pour un test de contrôle.

6F

 

6 caractères du nom

61007500200044006F006300

au Doc

 

Cela correspond aux 6 caractères suivants du Long File Name sur 12 octets (toujours en UNICODE)

65007800740065002E007400

exte.t

 

Premier cluster

0000

 

Ces 2 octets qui servent pour définir le numéro du premier cluster dans le cadre des noms DOS 8+3 sont initialisés à 0000h dans les entrées LFN

0000

 

2 caractères du nom

75006D00

um

 

Cela correspond éventuellement à 2 autres caractères du Long File Name sur 4 octets (toujours en UNICODE)

78007400

xt