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

CHKDSK (often pronounced “Check Disk”) is a handy and vital tool for monitoring your HDD or SSD health. This tool uses multipass scan activity to verify that a drive’s health and functionality are intact. Using CHKDSK to ensure your HDDs and SSDs 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.

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

This article explains the details of CHKDSK, how it works, and how you can use it to repair your hard drive in Windows 10.

How Windows CHKDSK Works

CHKDSK starts by scanning the file system on the HDD/SSD 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 include several things, such as 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 HDD files. CHKDSK can conduct a complete disk drive scan, accessing and testing every hardware sector. Hard drives are divided into logical sectors, defined areas where a certain quantity of data will be stored.

Sectors can develop “soft errors,” in which data has been miswritten to the magnetic medium. They can also get “hard errors” when the drive has an actual physical defect in the area designated as a sector. CHKDSK fixes soft errors by rewriting the erroneous data and resolves hard errors by marking that disk section 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 and SSDs. The exact process used 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 Windows PowerShell, the intended replacement for Windows Command Prompt.

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

  1. Right-click the “Start menu” and select “Windows PowerShell (Admin).”Windows Menu
  2. In the User Account Control (UAC) window, select “Yes” to give it permission to launch the Windows Command Processor and make changes.
  3. Type “chkdsk c: /x /r” without the quotes to dismount the drive, scan it for errors, and repair it. You can also type “chkdsk /scan” to check the disk online and attempt to fix it. Windows PowerShell
  4. If you’re having issues running the above command because the drive is noted as “in use” by another process, you’re trying to scan your primary drive (boot drive) when the OS is using it. Reboot into recovery mode to perform the scan or create a Windows Recovery Tool to handle the process.

The basic invocation of CHKDSK, such as “chkdsk c:” will scan the disk and display status information, but it will not fix any encountered errors.

That’s why you need to add several parameters to run CHKDSK in a mode where it will fix problems that it encounters. In a Windows PowerShell program, parameters are additional commands added to the end of the program name, with “/” characters before each parameter. To get CHKDSK to do a full scan and repair pass, we typed “chkdsk c: /x /r” in the Powershell console.

The “/r” parameter performs the same tasks as “/f,” which fixes errors on the disk and tells CHKDSK to locate any bad sectors and recover any readable information.

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 an extensive 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 need the < and > characters.
  • [<Path>]<FileName> – The Path and FileName parameters can be used only on 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. To specify multiple files, you can use the “?” and “*” wildcard characters.
  • /f – The /f parameter instructs CHKDSK to fix errors on the disk. The disk must be locked, so if CHKSDK cannot do it, a message asks 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, reducing the time required to run CHKDSK.
  • /c – The /c parameter is only usable on an NTFS disk. This tells CHKDSK not to check cycles within the folder structure, reducing the time required to run CHKDSK.
  • /l[:<Size>] – The /l parameter can only be used with NTFS. It changes the size of the resulting log file to what you type. If you were to omit the size parameter, /l displays the current size instead.
  • /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 ones 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 entire command that should be typed into the Command Prompt or PowerShell is:

chkdsk [Drive:] [parameters]

In our example, it’s:

chkdsk C: /x /r

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 particular 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 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 it 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, primarily when performed on larger drives. Once done, 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.

  1. In the case of older versions of Windows, users can get to the Command Prompt by going to Start > Run and typing “cmd.”
  2. 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 CHKDSK performs is identifying and blocking bad sectors.

A few bad sectors on an old drive will typically go unnoticed by the user. Still, if the drive is failing or has serious problems, you could have vast 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 Windows Explorer.

  1. Open up “File Explorer,” right-click on the drive you want to check, and select “Properties.” Windows File Explorer
  2. Next, select the “Tools” tab and click on “Check” to launch CHKDSK with standard parameters. C Disk Drive Properties - Tool Tab

