> Tech > Montage de systèmes de fichiers

Montage de systèmes de fichiers

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Le fait que Windows NT affecte une lettre d'unité à  une partition ne signifie pas que la partition contient des données organisées selon un format de système de fichiers (file system) reconnu par NT. Le processus de reconnaissance revient à  ce que le système de fichier revendique la propriété de

la partition. Ce processus
se produit la première fois que le kernel, un driver de périphérique ou une application
accède à  un fichier ou au répertoire d’une partition.

Dès lors qu’un pilote de file system a signalé qu’il est responsable d’une partition,
le Gestionnaire d’E/S dirige tous les IRP pour cette partition vers ce driver.
Les opérations de montage de système de fichier dans NT 4.0 comprennent trois
composants : l’enregistrement des pilotes du file system, les Volume Parameter
Blocks (VPB) et les requêtes de montage.

Le Gestionnaire d’E/S survole le processus de montage et connaît les pilotes de
systèmes de fichiers disponibles car tous les pilotes de systèmes de fichiers
s’enregistrent auprès du Gestionnaire d’E/S lorsqu’ils s’initialisent. Le Gestionnaire
d’E/S fournit la fonction IoRegisterFileSystem aux pilotes du système de fichiers
du disque local pour qu’il puisse s’enregistrer.
Lorsqu’un pilote de système de fichiers s’enregistre, le Gestionnaire d’E/S enregistre
une référence à  ce pilote dans une liste qu’il utilise au cours des opérations
de montage.

Chaque objet d’unité contient une structure de données VPB, mais le Gestionnaire
d’E/S ne prend en compte les VPB que pour les objets d’unités de partitions. Un
VPB sert de lien entre l’objet d’unité d’une partition et l’objet d’unité créé
par le pilote de système de fichier pour représenter une instance de système de
fichiers monté pour cette partition. Si la référence au système de fichiers d’un
VPB est vide, alors la partition n’a pas été montée par un système de fichiers.

Le Gestionnaire d’E/S vérifie le VPB de l’objet d’unité de partition à  chaque
fois qu’une API spécifiant un nom de fichier ou de répertoire d’exécute. Par exemple,
si le Gestionnaire d’E/S affecte la lettre d’unité D à  la seconde partition du
premier disque d’un système, IoAssigneDriveLetters crée un lien symbolique \??\D:
aboutissant à  l’objet d’unité \device\harddisk0\partition2. Une application Win32,
tentant d’ouvrir le fichier \test sur D, spécifie le nom D:\test, ce que le sous-système
Win32 convertit en \??\D:\test. Win32 invoque alors NtcreateFile, la routine du
kernel pour l’ouverture de fichiers. NtCreateFile utilise le Gestionnaire d’objets
pour convertir le nom, et le Gestionnaire d’objets associe l’objet d’unité \device\harddisk0\partition2
au chemin \test toujours non élucidé.

A ce stade, le Gestionnaire d’E/S vérifie si le VPB de \device\harddisk0\partition2
est la référence d’un système de fichiers. Si ce n’est pas le cas, le Gestionnaire
d’E/S utilise une requête de montage pour demander à  chaque pilote de système
de fichiers enregistré s’il reconnaît le format de la partition en question comme
sien. Si un pilote de système de fichiers répond par l’affirmative, le Gestionnaire
d’E/S remplit le VPB et passe la requête d’ouverture avec le reste du chemin (c’est
à  dire \test) vers le pilote de système de fichiers. Le driver complète la requête
en utilisant son format de système de fichiers pour interpréter le données stockées
dans la partition. Une fois que le montage a rempli le VPB de l’objet d’unité
de partition, le Gestionnaire d’E/S transfert les requêtes destinées à  la partition
au pilote de système de fichiers monté.

Si aucun pilote de système de fichiers ne revendique la partition, alors RAW –
pilote un système de fichiers intégré à  NT – réclame la propriété de la partition
et empêche toute requête d’ouverture de fichiers sur la partition. La figure 2
montre un exemple simplifié (c’est à  dire qu’elle omet les interactions du pilote
de système de fichiers avec le Gestionnaire de cache) du chemin suivi par les
entrées/sorties dirigées vers une partition montée.

Hormis le volume d’initialisation qu’un driver monte au cours de l’initialisation
du kernel, les pilotes de systèmes de fichiers montent la plupart des volumes
lorsque Chkdsk tourne, pendant la partie écran bleu de l’initialisation. Chkdsk
accède à  toutes les lettres d’unités afin de vérifier si le volume associé avec
la lettre nécessite un contrôle de cohérence.
Dans le cas des supports amovibles (comme par exemple une disquette), le montage
peut se produire plusieurs fois sur un même disque. CDFS (CD-ROM File System)
et FAT, les deux pilotes de système de fichiers de NT pour les supports amovibles,
répondent aux changements de supports en interrogeant l’identificateur de volume
du disque. Si un de ces deux drivers constate un changement d’identificateur de
volume, le pilote démonte le disque et tente de le remonter.

Téléchargez cette ressource

Comment sécuriser une PME avec l’approche par les risques ?

Comment sécuriser une PME avec l’approche par les risques ?

Disposant de moyens financiers et humains contraints, les PME éprouvent des difficultés à mettre en place une véritable stratégie de cybersécurité. Opérateur de services et d’infrastructures, Naitways leur propose une approche pragmatique de sécurité « by design » en priorisant les risques auxquelles elles sont confrontées.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010