Author: Mike Boesen
Last updated 2 March 2008
If you are having problems with applications running on your hard drive such as unpredictable blue scrrens of death, it's worth running the Windows utility CHKDSK. This utility checks the integrity of a hard drive's file system. If the /R option is used, CHKDSK will attempt to fix any errors.
There are two ways to run CHKDSK on your Windows 2000, NT or XP system: the point and click method from within the My Computer window and a method that involves typing in a command-line statement in a DOS-type box. The two methods can be implemented in either the normal Windows mode or in Safe mode. I assume that there is an equivalent process for Vista.
Irrespective of the method used to run CHKDSK it will take a considerable time to do its checking and fixing - up to a couple of hours for a large drive. So do not be surprised at how slowly it will appear to be running.
A. Point and click method
For inexperienced PC users this is the easier of the two methods. To run CHKDSK using the point and click method within Windows:
Navigate to My Computer so that you can see the drives that are on your PC
Right-click the drive to be checked
Left-click Properties
Left-click on the Tools tab
Left-click the 'Check now' button
Tick the box 'Scan for and attempt the recovery of bad sectors'. This is equivalent to the /R option explained below. It subsumes the actions that would occur if the 'Automatically fix file system errors' box (equivalent to the /F option explained below) was ticked.
Left-click the 'Start' button.
If Windows can get exclusive access to the drive for the operation of the CHKDSK application it will run CHKDSK immediately.
However, if Windows cannot get exclusive access to the drive, you will see a message box asking if you want to schedule the check to occur the next time that you start Windows. Left-click the 'Yes' button. Depending on what anti-malware you have installed on your PC then that anti-malware application may ask you if it is OK for an application named CHKDSK.EXE (or possibly AUTOCHK.EXE) to run at the time you next start your PC. You can approve that action. AUTOCHK.EXE is the Windows application that actually runs instead of CHKDSK.EXE at startup. AUTOCHK and CHKDSK undertake the same checking and repairing functions although their dialog behaviours differ.
If the checking is scheduled for the next time that you start Windows, exit from the Tools tab and Properties Windows and restart your PC. When the PC restarts, prior to Windows loading, you will have the option of CHKDSK (aka AUTOCHK) being run. The progress through each of 5 stages of the checking will be displayed.
B. Command-line statement
I prefer the command-line method because it provides more information about what is happening. You will need to know the drive letter that has been assigned to the hard drive that you want to check. That will be shown in the My Computer window.
In this example, let's assume that the drive to be checked is the boot drive C. So:
hit the Start button and click Run
That will open up a 'DOS' style command line processor in a 'DOS box' (or 'DOS coffin' as the wags would have it).
type 'CHKDSK C: /R' (without the quotes) and hit Enter. The /R option will locate bad sectors and recover readable information and will fix any errors on the disk. It implements a more comprehensive check than the alternative /F option and subsumes the /F options operations.
Because in this example, the drive to be checked is the boot drive C, Windows will inform you in the DOS box that it 'Cannot lock current drive' and will ask if you want to schedule the 'volume' to be checked at the next time the system restarts. In that case, type 'Y' (without the quotes) and hit Enter. Depending on what anti-malware you have installed on your PC then that anti-malware application may ask you if it is OK for an application named CHKDSK.EXE or AUTOCHK.EXE to run the next time you start your PC. (For example, Kaspersky asks that question on my system.) You can approve that action. AUTOCHK.EXE is the Windows application that actually runs instead of CHKDSK.EXE in such situations. AUTOCHK and CHKDSK undertake the same checking and repairing functions although their dialog behaviours differ.
Exit from the DOS box and restart your PC. When the PC restarts, prior to Windows loading, you will have the option of CHKDSK (aka AUTOCHK) being run. The progress through each of 5 stages of the checking will be displayed.
CHKDSK can be run on drives other than the boot C drive. If you want to do that, when you are in the DOS box, replace C: in the statement CHKDSK C: /R with an appropriate drive letter ( e.g. D: or E: ). If the drive being checked is NOT the boot drive you may get a message in the DOS box indicating that it is 'in use by another process' and you will be asked if you would like to "force a dismount' so that CHKDSK can be run. If there is no application that is running and requiring access to the drive, type 'Y' (without the quotes) and hit Enter. CHKDSK should then run immediately without needing to restart the PC. The progress through each of the 5 stages will be displayed in the DOS box. Close the DOS box at the completion of the 5th stage. Here is an example of the dialog when checking my E drive:
If the drive being checked is NOT the boot drive and you do NOT get the 'in use by another process' dialog in the DOS box, then CHKDSK should run immediately without needing to restart. The progress through each of the 5 stages will be displayed in the DOS box in the same way as is shown in the image above. Close the DOS box at the completion of the 5th stage.
CHKDSK can also be run through a command-line statement via the Windows Recovery Console. See this article for an explanation of that: http://www.pcug.org.au/boesen/Backups/backups.htm#Appendix4
There are some other articles about PC stuff on my site here: http://www.pcug.org.au/boesen/ In particular, if CHKDSK has not fixed your problem you might like to have a look at the troubleshooting appendix in this article of mine:
http://www.pcug.org.au/boesen/maintenance/maintenance.htm#troubleshooting
Mike Boesen