What you're experiencing is what Windows refers to as "setting the dirty bit" and you have to unset that bit. Each time Windows XP starts, autochk.exe is called by the kernel to scan all volumes and check if the volume dirty bit is set. If the dirty bit is set, autochk performs an immediate chkdsk /f on that volume. Chkdsk /f verifies file system integrity and attempts to fix any problems with the volume. It is usually caused by a hard shut down or a power loss during a read-write operation on that particular drive.
Open a Command Prompt window ("Start > Run" type
cmd and click OK). At the prompt, type
FSUTIL DIRTY QUERY C: and press Enter. This queries the drive and more than likely it will tell you that it is dirty. Next, type
CHKNTFS /X C: The X tells Windows NOT to check that particular drive on the next reboot. At this time, manually reboot your computer, it should not do a Chkdsk and take you directly to Windows.
Once Windows has loaded, open a Command Prompt window again and perform a Chkdsk manually by typing
CHKDSK /F /R C: This should take you through 5 stages of the scan and will unset that dirty bit. Finally, type
FSUTIL DIRTY QUERY C: and Windows should confirm that the dirty bit is not set on that drive.
_________________
Mike