Helping people with computers... one answer at a time.

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:

Chkdsk running at system boot time

"It's possible that there's an issue preventing the scanner from un-scheduling itself."

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_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute 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:

    Registry Editor at top level

  • Click on the boxed plus sign [+] in front of HKEY_LOCAL_MACHINE. That will expand and look something like this:

    Registry Editor with HKEY_LOCAL_MACHINE expanded

    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:

    Registry Editor open on HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager

  • 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:

    Registry Editor editting the BootExecute setting

    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:

    Registry Editor editting the BootExecute setting complete

  • 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.

Article C2990 - April 9, 2007 « »

Share this article with your friends:

Share this article on Facebook Tweet this article Email a link to this article
Leo Leo A. Notenboom has been playing with computers since he was required to take a programming class in 1976. An 18 year career as a programmer at Microsoft soon followed. After "retiring" in 2001, Leo started Ask Leo! in 2003 as a place for answers to common computer and technical questions. More about Leo.

Not what you needed?

Recent Comments
34 Comments
Thomas Tinker
June 8, 2012 2:36 AM

My XP machine has this problem. BootExecute in my registry was already set to autocheck autochk *. Only F: drive has this problem. Chkdsk doesn't run for C, D, or E. Reading the above, my best guess is the cause may be that I didn't shut down my machine cleanly once recently. The PC was locked up, so I had no choice. That being the case, what would be my next step?

Emil
September 10, 2012 11:58 AM

My "BootExecute" file is missing. Now what can I do?

dhishan
April 3, 2013 6:49 AM

works like charm!! great job

Augastine Mathew
April 10, 2013 1:30 AM

Thanks. That was really helpful.

David Usher
April 14, 2013 6:33 PM

Windows 7 Autochk *still shows upon screen even after running chkdsk "f"!!!