|
Résumé
La conversion d'une partition de
disque du système de fichiers FAT en NTFS requiert une certaine quantité
d'espace disque disponible afin de créer les structures de disque NTFS.
Cet article décrit le processus utilisé par Convert.exe pour convertir
FAT en NTFS et précise l'espace nécessaire à la conversion.
Plus
d'informations
Les systèmes FAT et NTFS utilisent
des structures sur disque très différentes pour représenter l'espace
alloué aux fichiers. Ces structures sont souvent désignées sous le
nom de métadonnées ou charge du système de fichiers.
Les métadonnées du système de fichiers FAT se composent d'un secteur
de démarrage, d'une ou de plusieurs tables d'allocation des fichiers,
d'une structure de répertoire racine de taille fixe et d'une quantité
variable d'espace pour chaque sous-répertoire dont la taille dépend du
nombre de fichiers qu'il contient.
Un autre type de charge associé à FAT et NTFS est lié au fait que les
deux systèmes de fichiers allouent de l'espace disque aux clusters de
taille fixe. La taille exacte de ces unités d'allocation ou clusters
est déterminée au moment du formatage et les valeurs par défaut dépendent
de la taille du volume. La taille par défaut d'un cluster pour NTFS est
inférieure à celle pour FAT sur des volumes de taille similaire.
Comme l'espace des données de fichier peut seulement être alloué en
termes de clusters entiers, même un fichier d'un octet occupe un espace
disque équivalent à un cluster sur un volume FAT. Bien que similaire,
la situation est légèrement plus complexe sur un système NTFS, mais
elle ne sera pas approfondie dans cet article.
Comme FAT, NTFS dispose d'une certaine charge de taille fixe et par
fichier. Pour prendre en charge les fonctionnalités avancées de NTFS
(telles que la capacité de récupération, la sécurité, la gestion de
très grands volumes, etc.) la charge des métadonnées NTFS est un peu
plus importante que celle des métadonnées FAT. D'un autre côté, la
charge des clusters NTFS étant inférieure à celle des clusters FAT,
il est souvent possible de stocker autant, sinon plus, de données sur
un volume NTFS que sur un volume FAT, même sans utiliser la compression
de fichiers NTFS.
En vue de se protéger contre le risque d'endommagement causé par une défaillance
lors de la conversion, Convert.exe doit créer les métadonnées NTFS en
occupant uniquement l'espace que le système de fichiers FAT considère
comme disponible. Ainsi, si la conversion échoue, la représentation
FAT des fichiers utilisateur reste valide. L'obligation pour un secteur
de données NTFS d'occuper un emplacement spécifique du disque et pour
les autres structures d'occuper, en nombre très limité, les secteurs
contigus vient compliquer cette stratégie.
Les grandes étapes du processus de conversion sont présentées
ci-dessous :
- Créez
des trous (c'est-à-dire réallouez des clusters FAT) pour la
structure NTFS à emplacement fixe et les autres données contiguës
(le cas échéant), puis enregistrez le nouveau volume FAT. Par
exemple, si les secteurs requis ne peuvent être libérés parce
qu'ils ne sont pas lisibles, le processus de conversion échoue et
le volume FAT reste dans l'état dans lequel il se trouvait avant la
tentative de conversion.
- Créez
des structures de données élémentaires NTFS dans l'espace libre
FAT. Il s'agit des tables et des structures de taille fixe communes
à tous les volumes NTFS. La taille de ces tables peut varier en
fonction de la taille du volume, mais elle ne dépend pas du nombre
de fichiers contenus dans celui-ci.
- Créez
la table de fichiers maître et les listes de répertoires NTFS dans
l'espace disponible FAT. L'espace nécessaire à cette étape varie
et dépend du nombre total de fichiers contenus sur le volume FAT.
- Dans
la bitmap NTFS, marquez comme libres les clusters NTFS utilisés par
les structures FAT. Lorsque la conversion est terminée, la charge
des métadonnées FAT peut être réaffectée à NTFS en tant
qu'espace libre.
- Écrivez
le secteur de démarrage NTFS. Il s'agit de la dernière étape qui
permet au volume d'être reconnu comme NTFS au lieu de FAT. Si la
conversion échoue au cours d'une des étapes précédant celle-ci,
le volume reste un volume FAT valide et il est reconnu en tant que
tel.
Comme une panne peut intervenir à
tout moment, le processus décrit plus haut minimise les risques
d'endommagement du disque.
REMARQUE : Les écritures s'effectuant presque toutes dans l'espace
libre FAT, le système FAT est donc préservé en cas de panne.
Les seuls cas où des données sont écrites dans l'espace occupé (par
exemple, l'enregistrement des heures auxquelles une défaillance peut
entraîner des problèmes) sont :
- À
la fin de la première étape, lorsque la commande CONVERT remplace
le FAT. L'algorithme permettant de réallouer des clusters assure
que, si une défaillance se produit au cours de cette étape, CHKDSK
pourra réparer le disque sans perte de données.
- À
l'étape 5, lors de l'écriture du secteur de démarrage. Si une défaillance
se produit au cours de cette étape et que le volume converti est la
partition système (la partition principale active utilisée pour démarrer
le système), le système risque d'être laissé dans un état lui
interdisant de démarrer. Dans l'hypothèse improbable que cette
situation se produise, le système devrait encore pouvoir être démarré
à l'aide d'une disquette de démarrage.
Convert.exe effectue un calcul fondé
sur le nombre de fichiers préexistants sur le volume FAT et la taille
du volume FAT pour déterminer la quantité d'espace libre nécessaire
avant de lancer le processus de conversion. Pour un matériel standard
(des disques durs contenant 512 octets par secteur), le calcul est le
suivant :
- Commencez
par noter la taille du volume, en octets et divisez-la par 100. Si
la valeur que vous obtenez est inférieure à 1 048 576, utilisez 1
048 576. Si elle est supérieure à 4 194 304, utilisez 4 194 304.
- Ajoutez
à la valeur précédente la taille du volume en octets divisée par
803.
- Ajoutez
à la valeur précédente le nombre de fichiers et de répertoires
présents sur le volume multiplié par 1 280.
- Ajoutez
196 096 à la valeur précédente.
Outre le calcul présenté ci-dessus,
si le volume FAT contient des informations d'attributs étendus,
Convert.exe tient compte de l'espace supplémentaire requis.
Normalement, le système ne doit pas contenir d'informations d'attributs
étendus. Ce cas est seulement à prendre en compte si le système a exécuté
OS/2 à l'aide d'attributs étendus.
Le calcul ci-dessus reflète fidèlement celui effectué par
Convert.exe. Les résultats exacts obtenus peuvent différer légèrement
selon le système considéré.
REMARQUE : Il s'agit de l'espace libre requis par Convert.exe avant la
tentative de conversion. Le calcul prévoit de l'espace supplémentaire
au cas où l'espace disponible FAT contiendrait des secteurs endommagés.
Toutefois, si un volume dispose d'un espace libre juste suffisant pour réaliser
la conversion et qu'une fraction significative de l'espace du lecteur
s'avère inutilisable, le processus de conversion risque d'échouer.
Comme il a été indiqué précédemment, cette défaillance ne devrait
pas entraîner un endommagement du disque. Le volume retrouve
automatiquement son état d'origine et il est reconnu en tant que volume
FAT.
|