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 :

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"

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