Some antivirus programs could make the defragmenter fail.
Have you tried restarting the machine in safe mode?
You could also try to run the command line version. To do that, follow these steps:
-Restart Windows XP.
-As the system boots up, press [F8] to display the Operating System Choices menu.
-Press [F8] again to display the Windows Advanced Options menu.
-Select the Safe Mode With Command Prompt option.
-Select the Windows XP operating system and log in.
-When the Command Prompt window appears, type Defrag to see a list of options for running the command line version of Disk Defragmenter.
It could be interesting to know if you are able tu run Chkdsk, and if not, what error messages you get.
I use a third party freeware program called Auslogics Disk Defrag 184.108.40.2065. It seems faster than Microsoft’s version.
There might be an error to the defragmentation utility tool of your computer. Or it might be hardware failure of your hard disk drive. Make sure your hard disk is properly working to perform the defragmentation properly.