CHKDSK est une commande qui vérifie le système d'enregistrement des fichiers sur le disque (le système de fichiers). La commande CHKDSK /R fait souvent des miracles car elle détecte et élimine les clusters défectueux après en avoir, si possible, déplacé les fichiers. Lancée depuis la Console de Récupération ou un BARTPE cette simple commande peut rétablir un démarrage qui ne se faisait plus. Et c'est bien sûr toujours valable avec Vista et W7.
- Comparaison des trois modes principaux de CHKDSK
- Plus d'infos sur CHKDSK
- Aide de CHKDSK
- CHKDSK en 5 phases des volumes NTFS
- Particularité du GUI
- Les résultats d'un CHKDSK sont dans l'Observateur d'Évènements
- Bootex.log
- CHKDSK
- CHKDSK /F
- CHKDSK /R
- CHKDSK /B
- CHKDSK sur un volume FAT32
- Erreurs : Exemples de mauvais résultats
- Clusters défectueux
- Plantage de CHKDSK
- Mode natif
- AUTOCHK
- CONVERT
- Liens
- Sans commutateur
- Avec le commutateur /F (/P depuis la Console de Récupération)
- Avec le commutateur /R
- Avec le commutateur /B (Vista et Windows7)
Ces tests sont effectués dans une Console CMD sous Windows (Démarrer>Exécuter>cmd).
Sur Vista/7 il faut exécuter le raccourci en tant qu'administrateur avec un clic
droit. Pour trouver le raccourci : touche WIN et taper cmd dans la barre de
recherche.
Ou faire WIN+R pour ouvrir la boîte Exécuter, et entrer cmd en
utilisant la combinaison CTL+MAJ+Entrée.
Depuis la Console de récupération CHKDSK présente de légères différences :
CHKDSK /P au lieu de CHKDSK /F
Avec la Console de récupération il est impératif de respecter les espaces.
Pour info il est considéré comme plus efficace d'utiliser CHKDSK depuis la
Console de Récupération
ou depuis un
BARTPE.
Avec Vista et W7 la CDR est devenue
Options de récupération système. Pour lancer un CHKDSK il faut d'abord
ouvrir une Console en claquant sur "Invite de commandes". Ensuite changer de
volume en entrant C: et vérifier avec une commande DIR si on est bien sur le
volume de Windows. Si ce n'est pas le cas essayer D: car la présence d'une
partition de boot décale les lettres.
Si le verrouillage du volume est nécessaire, le disque ne peut être utilisé pendant l'opération. Cela peut entrainer une demande de redémarrage par le système pour effectuer l'opération en dehors de Windows. C'est le cas en particulier pour la partition système, celle sur laquelle est installée Windows, dont de nombreux fichiers sont en cours d'utilisation.
|
Commande |
Nombre de Phases |
Verrouillage du volume |
|
CHKDSK |
3 |
Purement informatif. Aucune correction n'est effectuée, l'activité du disque pouvant tromper CHKDSK qui pourrait signaler des erreurs alors qu'il n'y en a pas (faux positifs). Lever le doute avec /F ou /R. CHKDSK en lecture seule peut ne pas détecter certaines erreurs. |
|
CHKDSK |
3 |
Erreurs de fichiers et de MBR corrigées. Lorsqu'on utilise CHKDSK depuis la Console de Récupération, le commutateur /F n'existe pas. Utiliser /P à la place. |
|
CHKDSK |
5 |
Secteurs erronés marqués pour ne plus être utilisés. |
| CHKDSK /B | 5 |
Oui, nécessite de verrouiller le volume Secteurs erronés marqués pour ne plus être utilisés. Les clusters défaillants sont réanalysés. NTFS seulement ; ce commutateur n'est pas fonctionnel sur XP. |
Les commutateurs F, R, et B autorisent la réparation des erreurs.
CHKDSK sans commutateur ne verrouille pas le disque et n'effectue aucune
réparation. CHKDSK peut signaler la présence d'erreurs.
La commande
FSUTIL DIRTY QUERY c: permet de savoir si un disque a besoin d'être
vérifié.
CHKDSK sans commutateur sera donc utile à titre d'information.
Le disque n'étant
pas verrouillé, il est possible que le
NTFS fasse signaler de fausses erreurs à
CHKDSK.
Dans ce cas il faudra utiliser au moins le commutateur /F. C'est en
pratique ce que l'on fait au minimum.
Cela correspond à cocher "Réparer
automatiquement les erreurs du système de fichiers" dans le GUI.
Le NTFS pouvant entraîner de fausse détections d'erreurs, l'utilisation des
commutateurs /F ou /R (ou /B) verrouille le volume.
Si on demande un CHKDSK du disque système en utilisant ces commutateurs,
le verrouillage ne peut être effectué, et l'opération nécessite un
redémarrage du système. La vérification/réparation du volume sera alors
faite en mode natif lors du démarrage suivant. Chkdsk.exe
n'étant pas conçu pour fonctionner dans ce mode, c'est C:\WINDOWS\system32\autochk.exe
qui réalise l'opération. L'Observateur d'Évènements rend compte du
résultat : Exécuter>eventvwr et rechercher un événement de type "Information" et de source "Winlogon"
http://a.vouillon.online.fr/faq-winxp.htm#143
Les tests présentés plus loin sont effectués lors d'une session Windows sur
un disque de données. Ce volume étant indépendant du système d'exploitation,
l'opération ne nécessite pas de redémarrage. On peut alors suivre le déroulement
dans la
fenêtre de commandes (WIN+R,cmd
ou Démarrer, Exécuter, cmd).
Les résultats ont été copiés par sélection à la souris dans la Console CMD
(Démarrer>Exécuter>cmd), voir
Copier et coller avec la Console CMD
Quand on ne précise pas le disque, la vérification est faite sur le disque
actif.
Ce disque ne comportait que peu de données, les premières phases ont été
rapides.
La cinquième phase, qui vérifie les secteurs non-utilisés, a pris environ
90 minutes.
Dans la réalité, sur un disque usagé comportant de nombreux fichiers, un CHKDSK
/R peut prendre des heures, on a vu jusqu'à 24h.
En pratique on observe plutôt de 20 minutes à trois heures, dépendant de la
taille du disque, du nombre de fichiers, du nombre d'erreurs.
Description des outils Chkdsk, Autochk et Chkntfs améliorés dans Windows 2000
CHKDSK Windows XP et la commande fsutil dirty query c: en images
Technet : Troubleshooting Disks and File Systems
Knowledge Base, KB314835 : Fonctionnement détaillé de CHKDSK, description des commutateurs /C et /I
Aide et Support (WIN+F1)
CHKDSK /? dans une
Console CMD, voir ci-dessous ==>
Cette aide affiche l'existence d'un commutateur
/B sans le commenter.
Ce
commutateur n'existe pas sous XP, mais est
utilisable sous Vista.
Il n'est
pas cité dans les autres documentations.
Plus de liens en fin d'articles
CHKDSK /? dans la Console CMD affiche l'aide de CHKDSK. Cet exemple est tiré de Windows XP :
CHKDSK /?
|
|
L'exemple suivant vient de Windows 7 : Rappel : avec ces nouveaux systèmes il est nécessaire d'élever les privilèges de la Console de commandes. Si on ne le fait pas on a droit à une insulte : "Accès refusé, vous n'avez pas de privilèges suffisants. Vous devez invoquer cet utilitaire dans un mode d'exécution élevé." Pour lancer la Console en tant qu'Administrateur faire un clic droit sur le raccourci. On peut obtenir une Console Administrateur directement depuis Exécuter (WIN+R) en entrant cmd suivi de CTL+MAJ+Entrée |
CHKDSK
[volume[[chemin]nom_de_fichier]]
|
Le mystère du commutateur /B est donc
résolu. C'est un super commutateur pour le NTFS. Il inclue /R lequel implique /F.
Il semble méconnu, je ne l'ai pas vu utilisé. Si vous avez des exemples
intéressants ... merci d'avance.
Il y a trois phases principales, suivies de deux phases optionnelles.
Plusieurs exemples sont présentés plus loin.
Phase 1 : Vérification des fichiers
Vérification de chaque segment d'enregistrement de fichier (FRS = File Record
Segment) dans la
Master File Table.
Phase 2 : Vérification des index
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 (Master
File Table), 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.
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.
Phase 3 : Vérification des descripteurs de sécurité
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.
Phase 4 : Vérification des secteurs
Recherche de secteurs défectueux dans l'espace libre du volume. Si un secteur
est en défaut, il est verrouillé définitivement et ne pourra plus être utilisé.
Le formatage complet d'un disque réalise également cette opération. Si un
formatage rapide a été effectué, CHKDSK /R permettra de corriger. Préférer
opérer depuis la CDR.
Phase 5 : Vérification des secteurs non-utilisés.
Noter que le NTFS est très résistant et procède de lui-même à l'élimination des
secteurs douteux. En cas de non démarrage après une coupure électrique un CHKDSK
/R depuis la Console de Récupération
est souvent la solution.
GUI veut dire Graphical User Interface. On a vu la commande CHKDSK en lignes de commandes Windows, voici son équivalent depuis le mode graphique de Windows, celui qu'on connait le mieux. CHKDSK peut être effectué à la souris depuis les Propriétés d'un disque (faire un clic droit). Le Bouton "Vérifier maintenant" de l'onglet Outils affiche la boite "Vérification du disque".
L'outil comporte deux choix :
Réparer automatiquement les erreurs du système de fichiers
Rechercher et tenter une récupération des secteurs défectueux
Si on ne coche aucune des deux cases, un CHKDSK simple est effectué.
Si on coche la première case on effectue un CHKDSK /F et le report au prochain démarrage est demandé s'il s'agit de la partition système. Appuyer sur F1 pour afficher l'aide intégrée :

