Symptom: You schedule a chkdsk before rebooting a Windows machine (can be Windows XP or any flavor of Server 2003, possibly others as well) it appears to run through the chkdsk successfully, then reboots again and continues the cycle, continuously running chkdsks on startup, but never getting up to Windows. Sometimes the Windows splash screen shows, sometimes not.
Power down and cold boot doesn’t change the behavior. Attempting to boot into Safe Mode also fails with the same behavior.
Cause: Unknown, but probably due to a failing chkdsk operation not removing the BootExecute reg value.
Resolution (some steps borrowed from http://windowsxp.mvps.org/peboot.htm and http://support.microsoft.com/kb/158675):
- Create a BartPE boot CD. You will need the install disk for your exact edition of Windows to do this.
- Insert the BartPE CD into the drive, and boot the system from the CD. Once the file loading phase is over, the Bart PE desktop will be visible.
- Type Regedit.exe in the prompt, and press Enter. Select the HKEY_LOCAL_MACHINE hive.
- From the File menu, choose the Load Hive option. Browse to your Windows installation drive, for example the following location:
- Select the file named SYSTEM (the file without any extensions), and click Open
- Type a name for the hive that you’ve loaded now. (Example: MyHive)
- Now the SYSTEM hive is loaded, and present under the HKEY_LOCAL_COMPUTER base hive.
- In order to fix the BootExecute value in the loaded hive, navigate to the following location:
- Double-click BootExecute and change it’s value to:
- After entering the correct data, you MUST unload the Hive. To do so, select MyHive branch, and then in the File menu, choose Unload Hive. It’s important to note that you’ll need to select the MyHive branch first, before unloading it.
- Quit BartPE and restart Windows. The machine should now boot up normally, skipping the chkdsk.
HKEY_LOCAL_COMPUTER \ MyHive \ CurrentControlSet \ Control \ Session Manager
autocheck autochk *