Description des nouveaux interrupteurs /C et /I qui peuvent être utilisés avec Chkdsk.exe

Traductions disponibles Traductions disponibles
Numéro d'article: 314835 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F314835
Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).
Pour vous procurer une version Microsoft Windows 2000 et Microsoft Windows NT 4.0 de cet article, reportez-vous à l'article 187941.
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article décrit deux nouveaux commutateurs, les commutateurs /C et /I qui sont inclus dans le programme CHKDSK dans Windows XP. Ces commutateurs permettent d'améliorer la gestion du temps mort lors de l'exécution de CHKDSK ou AUTOCHK.

Avertissement Microsoft recommande de ne pas interrompre le processus CHKDSK lorsqu'il est utilisé avec le commutateur /f. Microsoft ne garantit pas l'intégrité du disque si le programme CHKDSK est interrompu.

Plus d'informations

Chkdsk.exe est l'interface de ligne de commande pour le programme CHKDSK, qui vérifie l'intégrité logique d'un système de fichiers. Si CHKDSK trouve des incohérences logiques dans les données du système de fichiers, il exécute certaines actions pour réparer ces données (si elles ne sont pas en mode lecture seule).

Les commutateurs /C et /I sont uniquement valides pour un lecteur formaté dans le système de fichiers NTFS. Chacun des nouveaux commutateurs indique au programme CHKDSK d'ignorer certaines actions que CHKDSK effectuerait normalement pour valider l'intégrité des structures de données NTFS.

Si vous exécutez CHKDSK en ligne, le code qui effectue la vérification réside dans des DLL utilitaires, par exemple Untfs.dll et Ufat.dll. Les routines de vérification que CHKDSK appelle sont les mêmes que celles exécutées lors de la vérification d'un volume par l'intermédiaire de l'Explorateur Windows ou de l'interface graphique utilisateur de Gestion des disques.

Toutefois, si CHKDSK est planifié pour être exécuté lorsque l'ordinateur redémarre, le module binaire qui contient le code de vérification est Autochk.exe, un programme Windows natif. Étant donné que le programme Autochk.exe s'exécute tôt dans la séquence de démarrage de l'ordinateur, il ne bénéficie pas de la mémoire virtuelle ni d'autres services Win32.

Autochk.exe génère le même type de sortie de texte que celle générée par les DLL utilitaires de Chkdsk.exe. Autochk.exe affiche cette sortie de texte pendant le processus de démarrage et enregistre en outre un événement dans le journal des événements Applications. Les informations enregistrées incluent la plus grande partie de la sortie de texte pouvant être enregistrée dans le tampon des données du journal des événements.

Étant donné qu'Autochk.exe et le code de vérification des DLL utilitaires de Chkdsk.exe sont basés sur le même code source, le reste de cet article utilise le terme "CHKDSK" pour se référer génériquement à Autochk.exe ou à Chkdsk.exe. De même, étant donné que cet article aborde uniquement les modifications CHKDSK qui impliquent des volumes NTFS, toute instruction indiquant « CHKDSK effectue ... » doit être interprétée comme « CHKDSK effectue ... lorsque CHKDSK s'exécute sur un volume NTFS ».

Notez que si vous utilisez les commutateurs /C et /I, il est possible qu'un volume soit endommagé même après l'exécution de CHKDSK. Par conséquent, il est recommandé de n'utiliser ces commutateurs que si le temps mort doit être minimisé. Ces commutateurs sont prévus pour des situations dans lesquelles vous devez exécuter CHKDSK sur des volumes de taille très importante et vous avez besoin de souplesse pour gérer le temps mort.

Pour déterminer quand il peut être approprié d'utiliser les commutateurs /C et /I, vous devez connaître certaines des structures de données NTFS internes ainsi que les types d'endommagement possibles, les mesures prises par CHKDSK lors de la vérification d'un volume, et les conséquences potentielles si vous contournez les étapes de vérification habituelles de CHKDSK.

Fonctionnement de CHKDSK

L'activité de CHKDSK est divisée en trois phases majeures, au cours desquelles CHKDSK examine toutes les métadonnées sur le volume, et une quatrième phase facultative.