Si on coche les deux lignes, c'est un CHKDSK /R complet qui est effectué et la question du redémarrage est également posée.

Surprise toutefois quand on ne coche que la seconde ligne "Rechercher et tenter une récupération des secteurs défectueux". Contrairement à ce que raconte l'Aide dans la vue ci-dessus, même avec la partition système en cours d'utilisation, le redémarrage n'est pas demandé, et la vérification/réparation des secteurs libres s'effectue immédiatement, voir vue suivante.
On peut même défragmenter en même temps le disque (à éviter) ce qui confirme si besoin était le non-verrouillage du volume, et on peut continuer à utiliser Windows pendant que l'espace libre du disque est vérifié.
L'indicateur affiche le déroulement de 4 phases.
Aucun commutateur ne semble correspondre à cette possibilité puisque /R inclue
/F et effectue systématiquement une vérification des fichiers, soit 5 phases.
Je n'ai pas trouvé d'explication, malgré l'excellent article
Troubleshooting Disks and File Systems. Voici ce qui est dit à propos de
l'utilisation de l'outil en mode graphique :
Running Chkdsk from My Computer or Windows Explorer
In addition to using the command-line version of Chkdsk, you can run Chkdsk from My Computer or Windows Explorer.
The graphical version of Chkdsk offers the equivalent of read-only mode, the /f parameter, and the /r parameter.If Chkdsk cannot lock the volume, you can schedule Autochk to run the next time you restart the computer.
You cannot choose to dismount the volume like you can when you use the command-line version of Chkdsk, nor can you use other Chkdsk parameters, such as /c or /i. To take advantage of all the Chkdsk parameters, use the command-line version of Chkdsk.To run Chkdsk from My Computer or Windows Explorer
In My Computer or Windows Explorer, right-click the volume you want to check, and then click Properties.
On the Tools tab, click Check Now.
Do one of the following:
To run Chkdsk in read-only mode, click Start.
To run Chkdsk by using the /f parameter, select the Automatically fix file system errors check box and then click Start.
To run Chkdsk by using the /r parameter, select the Scan for and attempt recovery of bad sectors check box and then click Start.
Vérification des secteurs libres d'un volume système en 4 phases sous Windows
quant la seconde case seule est cochée

