What is CHKNTFS?
Most system admins are familiar with CHKDSK, the Windows NT/2000 utility used for checking the integrity of a volume. But they are often less familiar with CHKDSK's cousin, CHKNTFS.
CHKNTFS modifies the behavior of the Autochk program, run at boot-time, to prevent CHKDSK from running automatically if Windows automatically schedules it due to an improper shutdown. If the system still has data to write to a given volume, the volume's "dirty bit" is set. The dirty bit is a flag that indicates there was still data to be written to that volume, so the presence of a set dirty bit at boot-time indicates there may have been some sort of a problem with the shutdown.
CHKNTFS is also useful for disabling CHKDSK /F if it's been set to run on the next reboot. This is useful if you have scheduled a CHKDSK at one point, but need to reboot and don't want to deal with running CHKDSK at this time.
CHKNTFS has these options:
/C <volume> Runs CHKDSK at the next reboot on the listed volume, but only if the dirty bit has been set.
/D Runs CHKDSK on any drives that have the "dirty" bit set at the next reboot. This basically resets CHKDSK to its default behavior.
/X <volume> Excludes a specified drive from boot-time checking, but only for the next reboot.
You can specify multiple volumes in each command, such as CHKNTFS /C C: D:
CHKNTFS works by changing the registry key BootExecute in HKEY_LOCAL_MACHINESYSTEMCURRENTCONTROLSETCONTROLSession Manager. The default value is a REG_MULTI_SZ value of autocheck autochk *.
Serdar Yegulalp is the editor of the Windows 2000 Power Users Newsletter.
This was first published in April 2002