First of all you must find out which is the current active partition (it holds the boot configuration files and Windows 7 boot manager). To find out use Windows Disk Management.
It is best if first partition on disk is active (and primary).
Download Visual BCD Editor for Windows 7/Vista. It comes with "Dual boot Repair tool".
Run Dual-boot Repair.
1) Click on Disk Management. Now see if first partition is marked active.
If not mark it active.
Steps 2,3,4 only if first partition was not active !
2) Click on "Automatic Repair" (Dual-boot Repair) - this will create the boot configuration data and boot manager on first active partition.
3) Reboot. Windows 7 will be the default boot entry.
4) If XP is missing from boot-menu you can add it using Visual BCD Editor - right click in tree view and select "Create missing Windows loaders".
Now you have Windows 7 boot manager on first partition(active) and boot configuration data is also stored there.
Copy Windows 7 partition using Partition Wizard 7 Home(free tool) to new drive.
Reboot to default (old Windows 7).
In Disk Management (and Explorer) check that you can see your new partition (new Windows 7).
Add another boot entry for new Windows 7 (again using "Create missing Windows loaders")
Now you will have 3 boot menu entries - XP, old Windows 7, new Windows 7.
Check you can boot to every boot-menu entry.
If all seems OK - delete old partition for Windows 7 (!! if it is not the first active partition !!)
and delete boot menu entry for old Windows 7 - run Visual BCD Editor - select old Windows 7 loader in tree view, right click and "delete".
Windows 7 always boots to fist disk and active partition on that disk !