I use Clonezilla for such tasks. It'll fully clone copy a hard disk to another, regardless of type, rotating, ssd, etc. It can also clone partitions, but it's much easier to clone the whole disk, especially since you surely got multiple partitions (two OSes). Of course the new disk must be equal or larger in size for the procedure to run smoothly.
Don't be intimidated by Clonezilla's text interface, it's really easy to use. Boot from Clonezilla boot cd or usb, locate the source and destination disk (be careful on this, you wouldn't want to make a mistake!) and let it roll; the default settings are sensible.
In case you cannot find an equal or larger ssd, you could shrink the existing last partition on the hdd. If it's ext4 or ntfs it can be done, xfs cannot. You can also shrink the partitions on the start of disk, but then you'll have to move the partitions that follow. You can use GParted for this task, but it's slow and a bit dangerous.
Another way would be to clone Windows partition, then make an empty partition for Linux and use rsync to tranfer everything on Linux. I don't think rsync on Windows could accomplish the task for Windows system, that's why I'm suggesting cloning Win part.