How to Scan & Fix Hard Drives with CHKDSK in Windows 10

CHKDSK (pronounced “Check Disk”) is a very useful and vital tool for monitoring your disk drive health. This tool uses a multipass scan of a drive to verify that its soundness and functionality are intact. Using CHKDSK to ensure your drives are running correctly is a great way to speed up Windows 10, and we suggest you use the tool every few months to keep your drives safe and healthy.

In this article, we’ll go over what CHKDSK is, how it works, and how you can use it to repair your hard drive in Windows 10.

How CHKDSK Works

CHKDSK starts by scanning the file system on the disk drive and analyzing the integrity of the files, file system, and file metadata on the drive.

When CHKDSK finds logical file system errors, it fixes them in place, saving the data that is on the disk so that nothing is lost. Logical file system errors are things like corrupted entries in the drive’s master file table (MFT), a table that tells the drive how files are connected in the murky labyrinths of the drive’s hardware.

CHKDSK also fixes misaligned time stamps, file size data, and security flags on files on the drive. CHKDSK can then conduct a complete scan of the drive, accessing and testing every sector of the hardware. Hard drives are divided into logical sectors, defined areas of the drive where a certain defined quantity of data will be stored.

Sectors can develop soft errors, in which case data has been written incorrectly to the magnetic medium, or hard errors, which are cases when the drive itself has an actual physical defect in the area designated as a sector. CHKDSK fixes soft errors by rewriting the faulty data and resolves hard errors by marking that section of the disk as being damaged and ‘out of bounds’ for future use.

Because CHKDSK has been updated and upgraded repeatedly with each new generation of storage hardware, the program continues to work correctly to analyze and repair hard drives of any sort. The same process that used to be executed to analyze a floppy disk holding 160K, can today be executed to analyze an SSD holding 15 terabytes.

Running CHKDSK on Windows 10

Although there are several different ways that you can invoke CHKDSK on a Windows 10 machine, by far the most common and ordinary place to run the utility is via a command prompt known as the Windows PowerShell.

However, because CHKDSK talks directly to drive hardware, it requires a special level of operating system permission known as administrative privileges. This just means that CHKDSK is allowed to run as though it was the account that is in charge of the computer.

To launch the Windows PowerShell, press  the Windows Key + X. This brings up the power users menu in the start menu area, where you will see several options. You can release the Windows Key + X combination and type the A key (short for Admin) to launch the Windows PowerShell in administrative privilege mode. You can also simply move the mouse to the Windows PowerShell (Admin) line and click to launch the shell that way.

The next screen to appear is a User Account Control (UAC) window which will ask for permission to launch the Windows Command Processor and let it make changes to the PC. Select “Yes.”

The Windows PowerShell will now launch a familiar black and white box with a text command-line interface. The most basic way to invoke CHKDSK is simply to type the name of the program “chkdsk”, followed by a space, then the letter of the drive you wish to examine or repair.

In our case, it’s internal drive “C:”, so the command would be “chkdsk c:”

This basic invocation of CHKDSK will scan the disk and display status information, but it will not fix any errors that are encountered.

To run CHKDSK in a mode where it will actually fix problems that it encounters, you need to add several parameters. In a Windows PowerShell program, parameters are additional commands added to the end of the program name, with “/” characters before each parameter. In this case, to get CHKDSK to do a full scan and repair pass, we would want to type “chkdsk c: /f /r /x”.

The “/f” parameter instructs CHKDSK to fix any errors that it discovers during its scan. The “/r” parameter tells CHKDSK to locate any bad sectors and recover any readable information it finds there. The “/x” parameter tells CHKDSK to dismount the drive (take it offline from the operating system) before the process begins.

Additional CHKDSK Parameters