Pas trouvé d'explication à ces contradictions. Dans le doute il vaut mieux cocher les deux cases.
Ce qui suit est aussi valable pour un CHKDSK effectué depuis la Console de Récupération, mais seulement si des erreurs ont été trouvées.
Lorsqu'un redémarrage est nécessaire, on se demande quel a été
le résultat de l'opération.
Ça se trouve dans l'Observateur d'événements,
journal des Applications :
Exécuter>eventvwr
Événements de type Informations et de source
Winlogon avec XP,
Wininit avec Vista :

Cliquer sur l'événement pour afficher le contenu :

En cliquant sur le Bouton indiqué ci-dessus, tout est copié dans le
Presse-Papier.
On peut ainsi coller ces infos dans un éditeur de texte ou un
message.
Pour afficher l'Observateur d'évènements faire
Démarrer>Exécuter>eventvwr
Avec Vista c'est Wininit et non Winlogon qu'il faut rechercher dans la colonne
Source
KB218461 : Si Autochk est exécuté au démarrage de l'ordinateur, ses résultats sont enregistrés dans un fichier appelé Bootex.log qui se trouve dans la racine du volume étant vérifié. Ensuite, le service Winlogon migre le contenu de chaque fichier Bootex.log vers le journal des événements de l'application.
Remarque : Si le service "Journal des événements" est désactivé, bootex.log n'est pas supprimé.
Sans indiquer de volume, c'est le lecteur en cours qui est vérifié
Aucun commutateur utilisé, le volume n'est pas verrouillé.
Détection seulement, pas de réparation : les fausses erreurs dues au fonctionnement du NTFS
sur le volume non verrouillé n'auront pas de conséquences.
L'opération se fait en 3 phases : fichiers, index, descripteurs de sécurité.
Le type du système de fichiers est NTFS.
Le nom de volume est BILLOUTE.
Avertissement ! Le paramètre F n'a pas été spécifié.
Exécution de CHKDSK en mode lecture seule.
CHKDSK est en train de vérifier les fichiers (étape 1 de 3)...
La vérification des fichiers est terminée.
CHKDSK est en train de vérifier les index (étape 2 de 3)...
La vérification des index est terminée.
CHKDSK est en train de vérifier les descripteurs de sécurité (étape 3 de 3)...
La vérification des descripteurs de sécurité est terminée.
223777417 Ko d'espace disque au total.
399796 Ko dans 293 fichiers.
80 Ko dans 63 index.(index NTFS)
0 Ko dans des secteurs défectueux.
73173 Ko utilisés par le système.(La table MFT et
autres métafichiers NTFS)
65536 Ko occupés par le fichier journal.
223304368 Ko disponibles sur le disque.
4096 octets dans chaque unité d'allocation.
(Taille de cluster)
55944354 unités d'allocation au total sur le disque.
(Total des clusters sur le disque)
55826092 unités d'allocation disponibles sur le disque.
(Clusters libres disponibles)
Le commutateur F autorise la réparation des erreurs.
Le volume doit être verrouillé pour éviter toute fausses détections d'erreur (NTFS).
L'opération se fait en 3 phases également.
Le type du système de fichiers est NTFS.
Impossible de verrouiller le lecteur en cours.
Chkdsk n'a pas pu s'exécuter car le volume est utilisé par un autre
processus. Chkdsk pourra s'exécuter après que ce volume soit démonté.
TOUS LES DESCRIPTEURS OUVERTS SUR CE VOLUME NE SERONT PLUS VALIDES.
Voulez-vous forcer le démontage de ce volume ? (O/N) o
Le volume est démonté. Tous les descripteurs ouverts dans ce volume ne sont plus
valides.
Le nom de volume est BILLOUTE.
CHKDSK est en train de vérifier les fichiers (étape 1 de 3)...
La vérification des fichiers est terminée.
CHKDSK est en train de vérifier les index (étape 2 de 3)...
La vérification des index est terminée.
CHKDSK est en train de vérifier les descripteurs de sécurité (étape 3 de 3)...
La vérification des descripteurs de sécurité est terminée.
223777417 Ko d'espace disque au total.
399796 Ko dans 293 fichiers.
80 Ko dans 63 index.
0 Ko dans des secteurs défectueux.
73173 Ko utilisés par le système.
65536 Ko occupés par le fichier journal.
223304368 Ko disponibles sur le disque.
4096 octets dans chaque unité d'allocation.
55944354 unités d'allocation au total sur le disque.
55826092 unités d'allocation disponibles sur le disque.