Technology in terms you understand. Sign up for the Confident Computing newsletter for weekly solutions to make your life easier. Click here and get The Ask Leo! Guide to Staying Safe on the Internet — FREE Edition as my thank you for subscribing!

What’s the Difference Between CHKDSK /F and CHKDSK /R?

How much do you want to check?

CHKDSK /F /R
CHKDSK /F /R in action. (Screenshot: askleo.com)
CHKDSK is a powerful Windows utility used to diagnose and repair disks. /F and /R represent two types of repairs.
The Best of Ask Leo!

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!

TL;DR:

CHKDSK /F or /R?

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 file system overhead 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 overhead 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.

Do this

Run CHKDSK occasionally when you suspect you're having disk problems. On a disk without issues, it's completely safe, and if there are issues, repairing them may recover data and/or extend the life of the disk itself.

When you're done, subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.

Podcast audio

Play

51 comments on “What’s the Difference Between CHKDSK /F and CHKDSK /R?”

  1. 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

    Reply
  2. 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.

    Reply
  3. 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.

    Reply
  4. 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!

    Reply
    • What you’re saying is your data is not backed up anywhere else? That’s bad.

      What I would do:

      1. Back up the entire drive as best you can right now. Ignore errors, and get as much off of it as you can.
      2. CHKDSK /R on the drive. This could take a long time.
      3. Back up the drive AGAIN. Hopefully, you’ll get more of your data back.
      4. Replace the drive.

      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.

      Reply
  5. I ran chkdsk /f /r on boot up. I expected it would a take a long time, so at 13% complete I walked away. Two hours later and the computers login screen is up. I log into windows. Not like old days where after chkdsk ran, it was still there in DOS environment with report.

    So where do I go to find the chkdsk report? Yeah, its called a log file or some other such thing, so where is it to tell me what it found and what happened? For all I know it exited due to some error and never finished.

    thanks

    Reply
  6. I ran chkdsk d: /f /r /x on my laptop for 1TB for one of the partiotioned drive (drive D: in my case). Apparently, took more than 12 hours and still running.

    My PC is still running and i went to Disk MAnagement to try to assign a letter back to mount back the drive , but unable to do so. So, now my Drive D is disabled.

    I am not sure if i can stop it halfway and reboot. Is it safe to do so? OR should I just keep it running until it ends? If it really stuck for say more than a day, it is okay I reboot? Please help. thanks .

    Reply
    • If it’s doing it for that long, there’s probably a reason. (The fact that CHKDSK is still running is WHY you can’t assign drive letter). I’d let it run as long as you can tolerate, and then instead of rebooting, go to the command window in which CHKDSK is running and type CTRL+C. That’ll stop it.

      Reply
      • Thanks for the quick reply , Leo!

        Chkdsk just paused for a very long and progressing very slowly. It says in C Prompt – Stage: 9% , Total: 22% since this morning. I supposed my hardisk are giving way soon. I saw a prompt from my Asus laptop that says “S.M.A.R.T status bad, backup and replace” yesteday and I need to press F1 to resume to Windows. I called Asus and they said, hardisk issue. Most likely going to go soon.

        I was actually trying to copy files for backup and some files are unable to read the source. That is why I attempted to repair it.

        I will take your advise and keep it running for as long as I can tolerate hahaha… will do the Control + C to stop it. Just want to check with you that I can then mount my Drive D back by assigning the letter at Disk Management once I stopped Chkdsk with Control + C, yes?

        Reply
        • It should come back automatically, but if not you should be able to assign the drive letter. And yes, BACK THAT DRIVE UP. It’s failing. (Ideally, you’d back all drives up regularly before they fail.)

          Reply
  7. This is an excellent article. There are a few other things I would add from experience: First, the /X option is your friend, as it will give scandisk exclusive access to the drive; Second, while, as the article correctly states, scandisk does not cause errors, I do tend to refer to it as a potentially destructive utility, if only because it can place file data out of context (i.e. in a .CHK file, where it is of little use). Finally, defrag is an excellent prelude to scandisk, since sectors having errors correctible by scandisk will cause defrag to fail. Both defrag and scandisk work best when at least 15% of the drive is free. When scandisk finds an error and names the file using the sector, you can sometimes copy that entire file to a different place on the same disk successfully, thereby forcing an update to the FAT or MFT before running scandisk again.

    Reply
    • “I do tend to refer to it as a potentially destructive utility, if only because it can place can’t determine which files they are associated with.”
      It is not moving anything out of context. It is creating new files. So, it’s not doing any damage. When I first used CHKDSK, I’d look at those files, but they never contained any useful data, so now, I move them to my backup disk without looking at them, just in case it turns out they might have anything useful.

      Reply
  8. I don’t think any of these methods help when you can’t seem to locate the drive… Some time back, I had an SSD installed as my main drive, and took a HDD from the old computer and had it installed as a backup into the new frame. It was working fine, and then all of a sudden, it “disappeared.” While I can see it listed by an alphanumeric name in “Disk Management”, its name is “Disk 1” and it shows as “Unknown not initialized” and “unallocated.”
    If I go to “Devices and Drives” it does not show up as a storage drive; only the main SSD and the WD backup, and DVD drive show letters. I’ve tried a lot of things to try and get at the HDD but with no success. It’s as if it doesn’t exist, but in Device manager it shows under Disk drives as “ST1000DM003.”

    Any thoughts?

    Reply
      • Here’s a slight variation for backup purposes, for you to comment upon…

        Running W10 as primary SSD drive, with what was an older HDD as “slave” for backup location, in addition to an external backup (WD) hardware…the backup HD is the one I referred to earlier in this thread, which I believe you’re right in suggesting it is likely kaput.

        If I have another system (XP) with a working hard drive, and want to format that drive completely and use it for the “slave” to W10, which would be one of two other backups then (internal, and WD external SSD) — would that work? That is: having removed any relevant photos, etc. from the old computer (XP), then would you format that drive to create a blank drive that could then be used only for a backup of the W10 system? AND, if so, what method would you use to best strip that old XP drive: format in the older machine (to make sure it doesn’t conflict with the W10 system by installing it downstream to the main drive with the intent to format it in the new machine)?

        Reply
    • What is “tried a lot of things”? Before you give up that it’s a drive failure, try these (if you haven’t): Make sure the cable connections (data and power) are securely installed. Make sure the motherboard side of the data cable is securely installed. If your computer has another data cable for a hard drive, try that. Try the hard drive in another computer. Go to device manager, right click on properties, and the driver tab, uninstall the driver and reboot your computer. Of course, if you’re running Windows 10 it may be that your disk driver was corrupted in an update, so see if you can find an old driver from the manufacturer. Install a free version of a disk management utility, such as Aomei, Macrium, PartitionWizard, etc. These utilities will give you other options to try and may provide some clues. Maybe you accidentally created a drive letter conflict, so try assigning a different drive letter, such as Z (something that you would never use). Reformat it with NTFS. See if you can partition the drive (using one of the disk utilities). Make sure the hard drive is enabled in the BIOS/UEIF (although, if it were disabled you wouldn’t see it at all). Just to cover all basis, check the Power Options in the Control Panel. Depending on your computer and OS you may have settings for selectively suspending a drive.

      Reply
      • aa…: Thanks for the comments. My IT guy remote connected a year or so back, tried everything in his bag of tricks, but in the end he couldn’t figure it out.

        In Disk Management, it shows as “Disk 1” and when I open the Management feature, a pop up says “Disk 1 must be initialized…” so when I click “OK” another pop up window (Virtual Disk Manager) says “The request could not be performed because of an I/O device error.”

        The “file history backup log” shows 297 events. The Disk shows as only being 3.86GB (in dManagement, under its name) and 3.86Gb unallocated. The event log started in July 2020 (maybe it caught COVID). Clicking each event line, coming forward in time, gives you some info about “the issue” highlighted.

        The final event log entry (Sep 2020) read: “Unusual condition was encountered during finalization of a backup cycle for configuration C:\Users………”

        I am pretty sure that the drive was larger than 3.86Gb, into the hundreds, but can’t recall accurately anymore.

        In the list under “volume” (disk management), “Disk 1” does not appear; only C:\, Disk 0 partition 1, Disk 0 partition 2, My Passport (D:\), and WD Unlocker (E:\).

        I’ll admit I have not checked cables, etc. because the unit is never entered by myself and I can’t see why it would come off, but also don’t feel qualified to assess that aspect.

        That drive (was “B:\”) was only being used to back up the main C:\ drive, in addition to a WD external drive for backup. So I’m puzzled; but tonight bought a new external SSD (WD) My Passport 1TB with a view to doing an IMAGE of the current hard drive (internal, SSD) to the WD external HDD, then ejecting it and storing it “in case” whilst putting the new SSD external on as a new backup of the C:\ drive (which I realize will not cover all disk components, but will cover files, email, photos, etc.). I’d do incremental on it, perhaps using MACRIUM REFLECT 8 (??chime in guys, is it better than using the WD Discovery “software for backup and password protection” that the box says is included with the SSD I bought)? I suspect I’d have to format the new external SSD drive to remove that software, if I wanted to use Macrium instead??

        I’ve tended to agree with Leo that the old drive inside is likely fried, and suspect that since so many of the event lines reference a “pathway that exceeded allowable file name…” (sic) it was trying to back up but just gave up, or the 3.86Gb wasn’t enough left on the drive to allow it to do its magic, maybe.

        Reply
  9. I ran chkdsk /f and let it do its thing, which was quick, given that it was scanning an SSD. But when it finished and displayed the “100 % complete” message, the system wouldn’t reboot. I let it sit for about 5 minutes, then hit the reset button to get things back on track. I then checked the log file and no problems were reported. Any ideas why the system wouldn’t reboot after chkdsk?

    Thanks,
    James

    Reply
    • CHKDSK was not designed for SSD. It’ll run on an SSD and very likely won’t harm it, but it won’t have any benefits either. SSDs have their own, build in, maintenance software which is always running to get the most efficiency out of the drive. Also, don’t run defrag on an SSD. I believe Leo had an article about this.

      Reply
      • CHKDSK /F will run on and repair software errors on SSDs. I say software errors because it doesn’t fix hardware errors. It rebuilds indexes. I don’t believe it can recover data from bad sectors as it sometimes can on an HDD.
        It has nothing to do with maintenance or speed efficiency.

        Reply
  10. MR, LEO, Your contributions are a great help to many people like me who is willing to learn as a senior. May God bless you a HAPPY, HEALTHY, PROSPEROUS, AND PEACEFUL LONG LIFE. Padman d

    Reply
  11. Hello sir my external hard drive shown the error “The Parameter is Incorrect” and after another window pop out format the disk. I don’t want to format the disk so I ran the command chkdsk d: /f /r /h (h my hard drive name).But its taking too long time, I am already over 60 hours and the task is only completed 10% of stage 4 of 5.It’s taking too long, what should I do, should I terminate the above command and just run chkdsk d: /f. Will my data be lost if above command terminated. please reply.Thanks.

    Reply
    • Your data should not be lost by terminating the command, but given the behavior the data might have been lost before you even ran CHKDSK. I would:

      • Stop the CHKDSK
      • Copy off all data possible to a different location.
      • Recover anything that couldn’t be copied from backups.
      • If you did or could lose data in this scenario I’d start backing up more completely immediately

      It definitely feels like that drive is dying.

      Reply
  12. This has to be one of the best explanations of a CMD function that I have ever seen. The difference makes perfect sense now. Thank you so much.

    Reply

Leave a reply:

Before commenting please:

  • Read the article.
  • Comment on the article.
  • No personal information.
  • No spam.

Comments violating those rules will be removed. Comments that don't add value will be removed, including off-topic or content-free comments, or comments that look even a little bit like spam. All comments containing links and certain keywords will be moderated before publication.

I want comments to be valuable for everyone, including those who come later and take the time to read.