What is the difference between chkdsk /f and chkdsk /r?

/F Fixes errors on the disk.
/R Locates bad sectors and recovers readable information (implies /F).

(from dir /?)

It just sounds like the same thing to me. I never know which one to use - is there even a difference? Or is it maybe for backwards compatibility with previous versions of Windows where there was a difference?


chkdsk /r does the same thing as chkdsk /f only it also checks for bad sectors on the disk and recovers any readable information. Running chkdsk /r implies that also chkdsk /f is run.

chkdsk /f only checks for disk errors, not bad sectors.

Microsoft has a detailed page for chkdsk. The following is a snippet explaining /f and /r parameters.

Fixing disk errors:

Chkdsk corrects disk errors only if you specify the /f command-line option. Chkdsk must be able to lock the drive to correct errors. Because repairs usually change a disk's file allocation table and sometimes cause a loss of data, chkdsk sends a confirmation message.

Finding physical disk errors:

Use the /r command-line option to find physical disk errors in the file system.