Click Start, then Run, type cmd in the Open box and click "Ok". At the prompt in the Command window, type the following commands, pressing "Enter" after each one: (Please note the spaces in the following commands.)
* chkntfs /d ..... (This will reset autocheck options to default)
* chkntfs /c C: ..... (This will allow checking drive C

* fsutil dirty query c: ..... (This queries the drive and will most likely tell you that it is dirty)
* chkntfs /x c: ..... (The x switch tells Windows to NOT check the specified drive on the next boot)
At this point, restart your computer, it will not do a chkdsk and will boot directly to Windows.
This next step is important as this is where the Dirty Bit will be unset.
Click Start, then Run, type cmd in the Open box and click "Ok". At the command prompt, type the following, pressing "Enter" after each one: (Again, note the spaces.)
* chkdsk /f /r c: ..... (To manually run a full chkdsk operation)
* Y ..... (To accept having it run on the next boot)
This should take you through 5 stages of the scan and will unset that Dirty Bit. Be patient...this is a very thorough check and will take quite a while.
Finally, when the chkdsk operation has completed, type fsutil dirty query c:, press "Enter", and Windows will confirm that the Dirty Bit is not set on that drive.
Now reboot again and see if defragmenter will run.