Here the Howto as always
You might need some advanced knowledge with parted and clonezilla.
Create a Backup of the working system. Just in case :-)
Shrink your HDD via windows disk management to fit to your SSD size.
If windows won’t let it shrink to the preferred size you have to disable hibernate, pagefile, and system protection temporary.
You might also want to remove the windows update backups with windows disk clean utility.
Make with clonezilla a full disk backup.
I like to disconnect the old HDD when backup with clonezilla has finished. Just in case :-)
When clonezilla livecd has started, open an new terminal and create a new partition table with parted according to you old partition table on the HDD (GPT, MSDOS, Boot Partition, Windows Partition and Windows recovery Partition) on your fresh SSD.
The new partitions must fit at least the size of your partitions from backup. You shrunk them down before. Bigger no problem.
In case of MSDOS don’t forget to set the boot flag.
Start clonezilla and choose partition backup. Restore full disk won’t work, in most cases the SSD is smaller than your HDD.
In case of MSDOS partition table write MBR to the new SSD:
Write MBR with Windows Recovery from install media or ms-sys
Windows Recovery Disk:
bootrec /fixmbr bootrec /rebuildbcd bootrec /fixboot
ms-sys -7 /dev/sdx ms-sys -n /dev/sdx1
If you have issues with bootrec
bcdboot sourcedriveletter:\windows /s destrinationdriveletter: