I have an old PC booting Windows XP from a 40Gb drive. It also has a 320Gb hdd and a CD r/w. The 40Gb drive is getting quite noisy, and I'd like to swap it for a quieter 12Gb drive I have lying around.
I only use the machine to play video through my TV. Apart from occasional updates to XP and VLC (the video player I use) I don't write to the boot drive, which currently has about 8Gb in use. I periodically use Paragon Backup & Recovery (free) to put the latest 'snapshot' of the boot drive onto the 320Gb 'data' drive.
I always do a defrag before backing up, using Smart Defrag. But both this and XP's built-in defragger leave gaps between files. So I can't just swap drives and restore to the 12Gb unit, because the backup image actually wants to spread itself across nearly 15Gb (to mirror how the files exist on the original).
Is there any (preferably free) way to defrag the 40Gb boot drive so all the files are contiguous, within the first 8Gb of space?
UPDATE - I'm beginning to think I must need something that can create its own 'Boot CD'. Everything that's been suggested so far seems to use at least the filing system components of XP from the disk I'm trying to defrag - so they can't move those files, because they're 'in use'.
UPDATE2 - I seem to have answered my own question. Paragon Total Defrag has just done what I want. It's a 30-day trial, but I only need it once, so that's me sorted. Note that I'm not concerned about optimising disk performance at all - I just want to get all files contiguous, with no gaps between them.