- CHKDSK
-
chkdsk.exe
Chkdsk.exe in action on drive C:Original author(s) Microsoft Operating system MS-DOS and NT-based versions of Windows Platform x86 and x64 (Windows [XP Professional, Vista, & 7] x64) Available in English Type System tool License Commercial (part of MS-DOS and Windows). CHKDSK
(short for "check disk") is a command on computers running DOS, OS/2 and Microsoft Windows operating systems that displays the file system integrity status of hard disks and floppy disk and can fix logical file system errors. It is similar to the fsck command in Unix.The command is implemented as an executable program file, CHKDSK.EXE. Different operating systems all use the same filename, but the files are not necessarily compatible between operating systems.
On computers running NT-based versions of Windows, CHKDSK can also check the disk surface for physical errors or bad sectors, a task previously done by SCANDISK. This version of CHKDSK can also handle some physical errors and recover data that is still readable.
Contents
Windows NT-based CHKDSK
CHKDSK can be run from the Windows Shell, the Windows Command Prompt or the Windows Recovery Console. One option for CHKDSK is the use of the Command-line
/R
parameter, which allows the program to repair damage it finds on the hard drive.Conducting a CHKDSK can take some time, especially if using the
/R
parameter, and the results are often not visible, for various reasons. The results of a CHKDSK conducted on restart using Windows 2000 or later operating systems are written to the Application Log, with a "Source" name of Wininit or Winlogon and can be viewed with the Event Viewer. On the Windows 7 operating system, look for events with a "Source" name of "Chkdsk"The standard version of CHKDSK supports the following switches :
filename FAT only. Specifies the file or set of files to check for fragmentation. Wildcard characters (* and ?) are allowed. path FAT only. Specifies the location of a file or set of files within the folder structure of the volume. size NTFS only. Changes the log file size to the specified number of kilobytes. Must be used with the /l switch. volume FAT and NTFS (NTFS support is unofficially supported but works normally). Specifies the drive letter (followed by a colon), mount point, or volume name. /c NTFS only. Skips checking of cycles within the folder structure. /f Fixes errors on the volume. The volume must be locked. If CHKDSK cannot lock the volume, it offers to check it the next time the computer starts. /i NTFS only. Performs a less vigorous check of index entries. /l[:size] NTFS only. Displays current size of the log file. If size is specified, changes the log file to that size (in kilobytes). /p Checks disk even if it is not flagged as "dirty" (only available in the Recovery Console). /r Locates bad sectors and recovers readable information (implies /f and /p). Unreadable data is lost. If CHKDSK cannot lock the volume, it offers to check it the next time the computer starts. /v On FAT: Displays the full path and name of every file on the volume. On NTFS: Displays cleanup messages, if any. /x NTFS only. Forces the volume to dismount first, if necessary. All opened handles to the volume are then invalid (implies /f ). /b NTFS only, since Vista. Clears the list of bad clusters on the volume and rescans all clusters for errors (implies /r). /? Displays the list of available CHKDSK switches. When running CHKDSK from the Recovery Console the options are different. The /p is not read-only as in the standard version but corrects errors :[1]
/p Fixes errors on the volume. Same as the /f option in standard CHKDSK. /r Locates bad sectors and recovers readable information (implies /f and /p). Takes much longer to run than /p by itself. A typical result:
Checking file system on C: The type of the file system is NTFS. A disk check has been scheduled. Windows will now check the disk. Cleaning up minor inconsistencies on the drive. Cleaning up 318 unused index entries from index $SII of file 0x9. Cleaning up 318 unused index entries from index $SDH of file 0x9. Cleaning up 318 unused security descriptors. CHKDSK is verifying file data (stage 4 of 5)... File data verification completed. CHKDSK is verifying free space (stage 5 of 5)... Free space verification is complete. 14996645 KB total disk space. 10187752 KB in 88054 files. 30784 KB in 5774 indexes. 0 KB in bad sectors. 164341 KB in use by the system. 65536 KB occupied by the log file. 4613768 KB available on disk. 4096 bytes in each allocation unit. 3749161 total allocation units on disk. 1153442 allocation units available on disk.
Vista result (App Event Log) found in "bootex.log" in the root folder of the drive:
Checking file system on C: The type of the file system is NTFS. A disk check has been scheduled. Windows will now check the disk. 79232 file records processed. 332 large file records processed. 0 bad file records processed. 2 EA records processed. 44 reparse records processed. 105198 index entries processed. 0 unindexed files processed. 79232 security descriptors processed. Cleaning up 1 unused index entries from index $SII of file 0x9. Cleaning up 1 unused index entries from index $SDH of file 0x9. Cleaning up 1 unused security descriptors. 12984 data files processed. CHKDSK is verifying Usn Journal... 35789792 USN bytes processed. Usn Journal verification completed. Windows has checked the file system and found no problems. 78175231 KB total disk space. 12902428 KB in 54029 files. 36068 KB in 12985 indexes. 0 KB in bad sectors. 187407 KB in use by the system. 65536 KB occupied by the log file. 65049328 KB available on disk. 4096 bytes in each allocation unit. 19543807 total allocation units on disk. 16262332 allocation units available on disk.
Examples
To CHKDSK a usb drive (or other drive) use
chkdsk e: /r
where e would be your external drive letter.DOS-based CHKDSK
The MS-DOS 5 bug
The version of CHKDSK (and Undelete) supplied with MS-DOS 5.0 has a bug which can corrupt data. This applies to
CHKDSK.EXE
andUNDELETE.EXE
with a date of 04/09/91 (April 9, 1991). If the file allocation table of a disk uses 256 sectors, runningCHKDSK /F
can cause data loss and runningUNDELETE
can cause unpredictable results. This normally affects disks with a capacity of approximately a multiple of 128 MB. This bug was fixed in MS-DOS 5.0a. A Microsoft Knowledge Base article[2] gives more details on this.See also
External links
- Microsoft
- Microsoft TechNet Chkdsk article
- Understanding what CHKDSK does (NTFS only) – Microsoft Article
- Troubleshooting Disks and File Systems - TechNet Article on Windows XP resources to troubleshoot hard disk errors
- Other
- Graphical CHKDSK Walkthrough – Covering both Windows and Command line options
- How to Use Chkdsk in Windows XP – Also explains how the program works
References
Windows command line programs and built-ins (more) File system
(basic)File system
(advanced)Processes Registry User environment Text processing Shell programming Networking Searching Miscellaneous Categories:- MS-DOS/Windows Command Prompt commands
- Microsoft Windows file system technology
- DOS commands
- OS/2
- Windows disk file systems
- Hard disk software
- Microsoft
Wikimedia Foundation. 2010.