CHKDSK is a very powerful tool for scanning and fixing hard drives on Windows 10 computers. Following the steps outlined in this article, you can use the CHKDSK function to optimize your PC’s performance and fix issues with your drive.


Does chkdsk work on an external drive?

You can use the “chkdsk” command on an external drive. All you need to do is indicate that drive in the command when executing.

Here’s an example:

1. Open up Windows Power Shell or Command Prompt as an Administrator, as shown above.

2. Then, type in “chkdsk d: /f”, and hit Enter. Windows PowerShell

For this example, the external drive is listed as the D drive; the/f command scans the disk and attempts to repair it.

How do you view the output logs of the chkdsk scan?

1. Type Windows key + R simultaneously to open the Run program, type in “eventvwr“, and hit Enter. Run - Event Viewer

2. Now, click on Windows Logs. Event Viewer

3. Next, click on Application. Event Viewer 2

4. Now scroll through the logs and look for “Wininit” in the “Source” tab. You want the one that has chkdsk information in the “General” tab.

How do you scan a drive with CHKDSK that’s in use?

Sometimes, scanning a drive with chkdsk can cause a message that states the drive is still in use. If this happens to you, you’ll either need to unmount the drive or boot up a flash drive with Windows Recovery Tools on them.

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

boudewijn says:
My dynamic disk has an error. When I wish to connect it, I get the message to use chkddsk. however, in the command promp there is no letter even when i use diskpart list volume. how can i use chkdsk without a drive letter?
Joe says:
You have to assign a drive letter first. diskpart has a comand to do so. You can also do it from Disk Managment.
Tracy Cook says:
Apologies if someone brought it up and I missed it, but does chkdsk work on external drives? Just thought I’d see if I could get a yes on that before going out to get the cable adapter.

Funds are really tight at the moment, but I have around 100 gigs of design files on an old hard drive that I could really put some of them to use at times. tlcookrpm@outlook if you can send an answer on that. I may not make it back to this particular page again. Thanks.

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)

Joe says:
You cannot /r/x/f on a drive that you are typing information into or, in otherwords, is your system drive. You can just scan it using chkdsk /scan and it will give you any issues with it. It may prompt you to scan on reboot if it finds problems. If not, you need to use a windows recovery dvd/usb and access command prompt from there.
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?
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.

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].
Junez says:
Superb instructions. Solved a VERY slow pc. Thanks.
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.
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.
Philica says:
What would the solution when hard drive test fail except replace the hard drive
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.
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!
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.
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)
type: chkdsk [your drive letter:] /f /r (no brackets around drive letter)
FredS says:
type: chkdsk [your volume letter:] /f /r (no brackets around volume letter)
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?
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.
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?
Boyd Hamulondo says:
Scanning and repairing drive c in Windows 10. How long can it take for a 930 Gb C :drive?
igobythisname says:
is ‘Error checking’ via hard drive properties the same as running CHKDSK?
FredS says:
I think it’s like running chkdsk /f and not /r
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.
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?
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.
Lidia Sagastume says:
How do you exit this cmd and check disk? How?
Anthony S Hendricks says:
Michael L. Sheppard says:
Hi Jim Tanous, the above method is 100% working thanks a lot.
Jetze Toek says:
Or you can use chkdsk /? to view a list of available parameters..
Muken el Murloc #Team_Palto says:
what is a disc
Jetze Toek says:
Any thin, flat, circular plate or object is often called a disc.
Jason Franks says:
Thanks so much this was extremely helpful. Totally fixed my locked up laptop
Mark Peacey says:
It doesn’t work on my end
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?
HANS says:
It worked when I did an ‘enter’ after yes and then restart
Nachman Ben Harush says:
thank you very much!
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.
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.
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
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.
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 🙂
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.
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???
Perfidious Albion bent & broke says:
Same here. Hours passed and the Boot screen still has the spinning dots.

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
How to See Google Search History
how to download photos from google photos