Chkdsk is a Windows utility that diagnoses and possibly repairs disk issues. It has several options, but the two most commonly cited are /F, for fix, and /R, for repair.
Aren’t “fix” and “repair” just two words for the same thing?
Yes. But when it comes to CHKDSK, no.
Become a Patron of Ask Leo! and go ad-free!
CHKDSK /F scans for and attempts to repair errors in the file system overhead information stored on a disk. CHKDSK /R includes /F, but also scans the entire disk surface for physical errors and attempts to repair them as well. Repairs are often successful, but not guaranteed.
Fix: CHKDSK /F
While “fix” and “repair” are synonyms in English, CHKDSK uses them to mean two different things.
CHKDSK /F is concerned with the information stored on the disk — more specifically, the file system information that tells Windows about the files, folders, and data on the disk, and their disk locations.
Think of it as the Table of Contents to a book. CHKDSK /F makes sure the Table of Contents entries all point to the right chapters, that all chapters have entries, and that the page numbers and spelling of the entries are correct.
It’s all about making sure the Table of Contents is correct and leads you to the right information in the book, and that all the information in the book can be found via the Table of Contents.
Back in disk terms, it’s all about making sure that the file system information is correct, leading Windows to the right data on the disk, and that all the data on the disk is correctly represented in the filesystem information.
If errors are found, CHKDSK /F does its best to repair the information, though it’s not always possible.
Repair – CHKDSK /R
CHKDSK /R begins by performing the same function as CHKDSK /F. (This implies that “CHKDSK /F /R” is redundant, as /R includes /F.) CHKDSK /R is also concerned with the physical condition of the information stored on the disk — more specifically, whether or not the data is readable.
Think of this as carefully examining our book page by page to make sure that all the text is legible and no pages are torn. This step doesn’t care what’s on the pages; only that they can be read and aren’t damaged.
In disk terms, CHKDSK /R scans the entire disk surface, sector by sector, to make sure every sector can be read properly. As a result, a CHKDSK /R takes significantly longer than /F, since it’s concerned with the entire surface of the disk, not just the parts involved in the Table of Contents. It carefully examines every single page, not just those referenced by the Table of Contents.
If errors are found, CHKDSK /R does its best to work around them, though it’s not always possible.
If errors are found…
Both /F and /R attempt to fix any errors they find.
CHKDSK /F attempts to build a new Table of Contents, meaning it tries to repair the file system overhead information. Depending on the nature of the errors found, though, CHKDSK may not succeed, resulting in lost files.
Occasionally, CHKDSK /F uncovers information that should be a file, or part of a file, but doesn’t know what to do with it. Then it creates “.CHK” files to contain that information. In our book analogy, it’s like saying “I found these pages, but I have no idea which chapter they belong to.”
CHKDSK /R attempts to use spare disk sectors, if any are available, to take the place of damaged sectors it finds, and then marks the original sector as “bad”, indicating it should no longer be used.
CHKDSK doesn’t cause errors
Because many people first learn about missing files or bad sectors after running CHKDSK, they often blame it for causing those errors. That’s a clear case of shooting the messenger.
CHKDSK doesn’t cause errors; it uncovers them. The errors were already there.
Disk errors happen. Disk failures happen. CHKDSK is one useful tool for recovering from certain types of errors.
But you still need to back up. CHKDSK can’t save you from everything, regardless of whether you use /R or /F.