chkntfs in Windows: control the boot-time disk check

A machine reboots and Windows starts checking a volume for errors before the desktop appears. On a workstation that is an inconvenience. On a production server it is an outage that nobody scheduled.

The check runs because the volume is marked dirty, and the countdown before it starts is the only chance to stop it.

chkntfs is the command that reads and changes that behaviour.


What is CHKNTFS?

chkntfs is a built-in Windows command-line tool used to:

  • Check whether a volume is flagged for autochk (automatic disk check at startup)
  • Prevent certain volumes from being checked at boot
  • Force checks on specific drives
  • Restore default boot-time check settings

It doesn’t scan or repair the disk like chkdsk — instead, it manages when those checks happen.


Basic Syntax

chkntfs [drive:] [...drive:]
chkntfs /switch

Let’s break it down with some real examples

Common Use Cases & Examples


Check if a drive is flagged for autochk

chkntfs C:

Output:

The type of the file system is NTFS.
C: is not dirty.

This tells you if the drive has been marked as “dirty” (which triggers a boot-time check) or if it’s clean.

Prevent a drive from being checked at boot

chkntfs /x D:

This excludes the D: drive from being checked during startup — even if it’s marked dirty.

Great for drives that take a long time to check
Be careful — skipping checks could let disk issues go undetected.


Restore default behavior for all drives

chkntfs /d

This resets everything:

  • Re-enables checks on all drives
  • Clears any exclusion set by /x
  • Restores system-managed settings

Use this if you’ve excluded drives in the past and want to go back to normal.


Force a volume to be checked at boot

Actually, chkntfs doesn’t directly force a scan. But you can manually flag a drive as dirty using:

fsutil dirty set C:

Then chkntfs C: will show it as dirty, and Windows will run autochk on the next boot.

Summary of Switches

SwitchWhat it does
/x <drive>Excludes a drive from autochk at boot
/dRestores default autochk settings
<drive>Shows autochk status for that volume

Real-World Scenarios

  • You’ve got an external USB drive that always runs a long check at boot → Exclude it with /x
  • A drive shows the “dirty bit”, and you want to verify it → Use chkntfs C: to confirm
  • You’ve messed with boot-time check settings and want to undo it all → Use /d

Summary

TaskCommand
Check if drive will run autochkchkntfs C:
Exclude a drive from autochkchkntfs /x D:
Reset everything to defaultchkntfs /d
Mark drive dirty (via fsutil)fsutil dirty set C:

Final Thoughts

CHKNTFS isn’t flashy. It doesn’t fix your drive. But it tells Windows when to check your drives, which can save you time, frustration, and surprise reboots when you’re not in the mood.

Pair it with fsutil and chkdsk, and you’ve got a full disk-health toolkit at your fingertips.

Want a future post comparing chkntfs, fsutil, and chkdsk with a troubleshooting flow? Let me know — or share your worst “surprise disk check at boot” story in the comments.


Related guides