chkdsk.exe in action on drive C: in Windows 10
|Original author(s)||Tim Paterson|
|Developer(s)||SCP, Microsoft, IBM, DR, Datalight, Novell, Toshiba, PhysTechSoft, ReactOS Contributors|
|Written in||MS-DOS: x86 assembly language|
FreeDOS, ReactOS: C
|Operating system||86-DOS, MS-DOS, PC DOS, MSX-DOS, SISNE plus, OS/2, eComStation, ArcaOS, FlexOS, DR-DOS, ROM-DOS, 4690 OS, PTS-DOS, Windows, FreeDOS, ReactOS|
FreeDOS, ReactOS: GPLv2
CHKDSK (short for "check disk") is a system tool and command in DOS, Digital Research FlexOS, IBM/Toshiba 4690 OS, IBM OS/2, Microsoft Windows and related operating systems. It verifies the file system integrity of a volume and fixes logical file system errors. It is similar to the
fsck command in Unix and similar to Microsoft ScanDisk which co-existed with
CHKDSK in Windows 9x and MS-DOS 6.x.
MS-DOS / IBM PC DOS
The command is available in MS-DOS versions 1 and later.
CHKDSK is implemented as an external command. MS-DOS versions 2.x - 4.x use
chkdsk.com as the executable file. MS-DOS versions 5.x and later use
chkdsk.exe as the executable file.
MS-DOS 5.0 bug
UNDELETE in MS-DOS 5.0 have a bug which can corrupt data: If the file allocation table of a disk uses 256 sectors, running
CHKDSK /F can cause data loss and running
UNDELETE can cause unpredictable results. This normally affects disks with a capacity of approximately a multiple of 128 MB. This applies to
UNDELETE.EXE bearing a datestamp of April 9, 1991. This bug was fixed in MS-DOS 5.0a.
On Windows NT operating systems,
CHKDSK can also check the disk surface for bad sectors and mark them (in MS-DOS 6.x and Windows 9x, this is a task done by Microsoft ScanDisk). The Windows Server version of
CHKDSK is RAID-aware and can fully recover data in bad sectors of a disk in a RAID-1 or RAID-5 array if other disks in the set are intact.
On Windows NT family, a standard
CHKDSK scan consists of three phases of testing file metadata. It looks for errors but does not fix them unless it is explicitly ordered to do so. The same applies to surface scan—this test, which could be extremely time-consuming on large or low-performance disks, is not carried out unless explicitly requested.
CHKDSK requires exclusive write access to the volume to perform repairs.
Due to the requirement of the monopolized access to the drive, the
CHKDSK cannot check the system disk in the normal system mode. Instead, the system sets a dirty bit to the disk volume and then reboots the computer. During the Windows start-up, a special version of
Autochk (a native mode application) is started by the SMSS.EXE and checks the drive if the dirty bit is set.
Because of the exclusive access requirement and the time-consuming nature of
CHKDSK operation, Windows Vista implemented a new file system health model in which the operating system fixes errors on the volumes as it encounters them. In the event that the problem is grave and a full scan is required, Action Center notifies the user to take the volume offline at the first convenience.
Windows Vista and Windows Server 2008 added self-healing ability, turned on by default, in addition to providing the
CHKDSK command. It detects physical file system errors and silently fixes them on the fly. Thus, many problems previously discovered on running
CHKDSK never appear. It is administered by
fsutil repair command.
The alleged Windows 7 bug
Before the release of Windows 7, InfoWorld reported an alleged memory leak in
CHKDSK; according to the report, the
chkdsk /r command would cause the memory consumption to reach the maximum and the system to crash. Randall C. Kennedy of InfoWorld attributed the original report to "various Web sources" and said that in his tests, the memory consumption reached above 90%, although he did not experience a crash. Nevertheless, Kennedy took the memory consumption for a critical bug that would derail Windows 7's launch and chastised Microsoft. Tom Warren of Neowin dismissed Kennedy's assessment of the alleged leak's significance. Steven Sinofsky of Microsoft also responded that Microsoft could not reproduce a crash either but that the massive memory consumption was by design, to improve performance, and not a leak. Ed Bott of ZDNet also reviewed the claim with his own tests and observed that no crash would occur. Noting that
chkdsk /r, by design, does not work on the system drive while Windows is online, Bott concluded "it’s arguably a feature, not a bug, and the likelihood that you’ll ever crash a system this way is very, very small and completely avoidable."
The ReactOS implementation is based on a free clone developed by Mark Russinovich for Sysinternals in 1998. It was adapted to ReactOS by Emanuele Aliberti in 1999 and supports volumes using the FAT32 filesystem. The command does not support volumes using the Btrfs filesystem, although ReactOS supports it since version 0.4.1.
- "FlexOS User's Guide" (PDF). www.bitsavers.org. 1986. Retrieved 2020-09-14.
- [dead link]
- [dead link]
- "134-TENEX JOBZRO.MAC". BitSavers. 1979-09-16.
- "Xerox Palo Alto Research Center" (PDF).
Under Tenex .. Hardware Maintenance Procedures .. Recovery from Checkdsk Errors
- "86-DOS User's Manual - Version 0.3" (PDF). Archived from the original (PDF) on 2019-07-14. Retrieved 2019-06-09.
- Wolverton, Van (2003). Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. Microsoft Press. ISBN 0-7356-1812-7.
- "MS-DOS and Windows command line chkdsk command". www.computerhope.com.
- "When Not to Use MS-DOS 5.0
UNDELETECommands". Support (1.1 ed.). Microsoft. 16 November 2006.
- "Description of the Windows XP Recovery Console for advanced users". Support (8.0 ed.). Microsoft. 11 July 2013. Retrieved 4 September 2014.
- Holm, Dan; Thomas, Orin (2003). "11-3: Maintaining Disk Storage Volumes". Managing and Maintaining a Microsoft Windows Server 2003 Environment. Microsoft Press. p. 11.25. ISBN 9780735614376.
- "An explanation of the new /C and /I Switches that are available to use with Chkdsk.exe". Microsoft Support. Microsoft. 1 December 2007. Archived from the original on 24 October 2014. Retrieved 25 January 2019.
- "Troubleshooting Disks and File Systems". Windows XP Professional Resource Kit. Microsoft. 3 November 2005. Retrieved 4 September 2014.
- Bangalore, Kiran (10 May 2012). Sinofsky, Steven (ed.). "Redesigning chkdsk and the new NTFS health model". Building Windows 8. Microsoft.
- Chen, Ken (4 August 2014). "NTFS Self-Healing is An Overlooked but Useful Feature in Windows 7". Next of Windows.
- Pawar, Amit (13 February 2008). "Self-healing NTFS in Windows Server 2008 and Windows Vista". Amit Pawar - Infrastructure blog. Microsoft.
- Kennedy, Randall C. (5 August 2009). "Critical Windows 7 bug risks derailing product launch". InfoWorld. IDG. Retrieved 19 February 2015.
- Warren, Tom (5 August 2009). "Windows 7 RTM contains a rather nasty chkdsk bug". Neowin. Retrieved 19 February 2015.
- Bott, Ed (5 August 2009). "A killer Windows 7 bug? Sorry, no". ZDNet. CBS Interactive.
- "DR DOS 6.0 User Guide Optimisation and Configuration Tips" (PDF). Archived from the original (PDF) on 2019-09-30. Retrieved 2019-08-13.
- "ibiblio.org FreeDOS Package -- chkdsk (FreeDOS Base)". www.ibiblio.org.
- "reactos/reactos". GitHub.
- Wolverton, Van (1990). MS-DOS Commands: Microsoft Quick Reference, 4th Revised edition. Microsoft Press. ISBN 978-1556152894.
- Kathy Ivens; Brian Proffit (1993). OS/2 Inside & Out. Osborne McGraw-Hill. ISBN 978-0078818714.
- Frisch, Æleen (2001). Windows 2000 Commands Pocket Reference. O'Reilly. ISBN 978-0-596-00148-3.
|Wikibooks has a book on the topic of: Guide to Windows Commands|
|Wikimedia Commons has media related to Screenshots of CHKDSK.|