OVH Cloud OVH Cloud

FAT (File Allocation Table)

5 réponses
Avatar
Thierry59
Plusieurs questions sur la FAT... ( FAT16 par ex)

Comment voir les données contenu dans une FAT? existe t'il un logiciel sous
windows?

si non, ou taper dans la memoire, si je fais un petit programme avec un
pointeur du type FAR ?
ou quelle commande utiliser dans le DEBUG du DOS..

peut etre existe t'il une documentation sur le format d'une FAT....

D'avance merci pour vos aides

5 réponses

Avatar
Jean-Claude BELLAMY
Dans le message news:clgf4l$1jv$ ,
Thierry59 s'est ainsi exprimé:

Plusieurs questions sur la FAT... ( FAT16 par ex)

Comment voir les données contenu dans une FAT? existe t'il un
logiciel sous windows?
Oui, DSKPROBE (éditeur hexadécimal de disque)


"DSKPROBE" est fourni sur le CD de W2K et au delà (Peu d'utilisateurs de
Windows le savent!)

Autrefois, cet outil était livré uniquement avec le Resource Kit de NT
(payant)
Il est contenu dans le fichier x:SUPPORTTOOLSSUPPORT.CAB
("x" étant la lettre du lecteur de CD)

Extraire dans un dossier quelconque les fichiers suivants :
dskprobe.exe
dskprobe.hlp
dskprobe.cnt
dskprtrb.doc

si non, ou taper dans la memoire, si je fais un petit programme avec
un pointeur du type FAR ?
ou quelle commande utiliser dans le DEBUG du DOS..

peut etre existe t'il une documentation sur le format d'une FAT....
En ce qui concerne le secteur de boot :

http://www.bellamyjc.org/fr/theoriemultiboot2.html#FAT16
http://www.bellamyjc.org/fr/theoriemultiboot2.html#FAT32

Une partion FAT est constitué :de :
- 1 ou 2 secteurs de boot
- n secteurs contenant la FAT
(dépend de la taille de la partition)
- (en principe) une copie de la FAT
- le répertoire racine
- les fichiers

Les FAT suivent le secteur de boot dans les FAT12, FAT16 et FAT32, mais se
trouvent à la fin de la partition dans le cas d'une FAT32X (au delà de 8
Go), ce qui permet une taille "élastique")

Les champs concernés du secteur de boot donnent la géométrie exacte.
(cf mon site)

Les 3 premiers octets de la FAT sont réservés, et indiquent le type de
support (F8 00 00 = disque dur, FA 00 00 = disquette 3"1/2 1.44Mo,...).
Donc la FAT proprement dite démarre à l'offset 3 (+ les 512 octets du
secteur de boot)

Exemple : soit un fichier de 42 ko dont le n° du 1er cluster (indiqué dans
l'entrée du répertoire correspondant) est 3F28, avec des clusters de 8 ko (=
16 secteurs, soit "10" en hexadécimal).
Ce fichier va donc utiliser 6 clusters.

Le système de fichier va donc pouvoir accéder directement aux 16 1ers
secteurs du fichier par un subtil calcul d'addition et de multiplication :
il sait où "démarrent" les fichiers (Sdeb = le secteur situé juste après la
fin du répertoire racine), donc il ajoute à cette adresse 3F28 x 10 (en
hexa).

Mais là il ne trouve que les 16 1ers secteurs. Les 16 suivants sont
peut-être juste après (si le disque n'est pas fragmenté), mais rien n'est
moins sûr que ce qui est plus incertain !
Donc le système de fichiers va aller "lire" ce qu'il y a à l'offset 3 + 3F28
x 2 (j'ai pris le cas d'une FAT16, dans laquelle un n° de cluster
est codé sur 2 octets). Et là il trouve la valeur "3F29" (coup de bol!).

Il va donc lire les 16 secteurs situés en Sdeb + 3F29 x 10
Puis dans la FAT, à l'offset 3 + 3F29 x 2, il trouve p.ex. 42A0 (il y a eu
fragmentation du fichier) , il va lire la suite du fichier sur le disque en
Sdeb + 42A0 x 2, puis va consulter la FAT en 3 + 42A0 x 2, et ainsi de
suite...