Les métadonnées sont des « données à propos des données ». Les métadonnées représentent pour ainsi dire la « fonction auxiliaire » du système de fichiers qui effectue le suivi des informations concernant tous les fichiers stockés sur le volume. Les métadonnées incluent des informations précisant quelles unités d'allocation constituent les données pour un fichier, quelles unités d'allocation sont libres, quelles unités d'allocation contiennent des secteurs défectueux, etc. Les données que le fichier contient, en revanche, sont nommées « données utilisateur ». NTFS protège ses métadonnées par le biais d'un journal des transactions. Les données utilisateur ne sont pas protégées de cette manière.

Phase 1 : Vérification des fichiers

Pendant sa première phase, un message s'affiche indiquant que CHKDSK vérifie les fichiers et précisant le pourcentage de vérification effectué, en comptant de 0 à 100 pour cent. Pendant cette phase, CHKDSK examine chaque segment d'enregistrement de fichier dans la table de fichiers maîtres du volume (MFT).

Un segment d'enregistrement de fichier spécifique dans la MFT identifie de façon unique chaque fichier et chaque répertoire d'un volume NTFS. L'indication « pour cent terminé » affichée par CHKDSK pendant cette phase représente le pourcentage de la MFT déjà vérifié par CHKDSK. Pendant cette phase, CHKDSK examine chaque segment d'enregistrement de fichier pour en vérifier la cohérence interne et génère deux images bitmap, une pour représenter les segments d'enregistrement de fichier qui sont en cours d'utilisation et l'autre pour représenter les clusters en cours d'utilisation sur le volume.

À la fin de cette phase, CHKDSK a identifié l'espace en cours d'utilisation et l'espace disponible, à la fois dans la MFT et sur le volume dans son ensemble. NTFS effectue le suivi de ces informations dans des images bitmap propres, qui sont stockées sur le disque. CHKDSK compare ses résultats avec les images bitmap conservées par NTFS. En cas de différences, celles-ci sont notées dans la sortie CHKDSK. Par exemple, si un segment d'enregistrement de fichier qui était en cours d'utilisation est identifié comme endommagé, les clusters de disque associés à ce segment sont marqués comme « disponibles » dans l'image bitmap CHKDSK mais comme « utilisés » dans l'image bitmap NTFS.

Phase 2 : Vérification des index

Dans la deuxième phase, un message s'affiche indiquant que CHKDSK vérifie les index et, là aussi, précisant le pourcentage terminé en comptant de 0 à 100 pour cent. Au cours de cette phase, CHKDSK examine chacun des index sur le volume.

Les index sont essentiellement des répertoires NTFS. L'indication « pour cent terminé » affichée par CHKDSK pendant cette phase représente le pourcentage du nombre total de répertoires du volume qui ont été vérifiés. Pendant cette phase, CHKDSK examine chaque répertoire sur le volume, en contrôlant la cohérence interne et en vérifiant que chaque fichier et chaque répertoire représentés par un segment d'enregistrement de fichier dans la MFT sont référencés par au moins un répertoire. CHKDSK confirme que chaque fichier ou sous-répertoire référencé dans un répertoire existe réellement en tant que segment d'enregistrement de fichier valide dans la MFT et contrôle également les références de répertoire circulaires. Enfin, CHKDSK confirme que les horodatages et informations de taille de fichier pour les fichiers sont à jour dans les entrées de répertoires pour ces fichiers.

À la fin de cette phase, CHKDSK a vérifié qu'il n'existe pas de fichiers « orphelins » et que toutes les entrées de répertoires correspondent à des fichiers légitimes. Un fichier orphelin est un fichier pour lequel un segment d'enregistrement de fichier légitime existe mais qui n'est répertorié dans aucun répertoire. Un fichier orphelin peut souvent être restauré vers le répertoire approprié si ce répertoire existe encore. Si le répertoire approprié n'existe plus, CHKDSK crée un répertoire dans le répertoire racine et y place le fichier. Si CHKDSK trouve des entrées de répertoires pour des segments d'enregistrement de fichier qui ne sont plus en cours d'utilisation ou pour des segments qui sont en cours d'utilisation mais qui ne correspondent pas au fichier répertorié dans le répertoire, CHKDSK supprime simplement l'entrée de répertoire pour le segment d'enregistrement de fichier.

Phase 3 : Vérification des descripteurs de sécurité

Pendant la troisième phase, un message s'affiche indiquant que CHKDSK vérifie les descripteurs de sécurité et, pour la troisième fois, précisant le « pour cent terminé », en comptant de 0 à 100 pour cent. Au cours de cette phase, CHKDSK examine chaque descripteur de sécurité associé aux fichiers ou aux répertoires du volume.

