Scan online, without a reboot
**/scan** checks the volume while Windows is running and does not lock it. This is the correct first move on a machine you cannot take down.
chkdsk C: /scan
chkdsk C: /scan /perf
The online scan tells you whether the filesystem is dirty without a reboot, the offline fix repairs it, and the exit code tells you whether the disk is failing or just messy.
Start with **chkdsk C: /scan**, which runs online. Only if it reports problems do **chkdsk C: /spotfix** or a full **/f** at reboot. An exit code of **4 or 5** means damaged metadata, not a slow disk.
**/scan** checks the volume while Windows is running and does not lock it. This is the correct first move on a machine you cannot take down.
chkdsk C: /scan
chkdsk C: /scan /perf
The scan writes its report to the Application log, not to the console. That entry survives the window closing and gives you the numbers later.
Get-WinEvent -LogName Application | Where-Object ProviderName -match 'Chkdsk|Wininit' |
Select-Object -First 3 TimeCreated,ProviderName,Message
**/spotfix** takes the volume offline for seconds instead of running a full pass. It is the right tool for a dirty bit and a handful of index entries.
chkdsk C: /spotfix
**/f** fixes errors and needs an exclusive lock, so it runs at the next boot. **/r** adds a sector scan and can take hours — on an SSD that time is better spent reading SMART data.
chkdsk C: /f
chkdsk D: /r
0 no errors, 1 errors fixed, 2 cleanup performed, 3 not checked, 4 or 5 damaged and unrepaired. Only the last two mean the volume needs attention beyond chkdsk.
chkdsk C: /scan
$LASTEXITCODE
chkntfs C:
Recurring corruption with a clean cable and a healthy controller is the drive telling you something. Read the reliability counters before you trust it with data again.
Get-PhysicalDisk | Select-Object FriendlyName,HealthStatus
Get-PhysicalDisk | Get-StorageReliabilityCounter | Select-Object DeviceId,Wear,ReadErrorsTotal,WriteErrorsTotal
The dirty bit is still set or a scheduled check is pending. Clear it with chkdsk C: /f once, and check the schedule with chkntfs /query C:.
An open handle from a backup tool or antivirus blocks it. Close them, or accept the offer to schedule the check at the next restart.
Look under the Wininit provider and widen the filter. On some builds the report lands in the System log instead.
Hardware is the likely cause: cable, controller or the drive itself. Run the SMART check and test the drive in another port.
It marks them unusable and recovers readable data around them. It cannot restore the content that was on them.
The scan is. A full /r pass writes nothing extra but takes hours for little gain; check the drive's own counters instead.
chkdsk changes are repairs, not settings. There is nothing to undo; if you scheduled a check and want to skip it, run chkntfs /x C: before the reboot.
Free · no account needed · tracks your progress