First, run CHKDSK C: /F in a command prompt window.
Say "Y for yes when asked. Reboot. This should fix most
file system errors. But, watch the windows boot-time
screen for any messages about errors that could not be
fixed. If you see those, try CHKDSK C: /R, say Y,
reboot. The /R option is much slower, but more powerful,
than the /F option. If the partition you want to defrag
is not C:\, then substitute its letter for C: in the
CHKDSK commands.
Next be sure that you have at least 15% free space. It is
probably a good idea to clear out the IE cache, the
recycle bin, any Norton protected recycle bin files, etc.
You might even want to toss older system restore points.
Do that by right-clicking on C: in windows explorer,
select properties, disk cleanup, more options, system
restore. Say yes a few times and then wait (seconds to
aminute or so).
Now try defrag again. Note that diskeeper can be
configured to only defrag, but not maximize contigous free
space. That runs faster, and might be a good start on
defragging.