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 the Windows PowerShell, the intended replacement for Windows Command Prompt.
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.
- Right-click the Start menu and select, Windows PowerShell (Admin).
- 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.
- Now, 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 scan the disk online and attempt to repair it.
- If you’re having issues with running the above command because the drive is in use by another process, that because you’re trying to scan your primary drive (boot drive), when it’s being used by the OS. Reboot into recovery mode to perform the scan or create a Windows Recovery Tool, to perform the process.
The basic invocation of CHKDSK, simply “chkdsk [drive]”, will scan the disk and display status information, but it will not fix any errors that are encountered.
That’s why, 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 typed “chkdsk c: /x /r“.
The “/r” parameter performs the same tasks as “/f”, which fixes errors on the disk, and also 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: /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 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 up File Explorer, right-click on the drive you want to check, and select Properties.
- Next, select the Tools tab and click on Check to launch CHKDSK with standard parameters.
Frequently Asked Questions
Does chkdsk work on an external drive?
Yes, 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.
For this example, the external drive is listed as the D drive, the /f command scans the disks and attempts to repair it.
How do you view the output logs of the chkdsk scan?
1. Type the Windows key + R at the same time to open the Run program, then type in “eventvwr“, and hit Enter.
2. Now, click on Windows Logs.
3. Next, click on Application.
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.
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.
How do you scan and fix errors on drives in Windows 10? Share your thoughts in the comments below.