Question Migrating Win 10 from old SATA to NMVe issues


May 25, 2017
I have Win 10 on an old Samsung EVO 850 256GB drive, so I bought a new M.2 PCIe gen 4.0 SSD (2 TB WD SN850). In order to be able to boot with the NVMe drive installed, I updated my ASUS STRIX 570-E motherboard (Running 3900x). The new drive was installed and booted without issue after the update. It worked great in Windows. At this point my BIOS was using a mix of legacy and UEFI.

I then used Macrium software to clone my SATA SSD (MBR) to my NVMe (GPT), and updated to BIOS settings to UEFI only, no legacy, and removed the SATA. I disabled CSM, and even reset CMOD by removing the battery for 5 minutes (after lots of other attempted fixes). The new NVMe drive now shows in BIOS as a storage device along with my two storage HDDs, and works perfectly well in Windows if I reinstall the SATA and roll back the BIOS changes to allow legacy. But I am unable to boot from it.

Should I try another software to clone it? It still could be a missed BIOS setting, though I feel like I've tried every combo. Or do I make a Win 10 recovery USB and try and force a boot partition on the new SSD? I've tried everything I could read on the topic, and consider myself at least borderline competent, but I'm lost.


Mar 16, 2013
Macrium works just fine.
But the very first thing you must do at the end of the clone process is to power off, disconnect the old drive, and allow the system to try to boot up with only the new drive connected.

Specific steps for a successful clone operation:
Verify the actual used space on the current drive is significantly below the size of the new SSD
Download and install Macrium Reflect (or Samsung Data Migration, if a Samsung SSD)
If you are cloning from a SATA drive to PCIe/NVMe, install the relevant driver for this new NVMe/PCIe drive.
Power off
Disconnect ALL drives except the current C and the new SSD
Power up
Run the Macrium Reflect (or Samsung Data Migration)
Select ALL the partitions on the existing C drive

If you are going from a smaller drive to a larger, by default, the target partition size will be the same as the Source. You probably don't want that
You can manipulate the size of the partitions on the target (larger)drive
Click on "Cloned Partition Properties", and you can specifiy the resulting partition size, to even include the whole thing

Click the 'Clone' button
Wait until it is done
When it finishes, power off
Disconnect ALL drives except for the new SSD
This is to allow the system to try to boot from ONLY the SSD
Swap the SATA cables around so that the new drive is connected to the same SATA port as the old drive
Power up, and verify the BIOS boot order
If good, continue the power up

It should boot from the new drive, just like the old drive.
Maybe reboot a time or two, just to make sure.

If it works, and it should, all is good.

Later, reconnect the old drive and wipe all partitions on it.
This will probably require the commandline diskpart function, and the clean command.

Ask questions if anything is unclear.
I then used Macrium software to clone my SATA SSD (MBR) to my NVMe (GPT), and updated to BIOS settings to UEFI only, no legacy, and removed the SATA.
That's not, how you do it. It is not going to work.

If source drive is MBR, then target also has to be MBR. If you clone contents of MBR drive to GPT drive, result is not bootable.
On MBR drive only primary active partition is bootable.
On GPT drive only EFI System partition is bootable.
GPT drive doesn't support primary active partitions and MBR drive doesn't support EFI System partitions.
Reactions: MerlinPrimus