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 total and exclusive access to the disk it’s about to check. If it doesn’t have that, “Chkdsk cannot run because the volume is in use by another process” results. (“Volume” in this case really means “the disk that’s being checked”.)
I’ll look at why, what to do, and what it looks like as it happens.
Chkdsk cannot run
Here’s the scenario we’re talking about:
To get to this screen:
- 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) options.
And as you can see, “Chkdsk cannot run because the volume is in use by another process” is the result.
The “other process”? That’s Windows itself.
Chkdsk needs exclusive access
In order for Chkdsk to be able to fix or repair a disk, it needs to be the only program accessing the hard disk. If any other program has a file open on that 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.
Put another way, Chkdsk cannot run a fix or repair option on the drive from which Windows was loaded… at least, not 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 Explorer open on drive D:, or perhaps have a word processing document open that lives on that disk, the same situation applies.
The solution is easier, though: close those programs. Make sure nothing is accessing the contents of that drive and try again. You should be good to go.
Unless, of course, you happened to move your paging file to D:, in which case you’re back in the “can’t do it while Windows is running” situation, as the paging file is always open while Windows is running.
Chkdsk on C:
The “magic answer”, so to speak, is actually part of the very 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 that it needs. This volume will be checked the next time the system restarts.
When Chkdsk runs
When you reboot, the reboot will proceed normally, until the screen changes to give you the opportunity to skip disk checking.
In older versions of Windows, you’ll see the opportunity presented in plain text.
In newer versions, the message will appear as an integrated part of the start-up screen.
As the message indicates, you have up to 10 seconds to press any key on the keyboard to skip the disk check. After 10 seconds, Chkdsk proceeds.
In older versions of Windows, as Chkdsk runs, you’ll see information updating on the screen, just like when Chkdsk is run on a drive that didn’t require a reboot.
In newer versions of Windows, Chkdsk progress is presented as a simple percentage.
Once Chkdsk completes, the computer should reboot and load Windows normally.
Chkdsk results from a run at boot time
If any information was displayed by Chkdsk as it checked your disk, that display will have been lost, as the screen was cleared for reboot and entry into Windows.
Fortunately, the information will have been 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 programs that are using the drive in question. For the system drive from which Windows was loaded, it means a special step needs to be taken so Chkdsk runs the next time you reboot.
For more on the Chkdsk utility, see Chkdsk: What is it and how do I run it?