There are three situations that can cause this to happen:
•If you try to run CHKDSK on the boot volume - CHKDSK cannot dismount the boot volume. If you try to run the CHKDSK repair process on the boot volume, the system gives you the choice to run CHKDSK (actually AUTOCHK) on the next reboot.
•Files are open (on any volume) will prevent CHKDSK from running
•If the "dirty bit" is set - There is a system flag known as the dirty bit that indicates that AUTOCHK will be run on the next reboot. This is usually set when the system (or a program like a defragger) thinks there is an error in the volume.
To see the status of the dirty bit, use the following command (at the Command Prompt):
fsutil dirty query c: (assuming, in this case, the C: Drive)
If AUTOCHK tries to run, you should allow it to run until completion. After it runs, you can check the completion status in the Event Viewer (applicaton log). Simply look for entries with Winlogin as the source.
If after running AUTOCHK to completion, it wants to run again, this may be the sign of a persistent hardware problem. At that time, one should consider running the manufacturer's diagnostics on the hard drive.