What about creating a System Restore point and then running the Disk Cleanup program and checking all the available boxes but more so checking the "More Options" Tab and removing all the old System Restore points except for the last created restore point.
After that see if Defrag will run.