NT Syntax


Check Disk - check and repair disk problems

      CHKDSK [drive:][[path]filename] [/F] [/V] [/R] [/L[:size]] 

   [drive:]   Specify the drive to check. 
   filename   Specify the file(s) to check for fragmentation (FAT only). 
   /F         Automatically Fix file system errors on the disk.
   /R         Scan for and attempt Recovery of bad sectors.
   /V         Display the full path and name of every file on the disk. 
   /L:size    NTFS only: change the log file size to the specified number of kilobytes. 
If size is not specified, displays the current log size and the drive type (FAT or NTFS). /C Skip directory corruption checks. /I Skip corruption checks that compare directory entries to the file record segment (FRS) in the volume's master file table (MFT)

For example:


Fixing Errors /F

If the drive is the boot partition for NT, you will be prompted to run the check during the next boot

To issue ckdsk on a hard drive you must be a member of the Administrators group.

If you specify the /f switch, chkdsk will show an error if open files are found on the disk.

If you use chkdsk /f on a very large disk or a disk with a very large number of files (millions), chkdsk may take a long time to complete. The computer will not be available during this time, as chkdsk does not relinquish control until it is done.

Scanning only (without the /f switch)

If a file needs to be fixed chkdsk will alerts you with a message but will not fix the error(s).

chkdsk may report lost allocation units on the disk - it will produce this report even if the files are in-use (open). If corruption is found, consider closing all files and repairing the disk with /F. Often the easiest method (even for non-primary partition drives) is to run the scan during bootup.

Cluster (or block) Size

CHKDSK produces a report that shows the the block /cluster size
"4096 bytes in each allocation unit."

Exit codes

0 No errors were found
1 Errors were found and fixed.
2 Could not check the disk, did not or could not fix errors.


It is possible to run CHKDSK on a live system (as long as /f is not specified), a good strategy is to schedule an AT job to detect any disk problems by running CHKDSK >LogFileOfErrors.txt - then check the log files and manually fix any problems only as they occur.

When CHKDSK is set to run at boot-up there is a delay to allow the check to be cancelled - this can be configured in the registry:

HKLM\System\CurrentControlSet\Control\Session Manager

The value is the time in seconds that you want CHKDSK to wait (0 = no delay) default is 10 seconds.

"I either want less corruption, or more chance to participate in it" - Ashleigh Brilliant

Related commands:

Q187941 - New /C and /I Switches
CHKNTFS - schedule CHKDSK to run at boot time.
Cleanmgr.exe - Windows 2000 disk cleanup
Q303079 - Locate and correct NTFS problems.

Equivalent Linux BASH commands:

cksum - Print CRC checksum and byte counts (can detect problems but not fix them)

Simon Sheppard