CHKDSK has a large library of optional parameters that you can use to modify the program’s behavior.

  • <Volume> – The Volume parameter allows you to specify a drive letter (with a colon) or volume name. You do not actually need the < and > characters.
  • [<Path>]<FileName> – The Path and FileName parameters can be used only a drive using the FAT or FAT32 organizational models. With Path and FileName, you can specify the location and name of a file or set of files that you want CHKDSK to check for fragmentation. You can use the ? and * wildcard characters to specify multiple files.
  • /f – The /f parameter instructs CHKDSK to actually fix errors on the disk. The disk must be locked. If CHKSDK cannot lock the drive, a message appears that asks you if you want to check the drive the next time you restart the computer.
  • /v – The /v parameter displays the name of each file in every directory as the disk is checked.
  • /r – The /r parameter locates bad sectors and recovers readable information. The disk must be locked. /r includes the functionality of /f, with the additional analysis of physical disk errors.
  • /x – The /x parameter forces the volume to dismount first, if necessary. All open handles to the drive are invalidated. /x also includes the functionality of /f.
  • /i – The /i parameter can only be used with a drive formatted with the NTFS model. This speeds up CHKDSK by performing a less vigorous check of index entries, which reduces the amount of time required to run CHKDSK.
  • /c – The /c parameter also is only usable on an NTFS disk. This tells CHKDSK not to check cycles within the folder structure, which reduces the amount of time required to run CHKDSK.
  • /l[:<Size>] – The /i parameter can only be used with NTFS. It changes the size of the resulting log file to the size you type. If you omit the size parameter, /l displays the current size.
  • /b – The /b parameter is usable only with NTFS. It clears the list of bad clusters on the volume and rescans all allocated and free clusters for errors. /b includes the functionality of /r. Use this parameter after imaging a volume to a new hard disk drive.
  • /? – The /? parameter displays a help file containing this list of parameters and other instructions for using CHKDSK.

To summarize, the full command that should be typed into the Command Prompt is:

chkdsk [Drive:] [parameters]

In our example, it’s:

chkdsk C: /f /r /x

Using CHKDSK on a Boot Drive

A boot drive is the partition of your hard drive that the computer starts up from. Boot partitions are special in many ways, and one of those ways is that they require special handling for CHKDSK to be able to deal with them.

CHKDSK needs to be able to lock any boot drive it scans, meaning that it cannot examine the system’s boot drive if the computer is in use. If your target drive is an external or non-boot internal disk, the CHKDSK process will begin as soon as we enter the command above.

If, however, the target drive is a boot disk, the system will ask you if you’d like to run the command before the next boot. Type “yes” (or “y”), restart the computer, and the command will run before the operating system loads, allowing it to gain full access to the disk.

A CHKDSK command can take a long time to execute, especially when performed on larger drives. Once it’s done, however, it will present a summary of results including total disk space, byte allocation, and, most importantly, any errors that were found and corrected.

CHKDSK In Previous Editions of Windows

The CHKDSK command is available in all versions of Windows, so users running on Windows 7, 8, or XP can also perform the steps above to initiate a scan of their hard drive.

In the case of older versions of Windows, users can get to the Command Prompt by going to Start > Run and typing “cmd”. Once the Command Prompt result is displayed, right-click on it and select “Run as Administrator” to grant the program the necessary privileges to execute CHKDSK successfully.

One warning note: if you use CHKDSK on an older hard drive, you may find that your hard drive space was significantly reduced after running the command. This result is due to a failing hard drive, as one of the crucial functions that CHKDSK performs is to identify and block bad sectors on the drive.

A few bad sectors on an old drive will typically go unnoticed to the user, but if the drive is failing or has serious problems, you could have huge numbers of bad sectors that, when mapped and blocked by CHKDSK, appear to “steal” significant portions of your hard drive’s capacity.

Other Ways to Launch CHKDSK

If you dislike using the command prompt, there are other ways to invoke CHKDSK on your system. Perhaps the easiest is directly through the Windows Explorer.

Open a Windows File Explorer window and navigate to the drive you wish to check.

Right-click on the icon for your hard drive and select Properties.

