There are times when the disk checking utility needs to run before you boot into Windows. Sometimes it seems to get stuck and does so every time.
I have a two year old laptop running Windows XP. I had run “Defrag” and also clicked on the check drive for errors option, which was then scheduled at next restart.
Now this scan program runs every time I start up. How can I shut this off?
Good news: we can turn it off.
Bad news: it means editing the registry.
The “I’m not so sure” news: you shouldn’t have to. It should have turned itself off, and I’m concerned that this might be trying to tell you something.
Checking your disk for errors requires that the checking utility have exclusive access to the hard disk. That means that even Windows can’t be accessing the drive for any reason. If the disk drive you’re checking is the drive on which Windows lives, the error check is then “scheduled” to happen automatically the next time you boot, before Windows loads. It looks much like this while it’s running:
It should happen once. When the utility completes successfully, it should remove that request to run again on boot up, and then reboot. In other words, the next time you boot, which would be upon completion of the scan, it shouldn’t check again.
Before I tell you how to turn it off, I want you to watch it one more time, this time paying particular attention to any error messages that it may produce before it completes. (A digital camera snapshot of the screen, as I’ve done above, is a great way to preserve the error massages before they disappear as the boot continues.) It’s possible that there’s an issue preventing the scanner from un-scheduling itself.
In order to disable the scan we’ll be making changes in the Windows registry. Step one should be: back it up. This Microsoft Support article Description of the Microsoft Windows registry includes pointers to the recommended ways of doing so.
The short version, for those who are ready to dive into the registry: we’re going to change the value of HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManagerBootExecute to autocheck autochk *.
Step by step that means:
- Start the registry editor by clicking Start, then Run, typing in regedit and pressing OK. The result will be similar to this:
- Click on the boxed plus sign [+] in front of HKEY_LOCAL_MACHINE. That will expand and look something like this:
Don’t worry if your instance of Regedit already had some of these expanded; it remembers the last setting. Just follow along as if it hadn’t been, expanding the nodes that we need if they’re not already expanded.
- Expand (by clicking the boxed plus sign in front of) SYSTEM
- Expand CurrentControlSet
- Expand Control
- Now click on Session Manager, which is listed underneath Control and you should see something like this:
- In the right-hand pane, double click on BootExecute. This contains the instruction that we want to remove. You should get an edit dialog much like this:
The command “autocheck autochk /p ??C:” is what we want to change.
- Change replace the “/p ??C:” with an asterisk (*). The resulting command, “autocheck autochk *” in the dialog looks like this:
- Press OK to dismiss the edit dialog.
- Close Registry Editor
Now, on your next boot the disk checker should not run.
I say “should” because there are still things that may cause it to run anyway:
You didn’t shut down your machine cleanly. Perhaps your machine crashed or suddenly rebooted. Or perhaps you were in a hurry and turned off the power before Windows said it was safe to do so. In both cases Windows may not have finished updating information on the hard disk on shutdown, so it must check the disk on start up to make sure that everything is ok.
The disk may be failing. It’s sometimes the case that a disk drive, as it starts to fail, will do so in a way that causes Windows to notice and run the disk checking utility on start up. It’s not common, but it can happen.