Posted On 2005-11-1 by FortyPoundHead
Keywords: Command Reference
Tags: Windows Commandline Windows
Views: 1728


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 chkdsk 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.

About the Author

has posted a total of 1974 articles.

Comments On This Post

No comments on this post yet!

Do you have a thought relating to this post? You can post your comment here. If you have an unrelated question, you can use the Q&A section to ask it.

Or you can drop a note to the administrators if you're not sure where you should post.

Your IP address is:

Before you can post, you need to prove you are human. If you log in, this test goes away.

Code Links