What to use to clone bootable drive?

I have an NVME drive for Linux, a 250gb SSD for Windows (used for gaming) and an empty 120GB SSD.

I want to move my Windows install from the 250GB drive to the 120GB. What is the best way to do this from within Linux?

Thanks guys!

I should add that the “Windows boot manager” is on the NVME drive. In Yast I “Hide menu on boot”. If I want to boot into Windows I press F11 and use the motherboards boot options.

I have already copied the 250GB partition to the 120GB (resized, of course) drive using GParted but don’t know where to go from here. I’ve never known much about bootloaders! I prefer each drive to use it’s own bootloader (ie Grub on the Linux drive and the Windows bootloader on the Windows drive) and to simply let the motherboard option choose which to boot off but it’s a bit late now for that I guess!?

If at least 1 of your drives is a Winchester brand drive you can download “Acronis True Image WD Edition” from the Winchester site:
I used it about 2 mounths ago to clone a 2 disk raid 0 array to a single non array disk. It even retained simlinks and windows register entries.

I’ve cloned a W10 ssd to another using Clonezilla from a livecd, no issues.

Note: if cloning a linux partition to another disk first I change fstab to mount by label, use the same label on the new partition and, after booting it, revert to UUID (not stricktly necessary if you take care when labeling). This avoid the partition not being recognized because of different UUID.

To OP: you may shrink NTFS from 250 to 120 GB with Windows tools.