Les descripteurs de sécurité contiennent des informations concernant la propriété d'un fichier ou d'un répertoire ainsi que les autorisations NTFS et l'audit pour le fichier ou le répertoire. L'indication « pour cent terminé » affichée par CHKDSK pendant cette phase représente le pourcentage des fichiers et des répertoires vérifiés sur le volume. CHKDSK vérifie que chaque structure de descripteur de sécurité est bien formée et a une cohérence interne. CHKDSK ne vérifie pas l'existence réelle des utilisateurs ou des groupes répertoriés ni la validité des autorisations accordées.

Phase 4 : Vérification des secteurs

Si le commutateur /R est appliqué, CHKDSK exécute une quatrième phase pour rechercher des secteurs défectueux dans l'espace libre du volume. CHKDSK essaie de lire chaque secteur du volume pour confirmer qu'il est utilisable. Même sans le commutateur /R, CHKDSK lit toujours les secteurs associés aux métadonnées. Les secteurs associés aux données utilisateur sont lus pendant les premières phases de CHKDSK si le commutateur /R est spécifié.

Lorsque CHKDSK trouve un secteur illisible, NTFS ajoute le cluster contenant ce secteur à sa liste de clusters défectueux. Si le cluster défectueux est en cours d'utilisation, CHKDSK alloue un nouveau cluster pour accomplir la tâche du cluster défectueux. Si vous utilisez un disque avec tolérance de panne, NTFS récupère les données du cluster défectueux et écrit ces données sur le nouveau cluster alloué. Sinon, le nouveau cluster est rempli d'un motif d'octets 0xFF.

Si NTFS rencontre des secteurs illisibles pendant son fonctionnement normal, NTFS remappe les secteurs de la même façon que lors de l'exécution de CHKDSK. Par conséquent, l'utilisation du commutateur /R n'est généralement pas essentielle. Toutefois, le commutateur /R offre une façon commode d'analyser le volume entier si vous soupçonnez la présence de secteurs défectueux sur un disque.

Durée d'exécution de CHKDSK

La description ci-dessus des phases d'exécution de CHKDSK vous donne uniquement une idée générale des tâches principales effectuées par CHKDSK pour vérifier l'intégrité d'un volume NTFS. CHKDSK effectue en outre un grand nombre de contrôles spécifiques supplémentaires pendant chaque phase, ainsi que plusieurs contrôles rapides entre les phases. Cette description générale offre toutefois une base utile à la présentation des variables ayant une incidence sur le temps d'exécution de CHKDSK et de l'impact à cet égard des nouveaux commutateurs /C et /I disponibles dans Windows XP.

Variable 1 : la phase "Index"

Pendant la première et la troisième phases d'exécution de CHKDSK (vérification des fichiers et des descripteurs de sécurité), la progression des « pour cent terminé » est relativement régulière. Les segments d'enregistrement de fichier inutilisés requièrent moins de temps pour le traitement et les descripteurs de sécurité de grande taille prennent plus de temps, mais dans l'ensemble l'affichage « pour cent terminé » constitue une indication assez exacte du temps réel nécessaire pour ces deux phases.

En revanche, cette relation pourcentage/temps n'est pas nécessairement applicable à la deuxième phase, au cours de laquelle CHKDSK examine les index (répertoires NTFS). Le temps nécessaire pour traiter un répertoire est directement lié au nombre de fichiers et de sous-répertoires existant dans ce répertoire, mais le « pour cent terminé » pendant cette phase est basé uniquement sur le nombre de répertoires que CHKDSK doit examiner. Aucun ajustement n'est effectué pour tenir compte de ce fait, par exemple pour déterminer le temps nécessaire pour traiter un répertoire contenant un très grand nombre de fichiers et de sous-répertoires. Excepté dans les volumes dont les répertoires contiennent tous environ le même nombre de fichiers, l'indication « pour cent terminé » affichée pendant cette phase ne reflète pas de façon fiable le temps réel nécessaire pour exécuter la deuxième phase.

Qui plus est, en cas de procédure CHKDSK inattendue, la deuxième phase de CHKDSK est celle qui prend en général le plus de temps à s'exécuter.

Variable 2 : l'état du volume

