- Install Windows 7 onto the SSD, don't bother configuring. This sets up the partions and makes it bootable.
- Boot to a Linux rescue CD, and use gparted to resize the source Windows 7 partition to the same size as the SSD partition. (Windows disk management will not do this resize if you need to shrink past the "unmovable" files in the middle of the partition).
- This fails because gparted cannot resize a partition on a dynamic disk, but it does move the "unmovable" files.
- Now boot back into Windows, wait for the checkdisk run, and use Disk Management to shrink the partition.
- Boot back to a linux rescue CD and use DD to clone the source Windows partition over the top of the destination Windows partition on the SSD (make sure the partition sizes match when resizing). e.g. "dd if=/dev/sdb2 of=/dev/sda1 bs=4096 conv=notrunc,noerror". Don't get them the wrong way around.
- Note that you can use Clonezilla or many other tools (Acronis, AOMEI backupper) instead of DD.
- Boot to a Windows rescue CD (made from the Backup and Restore utility) and use the automated boot-fix step to fix the boot manager.
One thing to note - if a Windows install CD says that "This version of System Recovery Options is not compatible with the version of Windows", when booting up, hit F11, the boot options should specify UEFI boot of the CD (instead of AHCI).