I think you would have used the defragmenter which comes with Windows .If that is the case then most probably it will not do a complete job at defragmenting .Apart from that I believe that Microsoft write in the middle of the hard drive even though the hard drive is empty.
So the only option I can think of is you might have to buy some other defragmenting tool and try your luck. Alot of defrag utilities are available online.
A free open source defragmenter will be available from http://linux-ntfs.sourceforge.net
The other option is backup ur data and repartition your hard drive and re-install XP and GNU/Linux.
But in any case Pls make a back up of your data before doing anything.

-----------------------------------------------------------
Free Software , Free Speech , Free Society
http://bhavesh.freeshell.org