Quick fix: CHKDSK on the system drive (C:) requires reboot because Windows holds it open. For non-system drives (D:, E:, USB): can run without reboot if no apps have files open. Close all apps on target drive, then chkdsk D: /f in Terminal (Admin) runs immediately. For C:: schedule for next reboot via chkdsk C: /f /scan (online repair).
CHKDSK is Windows’s disk error-check tool. Standard usage requires reboot when checking system drive. For other drives, immediate scan. Online scanning option also runs while Windows is up.
Affects: Windows 11 (and Windows 10).
Fix time: ~5 minutes + scan time.
What causes this
CHKDSK locks the volume during scan. System drive (C:) is constantly in use by Windows; can’t lock. Standard CHKDSK schedules to run at next boot before Windows loads. Non-system drives can be locked if no apps have files open. Modern Windows also supports online scan that doesn’t need lock.
Method 1: Run CHKDSK on non-system drive immediately
The simple case.
- Open Terminal (Admin).
- Close apps using the target drive. Especially: File Explorer windows open at it.
- Run:
chkdsk D: /fThe /f flag fixes errors. Without /f: read-only check.
- If still locked:
chkdsk D: /f /x. /x dismounts the volume forcibly. - For full surface scan (bad sectors):
chkdsk D: /f /r. Takes hours. - For network drive: not directly supported. Mount as local first.
Standard chkdsk for non-system drives.
Method 2: Online scan for system drive
For C: without reboot.
- Open Terminal (Admin).
- Run online scan (no reboot needed):
chkdsk C: /scanThis is read-only verification. Reports errors but doesn’t fix.
- For online repair (NTFS only):
chkdsk C: /scan /forceofflinefixMarks errors found during online scan; fixes queued for next reboot.
- To run queued offline fixes during current session (no boot wait):
chkdsk C: /spotfixFixes only specific marked errors. Requires brief volume lock.
- Combined:
chkdsk C: /scanfor read-only check.chkdsk C: /spotfixonly when errors are found and you want to fix without full offline scan.
Online scan is the right path for C: without reboot.
Method 3: Use PowerShell Repair-Volume for managed approach
For modern scripting.
- Open Terminal (Admin).
- Quick scan (online):
Repair-Volume -DriveLetter C -Scan - Online repair attempt:
Repair-Volume -DriveLetter C -SpotFix - Full offline repair (schedules for reboot):
Repair-Volume -DriveLetter C -OfflineScanAndFix - For all drives at once:
Get-Volume | Repair-Volume -Scan - Output gives status: NoErrorsFound, Spotfix, OfflineScanAndFix.
PowerShell is the modern API.
How to verify the fix worked
- chkdsk completes with summary: total bytes, errors found, errors fixed.
- Windows has checked the file system and found no problems. = healthy.
- Event Viewer → Windows Logs → Application → filter for source Wininit shows chkdsk results.
If none of these work
If errors persist: Bad sectors: NTFS marks bad sectors. Drive may be failing. SMART check via CrystalDiskInfo. For drives with frequent errors: dying drive. Backup data, replace. For locked volume that won’t dismount: a service or process is using it. Open Resource Monitor → CPU tab → Search Handles → type drive letter to find process. Kill, retry. For chkdsk that finds errors but won’t fix: /forceofflinefix marks for next reboot. For very fast SSDs that chkdsk seems redundant: SSDs have internal error correction. chkdsk less useful than for HDD. Run quarterly or after suspect events.
Bottom line: Non-system drives: chkdsk D: /f runs immediately. System drive: chkdsk C: /scan for online check, chkdsk C: /spotfix for targeted fix without full reboot. PowerShell Repair-Volume is the modern API.