Any time you have hard drive errors—or even strange behavior you might not at first associate with a hard drive—Check Disk can be a lifesaver. Here’s a full guide to using the Check Disk tool that comes with every version of Windows.
What Chkdsk Does (and When to Use It)
The Check Disk utility, also known as chkdsk (since that’s the command you use to run it) scans through your entire hard drive to find and fix problems. It’s not a terribly exciting tool—and running it can take some time—but it can really help prevent bigger problems and loss of data in the long run. Chkdsk performs a couple of functions, depending on how it’s run:
- Chkdsk’s basic function is to scan the integrity of the file system and file system metadata on a disk volume and fix any logical file system errors that it finds. Such errors might include corrupt entries in a volume’s master file table (MFT), bad security descriptors associated with files, or even misaligned time stamp or file size information about individual files.
- Chkdsk can also optionally scan every sector on a disk volume looking for bad sectors. Bad sectors come in two forms: soft bad sectors, that can occur when data is written badly, and hard bad sectors that can occur because of physical damage to the disk. Chkdsk attempts to fix these problems by repairing soft bad sectors, and marking hard bad sectors so they won’t be used again.
That may all sound very technical, but don’t worry: you don’t need to understand the ins and outs of how it works to know when you should run it.
We recommend running chkdsk every few months as part of routine maintenance along with using a S.M.A.R.T. tool for drives that support it. You should also consider running it any time Windows has shut down abnormally—such as after a power loss or system crash. Sometimes Windows will automatically run a scan during startup, but most often you’ll have to do it yourself. Even if you’re just having strange problems with apps not loading or crashing that you haven’t been able to resolve another way, you might consider checking the disk.
For example: I once had a problem where Outlook suddenly started crashing on me shortly after loading. After a lot of troubleshooting, a chkdsk scan revealed I had bad sectors where my Outlook data file was stored. Fortunately, chkdsk was able to recover the sectors in my case, and everything went back to normal afterward.
If chkdsk does encounter problems—especially hard bad sectors—that it can’t repair, data can become unusable. It’s not very likely, but it can happen. For that reason, you should always make sure you have a good backup routine in place and back up your PC before running chkdsk.
The chkdsk tool works pretty much the same in all versions of Windows. We’ll be working with Windows 10 in this article, so the screens may look slightly different if you’re using Windows 7 or 8, but chkdsk performs the same, and we’ll point out where any procedures differ. We’ll also talk about running it from the Command Prompt, in cases where you can’t even boot into Windows.
How to Check a Disk from Windows
Running the Check Disk tool from the Windows desktop is easy. In File Explorer, right-click the drive you want to check, and then choose “Properties.”
In the properties window, switch to the “Tools” tab and then click the “Check” button. In Windows 7, the button is named “Check now.”
In Windows 8 and 10, Windows may inform you that it hasn’t found any errors on the drive. You can still perform a manual scan by clicking “Scan drive.” This will first perform a scan without attempting any repairs, so it will not restart your PC at this point. If the quick disk scan reveals any problems, Windows will present that option to you. If you want to force it, though, you’ll have to use the command prompt to run chkdsk—something we’ll be covering a bit later in the article.
After Windows scans your drive, if no errors were found, you can just click “Close.”
In Windows 7, when you click the “Check now” button, you’ll see a dialog that lets you choose a couple of extra options—namely whether you also want to automatically fix file system errors and scan for bad sectors. If you want to perform the most thorough disk check, go ahead and select both options and then click “Start.” Just be aware that if you add a sector scan to the mix, checking the disk can take quite a while. It may be something you want to do when you don’t need your computer for a few hours.
If you elect to fix file system errors or scan for bad sectors, Windows won’t be able to perform a scan while the disk is in use. If that happens, you’ll have the option to cancel the scan or schedule a disk check to happen the next time you restart Windows.
How to Check Up On or Cancel a Scheduled Disk Check
If you’re not sure whether a disk check is scheduled for your next restart, it’s easy enough to check at the Command Prompt. You’ll need to run Command Prompt with administrative privileges. Press Start and then type “command prompt.” Right-click the result and then choose “Run as administrator.”
At the prompt, type the following command—substituting the drive letter if necessary.
If you have scheduled a manual check of the drive, you’ll see a message to that effect.
If Windows has scheduled an automatic check of the drive, you’ll see a message letting you know that the volume is dirty, which just means it’s been flagged with potential errors. This serves as indication that Windows will run a check the next time it starts. If no automatic scan is scheduled, you’ll just see a message letting you know that the volume is not dirty.
If a disk check is scheduled for the next time you start Windows, but have decided you don’t want the check to happen, you can cancel the check by typing the following command:
chkntfs /x c:
You won’t get any kind of feedback that the scan has been cancelled, but it will have been. This command actually excludes the drive from the chkdsk command for the next start. If you do restart to find that a scan has been scheduled, Windows is also kind enough to provide you with about ten seconds to skip the scan if you want to.
How to Use the ChkDsk Command at the Command Prompt
If you’re willing to use the Command Prompt (or you have to because Windows won’t boot properly), you can exert a little more control over the disk checking process. Plus, if you’re using Windows 8 or 10, it’s the only way to force automatic fixing or bad sector scanning into the mix. Open up the Command Prompt with administrative privileges by hitting Windows+X and selecting “Command Prompt (Admin).” You’ll be using the
chkdsk command. The command supports a number of optional switches, but we’re mostly concerned with two of them:
If you just use the
chkdsk command by itself, it will scan your drive in read-only mode, reporting errors but not attempting to repair them. For this reason, it can usually run without having to restart your PC.
If you want
chkdsk to attempt to repair logical file system errors during the scan, add the
/f switch. Note that if the drive has files that are in use (and it probably will), you’ll be asked to schedule a scan for the next restart.
chkdsk /f c:
If you want
chkdsk to scan for bad sectors as well, you’ll use the
/r switch. When you use the
/r switch, the
/f switch is implied, meaning that
chkdsk will scan for both logical errors and bad sectors. But while it’s not really necessary, it also won’t hurt anything if you throw both the
/f switches on the command at the same time.
chkdsk /r c:
chkdsk /r gives you the most thorough scan you can perform on a volume, and if you have some time to spare for the sector check, we highly recommend running it at least periodically.
There are, of course, other parameters you can use with
chkdsk . So, for the sake of completeness—and your geeky enjoyment—here they are:
C:>chkdsk /? Checks a disk and displays a status report. CHKDSK [volume[[path]filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]] [/B] volume Specifies the drive letter (followed by a colon), mount point, or volume name. filename FAT/FAT32 only: Specifies the files to check for fragmentation. /F Fixes errors on the disk. /V On FAT/FAT32: Displays the full path and name of every file on the disk. On NTFS: Displays cleanup messages if any. /R Locates bad sectors and recovers readable information (implies /F). /L:size NTFS only: Changes the log file size to the specified number of kilobytes. If size is not specified, displays current size. /X Forces the volume to dismount first if necessary. All opened handles to the volume would then be invalid (implies /F). /I NTFS only: Performs a less vigorous check of index entries. /C NTFS only: Skips checking of cycles within the folder structure. /B NTFS only: Re-evaluates bad clusters on the volume (implies /R) The /I or /C switch reduces the amount of time required to run Chkdsk by skipping certain checks of the volume.
Hopefully, Chkdsk will fix whatever hard drive problems you may have, and you can go back to using your computer normally.