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
| Switch | What it does |
|---|---|
/x <drive> | Excludes a drive from autochk at boot |
/d | Restores 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
| Task | Command |
|---|---|
| Check if drive will run autochk | chkntfs C: |
| Exclude a drive from autochk | chkntfs /x D: |
| Reset everything to default | chkntfs /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
- chkdsk in Windows: what each switch does, and when not to run it: the check itself, and why the online scan usually replaces the boot-time run.
- sfc /scannow in Windows: what it does, when it works, and when it doesn’t — the integrity check that usually runs first
- DISM in Windows: repair the Windows image when SFC can’t — repairing the component store when the check reports damage
- How to read CBS.log in Windows: what SFC and DISM actually tell you — reading the log these operations write