Defrag process takes longer than in safe mode

I can get zero fragmentation in safe mode, as expected, because there are little running processes, and that is the preferred way to defrag. But the defrag process doesn't stop and goes on and on and on, and after 6 hours was still running even with about 150 fragmented files, even though the process shows 0 percent fragmentation. No the other issue I have is when I do run it in regular Windows Vista booted up, (nonsafe mode), it gets to about 98 percent and even after 6 hours is still showing 13 percent fragmentation and not chaning, and going VERY VERY VERY slow. What is going on here and how can I make this better? Fragmentations and proper closing of the process should not take this long and not evn stop. Thanks for all your help!

post-28048-1260194831_thumb.jpg