Shrinking an old XP in dual boot

I have a dual boot system of Win 7 32 loaded onto a partition alongside a partition with an existing XP SP3; everything works fine. But after running the Win 7 for a while I have decided to use it as the default OS leaving the old XP just to run a couple of things that Win 7 won't deal with (a Dimage slide scanner being the most notable bit where I can't find new drivers).

So I have moved over all the documents and other stuff and deleted various programs I will not need in XP - hopefully shrinking down the space taken on the XP disc space. It is down to about 40% of capacity and the rest is now empty. I wanted then to shrink the XP partition using the partition manager in Win 7, and expand the Win 7 space. I ran a defrag to compact the files as much as possible.

But it will only allow me to shrink by 5Gb, ie 5% or so of the Win XP space. Seems the reason might be system back up files taking up space further out on the disc partition.

So finally my question - should I reload XP giving me the chance to delete the partition and then re-format a new smaller one for the new XP? But it seems like a lot of work and it would put XP on after Win 7 (which is possible I know with BCD but still seems to involve various hassles). Is there another way to shrink the space without messing with the XP which is working fine?

[Finally, I did a small test and did the 5% shrink, which I then restored because Win 7 will not EXPAND into the new space anyway. So maybe it would still not expand if I made the XP partition much smaller?]


Last edited:
Unfortunately, Disk Management will only allow an extend or a shrink at the back of a partition, not the front, so you won't be able to reclaim the space you create between XP and W7 by that method.
It's because the BCD UID describes the partition and its start point, so moving the front of the partition would break the boot. It's a pretty lame excuse for not being able to do something so fundamental, especially when MS of all people, should know how to correct the BCD.
You can use 3rd party partition management tools to do what you want, but only if they're new enough to be Vista/7 compatible. Some will auto-fix the BCD as part of the move, others will move the partition but expect you to fix the BCD yourself (by booting the W7 DVD and "startup repair").
You might be having a problem shrinking XP even after defrag because of pagefile.sys. It's unmoveable, so might be sitting where it stops you from achieving your goal. You can move pagefile to a different partition, reboot and try the defag/shrink again and see if that gains you more elbow-room.
Many thanks. I suspected something along these lines. As you say, it seems a surprising limitation.

I think the best thing is to leave the old XP partition alone since it is not actually broken and simply set up a couple of general files in the spare space to store stuff (pictures eg). Maybe at some point a re-install might be needed for some reason and I'll juggle with it all then, though Win 7 is supposed to be more stable and less re-install prone.

There is a reasonable space left on the Win 7 partition so it will not choke - it just seemed more sensible to have as much available there as I could.

Thanks again
You should have either applied this hack to XP, or be using something like HnS (if the hack doesn't work for you), to protect W7 system restore folders from corruption.
A good ploy would be to shrink XP as far as possible, then create a new partition in the gap and use it for user apps/data.
It's a good idea to keep the OS partition as "vanilla" as possible and put all your transient stuff in a separate partition. That way the OS doesn't get fragmented and slow, and the auto-defrag that started in Vista, can keep the OS nice and clean without you even noticing it's working every day.
You can share the partition between XP and W7 if it's purely data, but not if you put W7 apps on there. Apps require system restore to be turned on, data doesn't; so for the reason in the first sentence, XP mustn't see W7 OS or apps.
Last edited: