Try doing it through the Command Prompt:
To use the command line defrag tool in Windows Vista, you have to run the
Command Prompt as an administrator. In Vista, this is not automatic even if
you are logged in as the administrator. Click the Windows button (previously
the Start button in earlier versions of Windows), the All Programs menu item
and the Accessories menu item. Right click the "Command Prompt" button and
select "Run as administrator". A command prompt window will appear.
Everything you run in this Window will be run with administrator rights.
1.. To view a file fragmentation analysis of (say) your C: drive, type:
defrag c: -a -v
The "-a" parameter tells the defragger to perform a fragmentation analysis.
The "-v" option tells it to be verbose in its report. If you want a report
on drive D: or some other drive, substitute that drive letter in place of
c:.
Be aware that defrag may tell you that you have no fragmented files even
if you have some. On NTFS partitions, the reporting function of defrag does
not consider fragmented files with fragments greater than 64 MB as
fragmented. If you need truly detailed information, you may have to consider
getting a third party defragmenter such as those listed on the Free
Defragmentation Utilities page on thefreecountry.com.
2.. To defragment a particular drive, say C:, type:
defrag c: -v -r
The "-r" option tells the defragmentation utility to treat files that are
fragmented with 64 MB fragments or larger as though they are not fragmented.
This partial defragmentation is the default for "defrag", and it's the only
way the GUI defragmenter in Vista works.
You can also force the defragmenter to defragment everything. That is,
even if the file fragments are larger than 64MB, the Vista defragmenter will
still attempt to put the file into contiguous sectors. To do this, run the
defragger with the following options:
defrag c: -v -w
As you have probably have guessed, "-w" tells the Vista defrag tool to do a
full defragmentation. All file fragments will be consolidated where
possible.
You will still not get any feedback as to the progress of the
defragmentation with the command line tool, just as you did not with the GUI
version. However, at the beginning and the end of the defragmentation,
"defrag" with the "-v" option will give a report, much like the old Windows
XP GUI defragmentation utility. Again, though, it will not report fragmented
files with 64 MB fragments (or larger) as being fragmented.
http://www.howtohaven.com/system/vistadefragmentation.shtml