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.
Wait.
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.
Subscribe to Confident Computing! Tech problem solving & safety tips with a weekly confidence boost in your inbox every week.
I'll see you there!
Slow Computer?
Speed up with my FREE special report: 10 Reasons Your Computer is Slow, now updated for Windows 10.
No strings. No email. Here's the direct download. (Just right-click and "Save As...".)
Thanks Leo, you’re really nailing the most critical issues / issues / knowledge gaps this week!
This is by far the VERY BEST explanation of CHKDSK I’ve yet come across. Finally, “light” … fully, now, out of the darkness w.r.t. this function / tool.
Thanks so much!
Dorian
Leo, Can you run CHKDSK on a solid state drive or does it only work on spinning drives?
That’s right here: Should I Run CHKDSK on My SSD? (Spoiler: yes.)
As usual, excellent information for the lightly informed.
Running CHKDSK (from personal experience): Sometimes, when you run CHKDSK it’ll tell you that the drive is busy and you need to reboot the machine first. In that event CHKDSK sets a flag, called the dirty bit, which tells it to run immediately after reboot. If CHKDSK completes successfully it resets or clears that dirty bit flag. Since the world isn’t perfect, you may come across a situation when CHKDISK doesn’t complete successfully and so it never clears the dirty bit flag. What happens in then is that every time the machine boots up CHKDSK is run again, fails again, and you find yourself in a ground hog day scenario (referring to the movie). There is no way to manually clear the dirty bit, such as in the Registry. The only way is to get CHKDSK to complete successfully. How do you get off this merry-go-round? Not easily.
When CHKDSK gets ready to run it’ll show a message, very briefly, saying to press any key to cancel the scan process. If you’re quick enough to catch that and pound on the keyboard your machine will boot up, but that won’t clear the dirty bit. Once you get on the machine, run CHKDSK in its most minimalist configuration, with the /I and/or /C options and hope that it clears the dirty bit. This situation can get so hopeless that many online sites suggest the nuclear option: reformat and reinstall Windows.
excellent article – does /F mean for FAT? also, are there any other choices with chkdsk?
/F means “Fix” as outlined in the article.
CHKDSK /? will list all the options – there are several.
I use chkdsk without an option. ‘chkdsk.exe /scannow’.
What am I getting?
You should be getting “Invalid parameter – /scannow”. “/scannow’ is a parameter to the SFC command, not CHKDSK.
OUCH! You are correct. A little brain dead today
Amplifying upon Leo’s answer — if you’re not getting an error message on that command, then something is seriously wrong with Windows…
Steve Gibson had a utility program that ran under DOS which fixed most disk glitches. Is it still available? Any good?
Doesn’t matter, because DOS itself no longer exists.
Was the utility called SpinRite?
https://www.grc.com/sr/spinrite.htm
It doesn’t matter that DOS no longer exists. Spinrite boots into its own FreeDOS environment and can be run on even on a Linux system as it doesn’t boot into the installed OS.
And freedos still exists: https://www.freedos.org/
SPINRITE is still around, but last I heard it hadn’t been updated in YEARS. I used to recommend it often. https://www.grc.com/sr/spinrite.htm
That’s one thing I’ve wondered about. It hasn’t been updated but since it boots into its own DOS environment, wouldn’t it still work? I imagine it’s simple enough that all the bugs probably have been eliminated so it might not need an update, although a cosmetic change to give it a more modern look might be nice.
I believe it has problems with some (not all) SATA interfaces, and some (not all) larger drives. Fortunately there’s a 100% money back guarantee.
Steve Gibson is busy with an exercise to update and extend SpinRite. This exercise was suspended for a couple of years while he developed his identify verification system (SQRL) as a replacement for password based logins. He’s now back working on Spinrite and extending it to deal with modern bios / secure boot systems as well as to speed up disk access. As he programs in Assembly this will take a while.
He might be a little late. With more and more computers coming with SSDs, fewer people will be a target audience for SpinRite. External HDDs will still be around for a long time but I’m sure his biggest market is for system drive repair.
This concerns me too. HDDs will be around for a long time, but I suspect consumer devices are already switching away to SSDs for the majority. Even my own beefy desktop is SSD based.
I’m planning on getting a new desktop this week. I’ll get a 256 GB SSD system drive with a capacious HDD. Not sure how big yet but probably at least 5 TB because, why not?
As I understand it, as long as I have redundant backups, chkdsk.exe would be enough to mark bad sectors and the backup would protect against data loss, so I probably would never need SpinRite.
He’s been “working on it” for well over a decade.
“SQRL” is an awesome name for one of his efforts, since I think that characterizes his attention span as well — he’s been diverted to so many projects over the years, and SpinRite always seems to take a back seat. I love what he does, I just wish he could focus … the SpinRite update is long, long over due.
I have a Dell computer that will not boot. How do I boot from a Windows 10 boot repair disk? I can get to the bios Boot order screen but can not change the order. It just stays on Hard Drive. Any help would be appreciated.
You’ll have to reach out to Dell for help. This is one of those things that’s different for every machine. Make sure to include the specific model of machine you have when you ask there.
Hi Leo,
My Western Digital passport external drive is giving an error “File record segment is unreadable” upon chkdsk /f run. It is a 1 TB external drive and I have bunch of such errors (bunch of unreadable addresses). How can I fix there errors and retrieve my data back? Thank you so much in advance for your help.
Thanks!
What you’re saying is your data is not backed up anywhere else? That’s bad.
What I would do:
If after all that you’re not getting all the data you want, you may need to enlist the services of a data recovery company. This will cost money.