Helping people with computers... one answer at a time.
Chkdsk checks your disk for errors at a low level. That means chkdsk needs exclusive access to the disk. We'll look at why that is and what to do.
I think I've got a problem with my hard disk, and tried to run chkdsk but I keep getting this "chkdsk cannot run because the volume is in use by another process" error. What's that mean and what do I do 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 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.
Here's the scenario we're talking about:
To have gotten this far, we'll have had to:
Start a Windows Command Prompt - in Windows Vista or Windows 7 doing so with administrative privileges (right click on the Start, All programs, Accessories, Command Prompt shortcut and click on "Run as Administrator")
Run the command CHKDSK, including the "/F" (fix) or "/R" (repair) options.
In order for chkdsk to be able to fix or repair a disk it needs to be the only program accessing the hard disk - the only program. If any other program has a file open on that disk, then 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.
Yes, you do. Windows is running. In fact, Windows has several files open including the files containing the registry, the system paging file, as well as the executable files that make up Windows itself.
Put another way, you can't run chkdsk with a fix or repair option on the drive from which Windows was loaded.
At least, not while Windows is running.
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.
The "magic answer", so to speak, is actually part of the very error message we see:
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 that chkdsk can have the exclusive access to the system disk that it needs.
When you reboot, the reboot will proceed normally until the screen changes to include this message:
As the message indicates you have 10 seconds to press any key on the keyboard to skip the disk check. After 10 seconds chkdsk proceeds.
As chkdsk runs you'll see information updating on the screen:
Finally chkdsk completes, pausing for a moment with a summary report left on your screen as seen in this composite log:
Your specifics of course will be different, but the general idea is the same. As you can see here, chkdsk actually fixed a couple of problems that it found.
The computer should then reboot and load Windows normally.
"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 which are using the drive in question. For the system drive from which Windows was loaded, it means a special step needs to be taken such that chkdsk runs when you reboot.