Dunno about Vista, but my XP defrag left huge empty spaces between data areas, even after several runs, when I needed to nib space for another partition at the end. I tried free Mydefrag which did the job. It has options to select if you want to optimize the disk I/O performance or push all data together or what.