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.
Yes, you do: Windows is running. In fact, Windows has several files open, including the files containing the registry, the system paging file, and the executable files that make up Windows itself.
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.
Do this
Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.
I'll see you there!
I know you use a program like Snagit to capture most of your screen shots. How did you capture these since Windows is not yet running so you could not have software running? (I guessing you used a command line pipe.)
29-Oct-2010
Do you have to buy Windows again, that is run inside a virtual machine or is that included with the main license?
More than likely you will have to buy a copy to run in a virtual machine. Sometimes a person may have an old copy that they can use – but the legality of that could be sketchy.
Windows in a VM is, essentially, a completely different machine so would require its own license.
What is the difference between “/F” (fix) or “/R” (repair) when choosing those options?
04-Nov-2010
I believe “/r” does “/f” as well and therefore takes longer…
…am I mistaken?
Not mistaken,
/f fixes errors to the file indexes (NTFS or FAT tables etc.) on the hard drive
/r locates and repairs bad sectors. It also includes the functionality of /f.
Hello Leo, Yes, “chkdsk” is a valuable tool and i like to run it on my machines at least once a month or so, but it is time consuming as well. I like to go about doing it a little differently. I go to the “C” Drive’s properties window, click on the tools tab, then check the box under error checking labeled check now, which then brings up the check disk window. the automatically fix file system errors box is already checked, be sure to check the box for Scan for and attempt recovery of bad sectors. Then start. You then get the proverbial “Windows can’t check disk while in use, do you want to check for errors the next time you start your comp. Click the schedule disk check box, Restart. I do this before i retire for the night & the next day check and see the results.
Keep up the great work Leo! I’ve been a faithful subscriber for years! J.
Is it legal to run Windows inside a virtual machine? Chkdsk is not included with every windows. it is included with xp or greater.
04-Nov-2010
Scandisk! Lord, yes — I’d forgotten that! Despite all of it’s problems, I actually LIKED Win95. :)
What is the disk fixing? Parity? I load JPG files from my camera’s memory card and when I back up the hard drive to my external back up drive, an error occurs which stops the process. I wondering what conclusions I can draw from this. Is the hard drive failing or are corrupt files from my camera being copied to the hard drive. An if this is the case, why can I copy from the memory chip to the hard drive and then be disallowed from copying the hard drive to an external disk drive with the same copy command?
04-Nov-2010
In XP Home, Start, Run, eventvwr, Application tab, then look for Winlogon files. These files are more readily found by clicking the Source column header, found at the top, to show the results in an alphabetical list. Clicking twice presents the list in reverse order so that Winlogon is likely right in front of you. Not all Winlogon files will be Chkdsk data, but most will be, likely. Double-clicking a file will render a small window of data where you can review the Chkdsk results. Further, UP and DOWN arrows, to the right, will navigate, as expected, and a copy button (double paper button below arrows) will copy the report to the clipboard which can be pasted into Notepad or WORD to preserve their history.
Hello Sir. How come chkdsk still aint running even if Ive rebooted my pc for like 10 times? Please help. Ive read all sorts of blogs/forums on web but yours I think was the most convincing…& has the easy steps. But chkdsk still aint working :(
29-Mar-2011
Leo, thanks for your detailed information on chkdsk, running chkdsk finally allowed me to delete a folder on my desktop that had been haunting me for some time.
I run a dual boot system Windows 7 64 bit alongside Linux Ubuntu 11.04, I believe my issue was that I copied some files from Linux into a Windows folder which had special characters in their names. I believe this is the case since I can access drives on the Windows side from Linux but not the other way around.
I had trouble running chkdsk because I would enter Windows before my Linux grub menu would time out which was always before the 10 second chkdsk bypass message (I would hit enter on the Windows operating system in the grub menu). After letting the grub menu time out, the chkdsk message appeared and I let it run with the /f command to fix, it fixed the files (actually removed them) and allowed me to delete the folder. (I should note that I have changed my grub menu to load Windows 1st and also have a 30 second delay instead of the default 10 second)
Thanks again.
I am trying to reset my computer to an earlier date but I receive an error message as follows, system in use also I have tried to do command prompt as described in your blog but comes up error not alowing fix or repair disk after already saying yes to repair upon reboot what can I do. i also do not have a Windows 7 disk my computer came preloaded with windows 7 home premium 64 bit with 2 point touch please can you help me.
hi, I’ve run into the same problem, but in my case when it boots after “windows will now check….”, it says:
cannot open volume for direct access.
autochk cannot run due to an error caused by a recently installed software package.
here’s the problem… I haven’t installed any software for the last 6 months.
thanks
For any other readers coming across this who may have a similar issue to Martha when running chkdsk on Windows 7: “cannot open volume for direct access. autochk cannot run due to an error caused by a recently installed software package.”
Try booting from external media (like a CD ROM drive or a USB drive) and then running chkdsk using the /X option to dismount the drive. Then nothing is running off your main hard drive, and chkdsk will be more likely to run without this error. It worked for me.
A good way to do that is to create a system repair disk, boot from the system repair disk, and then run chkdsk from the system repair disk instead of running chkdsk from your harddrive.
Here are instructions how to do that:
{Copyrighted material removed. It’s all at the link below.}
http://www.ehow.com/how_7517460_create-bootable-chkdsk.html
In Windows 8 and 10, ChkDsk runs automatically during idle time as part of Automatic Maintenance. IOW, it does not need to be user-initiated. Problems are reported in the Action Center and users prompted to reboot if necessary. Reference: http://blogs.msdn.com/b/b8/archive/2012/05/09/redesigning-chkdsk-and-the-new-ntfs-health-model.aspx
I found this to be true and have another way to do this. I use Glary Utilities and it is part of their clean-up process to do this which is done at the next start-up of your windows program. They also do an excellent job of cleaning up old files, etc.
I have a problem where I continue to get the same message that “chkdsk will not run because the volume is in use by another process” even when running the disk check on boot-up AND when running the disk check from command in recovery drive X (recovery options), on windows 7 home.
Any ideas about how to fix this? Specifically, I want to stop getting this message on boot-up and be able the check the disk on boot-up.
April 16, 2019
Leo, CHKDSK said:
“Would you like to schedule this volume to be
checked the next time the system restarts? (Y/N)”
In my Windows 7 system, I have answered “yes” to this question only have it ignored — CHKDSK does not run at the next reboot.
A vastly more reliable (but potentially dangerous) method of forcing CHKDSK to run at the next reboot is to mark your “C:\” drive as dirty.
To do this, open an Administrator command prompt and enter the line:
FSUTIL DIRTY SET C:
The command interpreter should respond with a message that disk “C:\” is now dirty.
Now CHKDSK will run at the next boot-up in order to “fix” that “dirty” disk. :)
BUT, be very, VERY careful with that “FSUTIL” command! It is very powerful, and if you do the wrong thing with it you run the very real risk of destroying your system. (Ouch!)
Well, you won’t destroy your system (no smoke or sparks), but you’ll have a bad day. Some background information might be helpful. When you schedule CHKDSK to run on reboot, it sets a flag, called the dirty bit, which tells it to run after reboot. If the dirty bit flag is not set for some reason, CHKDSK won’t run on reboot. As TheGrandRascal says, forcing CHKDSK to run by using FSUTIL to set the dirty bit can be dangerous.
Note that FSUTIL has a couple of sub-commands: “fsutil dirty query” and “fsutil dirty set”. But, there is no command for resetting or clearing the dirty bit. Which means, if the dirty bit gets set and can’t be cleared then every time you reboot the machine CHKDSK will want to run. There is no way to manually clear the dirty bit, such as in the Registry. The only way to clear the dirty bit is if CHKDSK completes successfully and, itself, resets the dirty bit.
So, if there is some type of problem with CHKDSK in the first place and it doesn’t complete successful the dirty bit will not get cleared and your computer will be in an infinite loop of wanting to run CHKDSK on every boot. How do you get off this merry-go-round? When CHKDSK gets ready to run it’ll show a message, VERY briefly, saying to press any key to cancel the scan process. If you’re quick enough to catch that and pound on the keyboard your machine will boot up without running a CHKDISK scan, but that won’t clear the dirty bit. Once you get on the machine, run CHKDSK in its most minimalist configuration, with the /I and/or /C options and hope that it clears the dirty bit the next time it runs.
C:\Windows\system32>chkdsk h: /f
The type of the file system is FAT32.
Chkdsk cannot run because the volume is in use by another
process. Chkdsk may run if this volume is dismounted first.
ALL OPENED HANDLES TO THIS VOLUME WOULD THEN BE INVALID.
Would you like to force a dismount on this volume? (Y/N)
i only had one file on the thumb drive that was kinda important, and now it’s not there
geez, i can’t imagine what happened, except that i dropped my keyboard – happens more often that i would like
my goal is to recover the lost data
i’ve been doing this a long time; i know about backups. except this was a new drive/file, and i never got the chance to
i recovered my file using a program called ‘file viewer’. the program was easy to use, and worked flawlessly. you can disregard the part about “i had one file on the thumb drive”
i’m still curious how i lost it. i can’t believe that resulted from dropping my keyboard. i thank God none of my other drives were erased
You can try Recuva
It’s not done yet running but that’s half of chkdsk..
.. i should of posted this first.. srry..
C:\>shutdown /r /te
shutdown’ is not recognized as an internal or external com operable program or batch file.
C:\>shutdown /r/t o shutdown’ is not recognized as an internal or external com operable program or batch file.
C:\>recover
RECOVER [drive:][path]filename
C:\>recover C:
RECOVER on an entire volume is no longer supported. To get equivalent functionality use CHKDSK.
C:\>chkdsk C: /F /V /R The type of the file system is NTFS. Cannot lock current drive.
Chkdsk cannot run because the volume is in use by another process. Chkdsk may run if this volume is dismounted first. ALL OPENED HANDLES TO THIS VOLUME WOULD THEN BE INVALID. Would you like to force a dismount on this volume? (Y/N) y Volume dismounted. All opened handles to this volume are now inva