Dès que le contenu du mot de la FAT vaut entre FFF8 et FFFF, cela signifie
que c'est le dernier cluster du fichier. Dans mon exemple, le système de
fichier va lire 16 secteurs (8ko) , mais pour le "remplissage du fichier" il
n'y aura que 2 ko réellement utiles (42 ko = 5 x 8 + 2).
Le système de fichier connait la taille du fichier car elle est indiquée
dans l'entrée du répertoire (dont il sait à quel endroit du dernier cluster
il doit arrêter la lecture).

Certaines valeurs des mots de la FAT ont une signification spéciale :
0000 : le cluster est libre
Cette valeur est mise à profit par le système de fichier quand il a besoin
de crééer un nouveau fichier. Il va "à la pêche" de tous les "0000"
disponibles dans la FAT.
FFF7 : le cluster est défectueux (inutilisé et inutilisable)
FFF0 à FFF6 : réservé



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org *


Avatar
Thierry59
j'ai trouvé un tres bon programme qui affiche les data d'une unitée (
disque dur, disquette.... )
son nom est WINHEX...

maintenant je cherche des examples d'utilisation de FAT16 par ex.

D'avance merci.



"Thierry59" a écrit dans le message de
news:clgf4l$1jv$
Plusieurs questions sur la FAT... ( FAT16 par ex)

Comment voir les données contenu dans une FAT? existe t'il un logiciel
sous

windows?

si non, ou taper dans la memoire, si je fais un petit programme avec un
pointeur du type FAR ?
ou quelle commande utiliser dans le DEBUG du DOS..

peut etre existe t'il une documentation sur le format d'une FAT....

D'avance merci pour vos aides







Avatar
jean dupont
Thierry59 wrote:
Plusieurs questions sur la FAT... ( FAT16 par ex)

Comment voir les données contenu dans une FAT? existe t'il un logiciel sous
windows?

si non, ou taper dans la memoire, si je fais un petit programme avec un
pointeur du type FAR ?
ou quelle commande utiliser dans le DEBUG du DOS..

Chaque partition possède une FAT qui se situe après le secteur de boot

sous debug, tu peux utiliser par exemple la commande: l 100 2 1 10 pour
lire les 16 premiers secteurs de la FAT (dans le cas d'une FAT16) de la
partition C. Pour la visualiser tu tapes: d 100
En bref, le système de fichier FAT découpe le disque dur en cluster
(nombre entier de secteur, la taille d'un cluster est définie dans le
secteur de boot). La FAT est constituée d'un tableau d'entier (16 bits
en FAT16, 32 bits en FAT32,12 bits en FAT12), une entrée pour chaque
cluster de la partition. Pour la FAT16, la valeur 0 signifie que le
cluster est libre, la valeur FFFFh indique le dernier cluster d'un
fichier, sinon l'entrée pointe sur le cluster suivant.


peut etre existe t'il une documentation sur le format d'une FAT....

tu peux lire PC programation systéme editeur Micro Application

D'avance merci pour vos aides







Avatar
Didier Lequesme
Es-tu Thierry de Lucent Technologie ?
"Thierry59" a écrit dans le message de news:
clgf4l$1jv$
Plusieurs questions sur la FAT... ( FAT16 par ex)

Comment voir les données contenu dans une FAT? existe t'il un logiciel
sous
windows?

si non, ou taper dans la memoire, si je fais un petit programme avec un
pointeur du type FAR ?
ou quelle commande utiliser dans le DEBUG du DOS..

peut etre existe t'il une documentation sur le format d'une FAT....

D'avance merci pour vos aides







Avatar
Thierry59
non, pas du tous. Thierry, du nord de france....
l'un de mes sites: www.rackanous.fr.st/index.php?id=nfr_comp_dev


"Didier Lequesme" a écrit dans le message de
news:clqbns$m51$
Es-tu Thierry de Lucent Technologie ?
"Thierry59" a écrit dans le message de
news:

clgf4l$1jv$
Plusieurs questions sur la FAT... ( FAT16 par ex)

Comment voir les données contenu dans une FAT? existe t'il un logiciel
sous
windows?

si non, ou taper dans la memoire, si je fais un petit programme avec un
pointeur du type FAR ?
ou quelle commande utiliser dans le DEBUG du DOS..

peut etre existe t'il une documentation sur le format d'une FAT....

D'avance merci pour vos aides