chkdsk.exe

By | 2005-05-11

Checks the file system and file system metadata of a volume for logical and physical errors. If used without parameters, chkdsk displays only the status of the volume and does not fix any errors. If used with the /f, /r, /x, or /b parameters, it fixes errors on the volume.

Syntax

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

Switches

[drive:]Specify the drive to check.
filenameSpecify the file(s) to check for fragmentation (FAT only).
/FAutomatically Fix file system errors on the disk.
/RScan for and attempt Recovery of bad sectors.
/VDisplay the full path and name of every file on the disk.
/L:sizeNTFS only: change the log file size to the specified number of kilobytes. If size is not pecified, displays the current log size and the drive type (FAT or NTFS).
/CSkip directory corruption checks.
/ISkip corruption checks that compare directory entries to the file record segment (FRS) in the volume’s master file table (MFT)

Examples

Fixing Errors

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

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 typically: “4096 bytes in each allocation unit.”

Exit codes

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

Notes

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
REG_DWORD:AutoChkTimeOutData

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

Author: dwirch

Derek Wirch is a seasoned IT professional with an impressive career dating back to 1986. He brings a wealth of knowledge and hands-on experience that is invaluable to those embarking on their journey in the tech industry.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.