De nombreux facteurs liés à l'état d'un volume jouent un rôle dans la durée de l'exécution de CHKDSK. Une formule capable de calculer le temps requis pour exécuter CHKDSK sur un volume donné devrait inclure des variables telles que le nombre de fichiers et de répertoires, le degré de fragmentation du volume en général et de la MFT en particulier, le format de noms de fichier (noms longs, noms mis en forme en 8.3 ou un mélange des deux), et la quantité de dommages réels à réparer.

Variable 3 : problèmes matériels

Les problèmes matériels affectent également la durée d'exécution de CHKDSK. Les variables comprennent la quantité de mémoire disponible, la vitesse du processeur, la vitesse de disque, etc.

Variable 4 : les paramètres CHKDSK

Si vous n'utilisez pas le commutateur /R, la considération principale en termes de temps sur une plateforme matérielle donnée est le nombre de fichiers et de répertoires présents sur le volume, plutôt que la taille absolue du volume.

Par exemple, sans le commutateur /R, un volume de 50 gigaoctets (Go) contenant uniquement un ou deux fichiers de base de données de grande taille peut être vérifié par CHKDSK en l'espace de quelques secondes. Si vous utilisez le commutateur /R, CHKDSK doit lire et vérifier chaque secteur sur le volume, ce qui augmente considérablement le temps requis pour les volumes de grande taille. En revanche, l'exécution de CHKDSK sur un volume même relativement petit peut requérir plusieurs heures si le volume comprend des centaines de milliers ou même des millions de petits fichiers, et ce que le commutateur /R soit spécifié ou non.

Estimation de la durée d'exécution de CHKDSK

Comme vous pouvez le voir, l'exécution de CHKDSK peut prendre de quelques secondes à plusieurs jours, selon votre situation spécifique. La meilleure façon d'estimer la durée d'exécution de CHKDSK sur un volume donné est d'effectuer un essai en mode lecture seule pendant une période d'utilisation réduite du système.

Toutefois, vous devez utiliser cette technique avec le plus grand soin, pour les raisons suivantes :
  • En mode lecture seule, CHKDSK se ferme avant de terminer les trois phases s'il rencontre des erreurs dans les premières phases ; de plus, CHKDSK est enclin à signaler des erreurs erronément. Par exemple, CHKDSK peut signaler un disque comme endommagé si NTFS modifie des zones du disque pendant que CHKDSK l'examine. Pour effectuer une vérification correcte, un volume doit être statique ; la seule façon de garantir un état statique est de verrouiller le volume. CHKDSK verrouille le volume uniquement si vous spécifiez le commutateur /F (ou le commutateur /R qui implique /F). Vous devrez peut-être exécuter CHKDSK plusieurs fois pour qu'il achève toutes ses phases en mode lecture seule.
  • CHKDSK utilise à la fois beaucoup de temps processeur et de disque. La durée d'exécution de CHKDSK dépendra de la charge du système et si CHKDSK s'exécute en ligne ou pendant la séquence de démarrage de Windows XP. La configuration matérielle spécifique détermine lequel de ces facteurs deviendra un goulot d'étranglement, mais une utilisation intense du processeur ou des ressources E/S disque pendant l'exécution de CHKDSK en mode lecture seule augmenteront la durée d'exécution de CHKDSK. En outre, Autochk.exe s'exécute dans un environnement différent de celui de Chkdsk.exe. L'exécution de CHKDSK via Autochk.exe donne à CHKDSK l'utilisation exclusive des ressources processeur et E/S, mais elle empêche également CHKDSK d'utiliser la mémoire virtuelle. Bien qu'en théorie il semble qu'Autochk.exe doive s'exécuter plus rapidement que Chkdsk.exe, Autochk.exe peut en fait être plus lent si l'ordinateur a relativement peu de mémoire vive disponible.
  • La correction des dommages augmente le temps d'exécution. En mode lecture seule, CHKDSK s'exécute jusqu'à la fin uniquement s'il ne trouve aucun dommage significatif. Si un disque comprend uniquement des dommages mineurs, la résolution des problèmes n'augmentera pas beaucoup le temps requis simplement pour exécuter CHKDSK. Toutefois, si CHKDSK trouve des dommages importants, par exemple suite à une défaillance matérielle grave, le temps requis pour exécuter CHKDSK augmentera en fonction du nombre de fichiers endommagés que CHKDSK doit réparer. Dans les cas extrêmes, cela peut plus que doubler la durée d'exécution de CHKDSK.

