First, a few things to keep track of.
Disks (harddrive, SSD or USB) can be partitioned in a few different ways. MBR (Master Boot Record) was the most common way until Windows 7, currently GPT (GUID Partition Table) is the most common.
UEFI boot requires GPT. UEFI can boot MBR disks but needs a special compatibility mode often called CSM (Compatibility Select Modules) or sometimes just "Legacy boot".
If you are not sure which partition type your drive has then you can check from a working computer or install disk using the diskpart tool.
Open CMD and type "diskpart" and press Enter, then type "list disk" and press Enter. The right most column shows if the disk is GPT.
Now, about cloning.
A few things are worth mentioning. Automated cloning tools are good but make sure it is a tool that can clone a system drive. Some can only clone data partitions and skip the actual boot partition.
A good tip is that many storage drive vendors have cloning tools for free on their websites. Just make sure at least one of your drives is from that vendor.
Fast startup which is a feature in Windows 10 can cause trouble when booting cloned drives so turn it off before cloning.
Or at least hold Shift while restarting Windows 10 to temporarily disable it once. When your computer has booted up it will be on again.
Sometimes you need to recreate the boot partition after cloning if the cloning software messed it up. Create a FAT32 partition of at least 500MB, preferably at the very beginning of the drive. Assign a drive letter (V in my example) using the diskpart tool in CMD.
Boot a Windows install disk and press Shift+F10 to open up CMD. You may need to click Next a few times before Shift+F10 will work. Then:
diskpart
list disk
sel disk 0
list part
sel part 0
assign letter V
the above list of commands assume that you have one drive and that the boot partition is the first one.
Now you need to run the bootsect command:
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/bootsect-command-line-options
Usually something like this:
bootsect /nt60 V: /force
Note the V: for the drive letter you set earlier using diskpart.
To add your Windows partition to the new boot list use BCDBoot:
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/bcdboot-command-line-options-techref-di
bcdboot C:\Windows /s V: /f ALL
Once again the V: depends on if you followed the previous instructions. Also note that if you run this command from a Windows install media then the Windows drive may not be C:
An optional way to rebuild the BCDstore is this:
https://support.microsoft.com/en-us/topic/use-bootrec-exe-in-the-windows-re-to-troubleshoot-startup-issues-902ebb04-daa3-4f90-579f-0fbf51f7dd5d
Good luck! It is a bit messy but it usually gets there in the end.
Boot Option Priorites
on theBoot
tab. See if you can select USB as #1 and WIndows Boot Manager as #2.