Using Check Disk (CHKDSK) in Windows to Fix Hard Drive Errors


**Disclosure: This post contains affiliate links. If you make a purchase through these links, we may earn a small commission at no extra cost to you.

As you probably know, working with computers is not always a flawless experience. They can freeze up, crash, not startup and give you blue screen of death messages (BSOD). Even though Windows is a fairly stable operating system, you will still eventually have some sort of issue with your computer.

One common issue that many people run into is having hard drive errors. You can have these types of errors with traditional spinning disks as well as the newer SSD and NVMe drives. Many of these drive manufactures will offer diagnostic software that you can download if you can find it. But Windows has its own tool for checking drives that has been around even before Windows itself in the MS-DOS days. In this article, we will be showing you how to use check disk (CHKDSK) in Windows to fix hard drive errors.

The chkdsk command in Windows is used to scan and repair file system errors and check the integrity of disk volumes. It can also detect and mark bad sectors on a hard drive or SSD so that Windows avoids using them.

When to Use Chkdsk

There are many reasons to use the chkdsk command on your computer to fix your hard drive or at least get an idea of what might be going wrong with it.

Identifying and Repairing File System Errors:

  • This is the most common use. chkdsk can scan the file system (like NTFS or FAT32) for logical errors. These errors can include issues with file metadata, directory structures, and lost files or folders.

 Locating and Repairing Bad Sectors:

  • Hard drives can develop bad sectors over time, which are physical areas on the disk that can no longer reliably store data.

 Checking Disk Health and Integrity:

  • Running chkdsk without any repair parameters (just chkdsk [drive:]) will perform a read-only scan and display a status report of the disk’s health. This can help you identify potential issues before they cause data loss.

 Troubleshooting System Instability and Crashes:

  • If your computer is experiencing frequent crashes, freezes, or blue screen errors, disk corruption could be a contributing factor. Running chkdsk can help diagnose and potentially resolve these issues if they are related to file system or bad sector problems.

 Recovering Data from Damaged Drives (Sometimes):

  • While not a dedicated data recovery tool, chkdsk /r can sometimes recover readable data from bad sectors and move it to healthy areas of the drive. However, for severe physical damage, specialized data recovery software or services are usually required.

 Preparing a Drive for Cloning or Imaging:

  • Before cloning or creating a system image of a drive, running chkdsk /f or chkdsk /r can help ensure the file system is healthy and minimize the chances of errors being transferred to the new drive or image.

 Dealing with Error Messages Indicating Disk Problems:

  • If Windows displays error messages related to disk read/write errors or file system corruption, running chkdsk on the affected drive is a common troubleshooting step.

 Forcing a Volume Dismount:

  • The /x parameter forces the volume to dismount first if necessary. All open handles to the drive are invalidated. This is often used in conjunction with /f to ensure chkdsk can gain exclusive access to the drive to perform repairs. Use this with caution as it can lead to data loss in unsaved files.

 Usage and Switches

You can run chkdsk from a command prompt (run as Administrator), the Windows Recovery Environment (boot menu > advanced options > command prompt) or the drive properties > Tools tab in File Explorer.

What Happens When You Run It:

  • If the drive is in use (e.g., C: system drive) then Windows will schedule chkdsk at the next reboot.
  • If no errors are found, then it will simply report the disk is clean.
  • If errors are found then it will attempt to fix them, depending on the switches you used.

The chkdsk command has many switches you can add to the command to perform the type of scan and fix for your particular situation. Depending on what switches you use, the scan can take quite a bit of time to complete.

/f – Fixes any errors found on the disk.

/r – Locates bad sectors and recovers readable information. Implies /f.

/x – Forces the volume to dismount first, if necessary. Implies /f.

/i – Performs a less rigorous check of index entries (NTFS only).

/c – Skips checking of cycles within the folder structure (NTFS only).

/scan – Runs an online scan on an NTFS volume (no dismount needed).

/spotfix – Performs spot repairs on the volume (used after /scan).

/perf – Uses more system resources to complete the scan faster (with /scan).

/offlinescanandfix – Forces the volume to dismount and fixes errors offline.

/freeorphanedchains – Converts lost file fragments into free space (FAT only).

/markclean – Marks the volume as clean (FAT only).

volume – Specifies the drive letter or mount point to check (e.g., C:).

Using chkdsk from within Windows

One way to perform the disk checking process is to go to File Explorer, right click on your drive and choose Properties. From there, you can click on the Tools tab and then click the Check button to start the process.

Using Check Disk (CHKDSK) in Windows to Fix Hard Drive Errors

If you are scanning your Windows drive, check disk will only do a scan from within Windows but cannot do any repairs when Windows is running. If errors are found that require exclusive access, Windows will prompt you to schedule a scan on reboot so it can attempt to fix them.

If you are scanning a non-system drive from within Windows, then check disk can actually repair errors without needing to reboot first.

You may also run across a situation where chkdsk tells you that you do not need to scan your  drive because it does not see anything wrong with it. You can continue with the scan if you want to double check.

You don't need to scan this drive message.

Using chkdsk from the Command Line

Most people tend to run chkdsk from the command line, either from within Windows or after booting to the Windows recovery mode. Even if you run chkdsk from a command prompt in Windows, you will need to reboot if you are doing any type of repairs on your Windows drive. Running chkdsk as an administrator is required if you want to fix errors on a drive.

To perform a check disk from the command line, simply type cmd in the Windows taskbar search box and look for Command Prompt in the search results and then choose the Run as administrator option.

For our example, we will be running the chkdsk command with the F and R switches to fix any errors and repair and locate any damage sectors and repair them as well. When doing so for the Windows drive, we will get a message that says the following:

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?

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?

If you type Y, then the check disk process will be run the next time you reboot and before Windows is loaded.

Once you reboot, you will see the chkdsk message and have 8 seconds to press a key on your keyboard to skip the disk check and go back into Windows.

Skip disk checking

If you let the scan continue, you will see that it needs to go through several stages to complete. This can take several minutes based on the size of your drive and what switches you have used.

Using Check Disk (CHKDSK) in Windows to Fix Hard Drive Errors

Checking the Results of the Chkdsk Scan

Once the scan has completed, Windows will load back up and you can then check the results of the scan to see if it found and fixed anything.

One way to see the results is to open the Windows Event Viewer and go to the Windows Logs section and then choose Application Logs.

Check disk chkdsk results in Event Viewer application log wininit

Then in the Sources column, look for entries named Wininit with event ID 1001. Then you can read through the log and see if it shows that there were any errors and if they were repaired.

Check disk chkdsk results in Event Viewer application log wininit

You can also open an administrator PowerShell window and type the following command to see similar results.

Get-WinEvent -FilterHashTable @{logname=”Application”; id=1001} | ? {$_.providername -match “wininit”} | fl timecreated, message

Using Check Disk (CHKDSK) in Windows to Fix Hard Drive Errors

As you can see, it’s not too difficult to use check disk in Windows to fix hard drive errors.

For additional training resources, check out our online IT training courses.

Check out our extensive IT book series.

Related Posts

© 2025 Online Computer Tips
Website by Anvil Zephyr