The Check Disk application in Microsoft Windows Vista can sometimes malfunction, causing problems during the boot process. In answer to several TechRepublic member questions, Greg Shultz explores the problems and describes how to permanently fix them.
In the September 25, 2008, edition of the Windows Vista Report (How do I ... use the Vista Check Disk tool for hard disk analysis?) I showed you how run Vista's Check Disk tool in analysis mode. As I did, I mentioned that to run Check Disk in full repair mode, you select both the Automatically Fix File System Errors check box and the Scan For And Attempt Recovery Of Bad Sectors check box, as shown in Figure A, and click Start. When you do, the Check Disk GUI will schedule the DOS version to run at startup and prompt you to restart.
To run Check Disk in full repair mode, select both check boxes and click Start.
Since that blog post ran, I've heard from several readers who have attempted to run Check Disk in full repair mode but have discovered that Check Disk fails to run at startup. I've also heard from several readers who have run Check Disk in full repair mode and have discovered that after doing so, Check Disk runs at every startup.
Fortunately, there are ways to work around both of these issues. In this edition of the Windows Vista Report, I'll show you what to do when Check Disks malfunctions in Vista.
This blog post is also available in PDF format in a TechRepublic download.
Check Disk fails to run
When Check Disk fails to run at startup, the cause is typically a configuration error or a slight corruption problem in the registry. When the Check Disk GUI schedules the DOS version to run at startup, it actually makes a change in the registry that triggers the Check Disk operation to run as the system starts up. If that entry isn't configured properly due to some glitch in the system or if it becomes corrupted by a third-party utility, Check Disk will not run at startup.
To fix the problem requires that you modify the registry. Since editing the registry can be a dangerous operation, it is important that you back it up before you begin.
To launch the Registry Editor, press [Windows]+R to open the Run dialog box. Then type regedit.exe in the Open text box and click OK. You'll then encounter a UAC and will need to respond appropriately.
When you see the Registry Editor, navigate to the following folder:
HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerWhen you get there, locate the BootExecute value, as shown in Figure B, and double-click it.
The BootExecute value launches Check Disk at startup.
As shown here, the default value data of BootExecute value should be
autocheck autochk *
If it reads anything else, simply overwrite the entry with the default value data.
To complete the operation, click OK to close the Edit Multi-String dialog box, close the Registry Editor, and restart your system. Once your system restarts, you can return to the Check Disk GUI, select both the Automatically Fix File System Errors check box and the Scan For And Attempt Recovery Of Bad Sectors check box and click Start. When the system restarts, Check Disk should run normally.
Check Disk runs at every startup
When Check Disk is scheduled to run at startup, Windows is supposed to reset the BootExecute value to its default setting as soon as the Check Disk operation is launched. If Check Disk runs at every startup, the cause is typically a configuration error or a slight corruption problem in the registry that prevents the BootExecute value from being reset to its default setting. Therefore, the first solution described above should also solve this problem.
However, if resetting the BootExecute value to its default value doesn't solve the problem and Check Disk runs again at startup, it is possible that the Dirty Bit is stuck. To check the status of the Dirty Bit, you'll use the Fsutil command.
To begin, right-click on the Command Prompt shortcut and select the Run As Administrator command. When you encounter a UAC, you will need to respond appropriately. Then type:
Fsutil dirty query Y:
Where Y: is the drive letter on your system. The result should tell you that the drive is dirty.
At this point, you'll use the Chkntfs command to disable the Check Disk operation for the next startup. Type:
Chkntfs /x Y:
Where Y: is the drive letter on your system. The result should tell you that the file system is NTFS.
To continue, close the Command Prompt and restart your system. When your system restarts, it should boot right into Windows — you should not see Check Disk attempt to run. However, if it does, you should open a Command Prompt window and launch Check Disk in full repair mode. Type:
Chkdsk /f /r Y:
Where Y: is the drive letter on your system.
You'll then be prompted to schedule Check Disk to run at startup. To continue, type Y and press [Enter]. Then, restart Windows and allow Check Disk to run at startup. When it does, it should properly reset the Dirty Bit and Windows should start normally from this point forward.
Have you encountered Check Disk problems?
Have you encountered problems with Check Disk? If so, have you tried either of these methods? Did they work? Did you try alternative solutions? Please drop by the Discussion area and let us hear from you.
TechRepublic's Windows Vista Report newsletter, delivered every Friday, offers tips, news, and scuttlebutt on Vista development, as well as a look at new features in the latest version of the Windows OS. Automatically sign up today!