Select the Tools tab and click on “Check” to launch CHKDSK with standard parameters.

Final Thoughts

CHKDSK is a very powerful tool for scanning and fixing hard drives on Windows 10 computers. By following the steps outlined above, you can use this helpful function to optimize your PC’s performance.

30 thoughts on “How to Scan & Fix Hard Drives with CHKDSK in Windows 10”

Avatar Kat Smit says:
I typed it in and this is what it gave me. What should I do?

PS C:\WINDOWS\system32> chkdsk C: /f /r /x
The type of the file system is NTFS.
Cannot lock current drive.

Chkdsk cannot run because the volume is in use by another
process. Would you like to schedule this volume to be
checked the next time the system restarts? (Y/N)

Avatar Michael Colors says:
Please excuse if this has already been addressed. I ran the CHKDSK command as you have recommended and it ran fine. However, I was very curious to see the results log of the whole scan. I tried to search for it on my Windows 10 C: drive, but could not find it anywhere. Where does this event log save to?
Avatar CatsDogsbody says:
Forgive me if I assume incorrectly that you are not very familiar w/ the OS. If you know DOS and will not go willy-nilly deleting files and trees, the easiest thing (for me) to do is access the Cmd prompt as an Administrator. Alternatively your would have to access the system’s event viewer. Let’s go DOS.
Your prompt will be C:\WINDOWS\system32> — hallowed ground.
Enter the command, the desired options, and the name of a file (no spaces) for the output, eg:
CHKDSK C: /F > 20200831_CHKDSK_F.LST — press ENTER: chkdsk is running do NOT touch the keyboard.
I’d go for a walk or do laundry.
When the prompt returns type: TYPE 20200831_CHKDSK_F.LST
Clean up after yourself with DEL 20200831_CHKDSK_F.LST

There are several other CHKDSK options that were not mentioned. /SCAN is nice and its o/p isn’t long enough to bother capturing, but you can, of course. It zips through what a /F would do without doing anything but telling you if there are problems, or if your files are AOK. So you might avoid having to run CHKDSK /F.

Good luck.