Présentation des commutateurs /C et /I

Commutateur /C

Le commutateur /C indique à CHKDSK d'ignorer les contrôles qui détectent des cycles dans la structure de répertoire. Les cycles sont une forme très rare d'endommagement dans laquelle un sous-répertoire est son propre « ancêtre ».

L'utilisation du commutateur /C peut accélérer CHKDSK d'environ 1 à 2 pour cent, mais elle peut également laisser des « boucles » de répertoire sur un volume NTFS. Ces boucles peuvent être inaccessibles à partir du reste de l'arborescence et par conséquent certains fichiers peuvent devenir orphelins car les programmes Win32, notamment les programmes de sauvegarde, ne peuvent pas les voir.

Commutateur /I

Le commutateur /I indique à CHKDSK d'ignorer les contrôles qui comparent des entrées du répertoire à leurs segments d'enregistrement de fichier correspondants. Avec ce commutateur, les entrées du répertoire sont toujours vérifiées pour leur cohérence interne, mais les entrées du répertoire ne sont pas nécessairement cohérentes avec les données stockées dans les segments d'enregistrement de fichier correspondants.

Il est difficile d'estimer le temps gagné en utilisant le commutateur /I. En général, le commutateur /I réduit la durée d'exécution de CHKDSK de 50 à 70 pour cent, en fonction de facteurs tels que le nombre de fichiers par répertoire et la vitesse d'E/S disque par rapport à la vitesse du processeur.

Le commutateur /I a les limitations suivantes :
  • Certaines entrées de répertoire peuvent faire référence à des segments d'enregistrement de fichier incorrects. Dans ce cas, tout programme qui essaie d'utiliser une telle entrée rencontrera des erreurs.
  • Certains segments d'enregistrement de fichier peuvent ne pas être référencés par une entrée de répertoire (une autre manière de créer des fichiers orphelins). Un fichier intact, selon le segment d'enregistrement de fichier, peut être invisible à tous les programmes Win32, y compris les programmes de sauvegarde.

Valeur des commutateurs /C et /I

En cas de détection de dommages sur un volume, vous disposez de trois options.

La première option est de ne prendre aucune mesure. Sur un serveur stratégique qui doit fonctionner 24 heures par jour, cette option est souvent utilisée par nécessité. L'inconvénient est qu'un endommagement relativement mineur peut faire boule de neige et se transformer en problème majeur. Par conséquent, considérez cette option uniquement si le fait de garder le serveur en ligne est plus important que la préservation de l'intégrité des données stockées sur le volume endommagé. Toutes les données du volume endommagé doivent être considérées comme « à risque » jusqu'à ce que vous exécutiez CHKDSK. La deuxième option est d'exécuter une opération CHKDSK complète pour réparer toutes les données du système de fichiers et restaurer toutes les données utilisateur récupérables au moyen d'un processus automatisé. Toutefois, l'exécution d'une opération CHKDSK complète peut vous coûter plusieurs heures de temps mort de votre serveur stratégique à un moment inopportun. Votre troisième option est d'exécuter une opération CHKDSK abrégée en utilisant un des commutateurs /C ou /I (ou les deux) pour réparer les types de dommages qui pourraient se développer en problèmes plus importants - et ce en nettement moins de temps que l'exécution complète de CHKDSK.

Notez toutefois que l'exécution abrégée de CHKDSK peut ne pas réparer tous les dommages existants. Vous devrez effectuer une exécution complète de CHKDSK par la suite pour assurer que toutes les données récupérables ont été réellement récupérées.

Notez également que NTFS ne garantit pas l'intégrité des données utilisateur après une instance de disque endommagé, même si vous exécutez immédiatement une opération CHKDSK complète. Il est possible que CHKDSK ne puisse pas récupérer certains fichiers et que des fichiers que CHKDSK récupère aient encore des dommages internes. Il demeure essentiel de protéger vos données stratégiques en exécutant des sauvegardes périodiques ou à l'aide d'une autre méthode fiable de récupération des données.

Propriétés

Numéro d'article: 314835 - Dernière mise à jour: samedi 1 décembre 2007 - Version: 4.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows XP Édition familiale
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
Mots-clés : 
kbinfo kbfea KB314835
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com