What it means and how to fix it.
Chkdsk is an important and little-understood command-line utility that comes with every version of Microsoft Windows. Its purpose, as its mangled name implies, is to check your disk.
In order to do its work, Chkdsk needs complete and exclusive access to the disk it’s about to check. If it doesn’t have that, the result is the error message “Chkdsk cannot run because the volume is in use by another process”.
I’ll look at why, what to do, and what it looks like as it happens.
Become a Patron of Ask Leo! and go ad-free!
CHKDSK and a disk in use
- Chkdsk requires exclusive access to a disk in order to make repairs.
- “Chkdsk cannot run because the volume is in use by another process” results when any other program is accessing the hard disk.
- Windows itself is often that other program.
- Running Chkdsk as part of the next system boot is the most common solution.
Chkdsk cannot run …
Here’s the scenario we’re talking about:
To see it yourself:
- Start a Windows Command Prompt as Administrator.
- Run the command chkdsk, including either the “/f” (fix filesystem information errors) or “/r” (repair disk physical errors) option.
As you will see, “Chkdsk cannot run because the volume is in use by another process” is the result.
The other process? Windows itself.
… because the volume is in use by another process
In order for Chkdsk to be able to fix or repair a disk, it needs to be the only program accessing that disk. (Volume, in the error message, is simply another term for disk, or more correctly, partition; process is another word for program.)
If any other program has a file open on the disk, it’s considered to be “in use”, and Chkdsk can’t get the exclusive access it needs.
“But I have no programs running!” I hear you say.
Chkdsk cannot fix or repair a drive from which Windows was loaded while Windows is running.
Chkdsk on other disks
While getting this error on the Windows drive is the most common, it’s certainly not the only case. Let’s say you have a drive “D:”. If you have Windows File Explorer open on drive D:, or perhaps have a document open on that disk, the same situation applies.
The solution is easier, though: close those programs. Make sure nothing is accessing anything on that drive and try again. You should be good to go.
Unless, of course, you happened to have moved your paging file to D:, in which case you’re back in the “can’t do it while Windows is running” situation, since the paging file is always open while Windows is running.
Chkdsk on C:
The answer is actually in part of the error message we see:
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)
Answer the question with a “Y” for yes, followed by Enter, and Chkdsk will run the next time you reboot Windows, before Windows itself begins to run. That’s the only time Chkdsk can have the exclusive access to the system disk it needs.
When Chkdsk runs
When you reboot, all proceeds normally until the screen changes to give you the opportunity to skip disk-checking. This simply skips running CHKDSK at all.
As the message indicates, you have a few seconds to press any key on the keyboard to skip the disk check, after which Chkdsk proceeds.
Once Chkdsk completes, the computer should reboot and load Windows normally.
The information generated by Chkdsk running at boot time is saved to the system event log. The article How Do I See the Results of a Chkdsk that Ran on Boot? shows you how to view it.
Chkdsk cannot run: the bottom line
“Chkdsk cannot run because the volume is in use by another process” simply means that in order to fix your hard disk, Chkdsk needs to be the only program accessing it. For some drives, that’s as simple as closing the programs that are active on the drive in question. For the system drive from which Windows was loaded, it means you need to allow Chkdsk to run the next time you reboot.
Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.
I'll see you there!