Avatar mockmook says:
I’d put in there, if you suspect problems, then try to clone your existing drive(s) before and after the chkdsk — but certainly after [if you haven’t backed up your drive(s) in a while].
Avatar Junez says:
Superb instructions. Solved a VERY slow pc. Thanks.
Avatar Linchpin says:
After a computer hangup, I found that if I disconnected my data storage disk my computer ran normally. I ran the chkdsk k: /f /r /x command on the data storage disk. The process ran smoothly until Stage 4: Looking for bad clusters in user file data. “A disk read error occuredc0000185 . . . Bad clusters were detected in file EA of name \DOCUME~1\_RESOF~1\Boggle\Boggle.exe.” Chkdsk slowed down to an almost undetectable crawl . After running all night and this morning, there seems to be no end. It now says “ETA 42:33:17.” I tried to locate this the folder and program the first time I ran Chkdsk, but Search could not find it and I could not find it by looking through the drive’s file explorer. Now what? Any suggestions. Thank you.
Avatar CatsDogsbody says:
I’m sure your problems have long been taken care of. Just an observation: /F will check and repair your file system; /R does all that and more. It examines and, if necessary, repairs your disk in the sense that it it will logically fence off bad sectors, and the system will never try to use them. If you think it was just a fluke that they were marked bad, you can run /B, which will wipe clean the bad sector list, and then behave exactly like /R.
Be judicious in your choice of command options/switches. When the description says “implies __”, it means it does the job of __. Knowing the parameters of what the command was doing can make for less head scratching when things don’t go quite as you expect.
Avatar Philica says:
What would the solution when hard drive test fail except replace the hard drive
Avatar Darwin Hector says:
This approach was very educational for me, since I was unaware of Windows PowerShell(Admin). Note, I am very familiar with DOS commands. However, this fix did not work for me because the hard drive was running too slow and may have other issue. Chkdsk timed out and the System rebooted.
Avatar Bob Marasa says:
3 hours and stuck on “scanning and repairing drive C : 12% complete. It’s a 1 terabyte drive. What should I do? I only wanted to fix drive so I could back it up. Acronis said I had a bad sector and should run chkdsk before it would be able to do dat backup. Help!
Avatar Lawal Kayode says:
Tried running check disk and got this responds, how do I resolve the issue
C:\Users\JIMKAY>chkdsk g:
The type of the file system is RAW.
CHKDSK is not available for RAW drives.
Avatar FredS says:
Looks like the disk you are trying to check is a raw volume and windows assigned a different letter to the volume you really want to check. Try typing>Diskpart
After Diskpart comes up: Diskpart>List Disk
Diskpart>select disk 0 [or whatever number is the disk you want to select]
Diskpart>List volume
notice the drive letter assigned to the volume you want to check (volume is just a name for a partition that’s been assigned a drive letter. Prior to formatting the volume is raw)
Diskpart>exit
type: chkdsk [your drive letter:] /f /r (no brackets around drive letter)
Avatar FredS says:
correction:
type: chkdsk [your volume letter:] /f /r (no brackets around volume letter)
Avatar Paola says:
I’m trying to sort out a problem on my Toshiba laptop: I have run chkdsk C: /f /r /x and it says ‘windows has scanned the file system and found no problem’ which is good, then it says ‘no further action required’, but the last message says ‘Failed to transfer logged messages to the event log with status 50.’ what do I do now?
Paola
Avatar FredS says:
I think that’s minor and not an issue. Meaning that the event log won’t list what you just did with chkdsk. As long as chkdsk did its job, you should be good to go.
Avatar Ryan says:
I have an external drive. Do I have to do the chkdsk fix on every computer I plug it into to remember to ignore the bad sectors?
Avatar Boyd Hamulondo says:
Scanning and repairing drive c in Windows 10. How long can it take for a 930 Gb C :drive?
Avatar igobythisname says:
is ‘Error checking’ via hard drive properties the same as running CHKDSK?
Avatar FredS says:
I think it’s like running chkdsk /f and not /r
Avatar Steve says:
Sometimes check disk doesn’t work in serious data loss problem and at that time a need of data recovery software like Stellar Phoenix Windows Windows data recovery – Home need arises. Such data recovery tools help user to get their lost or deleted files from the corrupted hard drives. Even when those hard drives never repaired anymore.
Avatar HANS says:
I tried it on a D: recovery partition: no errors
Then I tried it with C: typing yes + enter then restarted. It may take long the clear art says . But for half an hour I’ve been looking at “Scanning and repairing drive C: : 11% complete” … the percentage should increase I’d think, but so far it doesn’t. So How long can ‘it takes long’be for a 500 GB HDD? and is there a way to terminate chkdsk?
Avatar Pua Tamandua says:
I’ve tried running it and it gets most of the way through and closes. I thought it stayed open with a reading but no. Does this mean it’s failing?
I ran a memory test as well and it said it would display results when restarted but nothing displayed. GRR.
No results from anything.
The file system keeps hanging up and needing restarted and sometimes large programs fail to open or a browser has issues but mainly the files.
Avatar Lidia Sagastume says:
How do you exit this cmd and check disk? How?
Avatar Anthony S Hendricks says:
TYPE EXIT AFTER CONTROL ALT DELETE
Avatar Michael L. Sheppard says:
Hi Jim Tanous, the above method is 100% working thanks a lot.
Avatar Jetze Toek says:
Or you can use chkdsk /? to view a list of available parameters..
Avatar Muken el Murloc #Team_Palto says:
what is a disc
Avatar Jetze Toek says:
Any thin, flat, circular plate or object is often called a disc.
Avatar Jason Franks says:
Thanks so much this was extremely helpful. Totally fixed my locked up laptop
Avatar Mark Peacey says:
It doesn’t work on my end
Avatar stace0401 says:
I entered the command exactly how the article said to, but it keeps saying it cannot lock the drive because my volume is being used by another another process. When it asks if I would like this checked upon reboot I select yes and restart my computer. I tried the command again, and got the same thing. I’ve done this several times now with no success. Is there another way to find out what process is using my volume that it isn’t allowing me to proceed with the chkdsk command?
Avatar HANS says:
It worked when I did an ‘enter’ after yes and then restart
Avatar Nachman Ben Harush says:
thank you very much!
Avatar Vasile Lucian BUJOR ( Vasi ) says:
Problem: After restart, when it’s written “wait 8 seconds or wait for it to start”, it doesn’t starts, like someone it’s pressing any keys, but I am not touching anything. What is happening? Windows 10 AE here.
Avatar Vasile Lucian BUJOR ( Vasi ) says:
More exactly: windows 10 skips disk checking like I would press the keys, but I don’t press any key. I don’t touch anything. Laptop X230 Lenovo, without any usb device connected on it.
Avatar Osei Emmanuel says:
When I type it, it give me stage 1 examining basic file system structure……
File record segment 27885 is unreadable
More. And more and more
After that nothing come up again
My hard disk is remaining the same what will I do
Now my hard disk is not accessible and file directory is corrupted my hard disk is 1.5TB I’m cry to lost my data pleasewhwt will I do hmmm
Avatar FredS says:
Try booting into the Windows Recovery Environment (RE) from a windows installation disk; go to repair my computer; advanced; and then startup repair. Might fix startup issues. If that doesn’t work try using system restore from the Windows Recovery Environment (RE). Also, research using Diskpart from the command prompt and making sure your system reserved partition as the active partition if startup repair doesn’t work. If your C: drive partition is marked as active, system will not boot and go into a loop. The system reserved partition that Windows 10 creates has all the bootup files on it that then boots windows from the c: system partition. Keep in mind that Diskpart might list the volume with a different letter than c: depending on how many partitions are on the drive. You can then also run chkdsk /f /r on the system reserved partition to make sure that partiton has no errors on it. If all else fails, remove your drive and hook it up via a usb to SATA cable or USB external docking station and copy all you data off the drive with another computer. Then buy a new drive and reinstall the OS and recopy your data back to your new drive in the system. WARNING: Be careful using Diskpart. Only use after backing your data off the drive first and after trying startup repair or system restore. Only use to mark the recovery partition as active unless you are comfortable using Diskpart. Good luck.
Avatar Ramiro Rodriguez says:
Awesome! I have some hard drive issues and I figured that CHKDSK was the way to go. But I haven’t used that since the days of DOS. Great advice. I’m going to fix my disk now. I hope to read more of your stuff :-)
Avatar Eraviel says:
I did a chkdsk /f /r /x cuz my pc went BSOD with 0x00000154 bug check code, and I researched that this command is a solution, but it’s stuck at 17% for more than 5 hours already. My pc is not frozen cuz the dots in win 10 bootscreen is still moving.
Avatar Biswa Ranjan says:
Exactly same thing happen to me also. Wht to do as should I stop the scanning/wait till many more hours.
Should I face any issue back to O’s running???
Avatar Perfidious Albion bent & broke says:
Same here. Hours passed and the Boot screen still has the spinning dots.
Avatar Black Atheists says:
Does this work for HDD’s that were visible but are now invisible to Windows 10?
Avatar Ian Prietz says:
I had to use the Recovery restart option to get to the Advanced Troubleshooting options, so I could use that command prompt.
My Windows 10 kept notifying me of drive repair and errors but would never do anything on restart, even if I scheduled it with the Command Prompt the way you described.
Thanks for the help with the command though. Big help. It’s still running the scan right now.

Leave a Reply

Your email address will not be published. Required fields are marked *


Disclaimer: Some pages on this site may include an affiliate link. This does not effect our editorial in any way.

Todays Highlights