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.

EDIT: the old SSD was Not UEFI

  • Make sure not to have the original SSD and the cloned NVMe installed at the same time. If booting does not work boot into Windows installer DVD or Macrium RE bootable system and perform Windows boot repair.
    – Robert
    Feb 20, 2021 at 19:10
  • Was Windows originally installed in CSM or UEFI mode on the SATA disk? Feb 20, 2021 at 19:16
  • I had only the new SSD in and it wouldn't boot. You are probably right about the Windows boot repair, I'll let you know if it works. The old SSD was CSM mode.
    – BlueMerlin
    Feb 20, 2021 at 19:17
  • 1
    @BlueMerlin If you have the Macrium RE bootable CD or USB stick I would prefer that. The included boot repair can to my experience fix boot problems more often.
    – Robert
    Feb 20, 2021 at 19:26

2 Answers 2


Windows creates a bunch of files (as required by UEFI) on the Efi System Partition (usually hidden in Windows) when installed in GPT/UEFI mode. When you clone the disk these files will not be present. Therefore the UEFI will not be able to access the Windows bootloader and will not boot.

The only solution is to clean install Windows on the new SSD. I am pretty sure that even repair wouldnt work because it would be repaired as the MBR/BIOS version (I wouldn't expect any clever algorithms that understand what you want to do from microsoft).


Actually, it's very simple. You need to install Windows as GPT/UEFI (or clone it from the supplied original installation that the machine came from - that's faster). Then you have your EFI partition and, depending if you've cloned a supplied Windows, maybe a Win_RE partition (mine was called WINRE_DRV).

Then you wipe the new windows partition, but not the 'hidden' system partition/s it has created. If you have a Win_RE partition, move it to the end of the drive. You then clone your original MBR installations 'visible' drives, so not the MBR partition, just Drive c:\ and any other partitions your have. You slot them into the unallocated space between the EFI and the Win_RE partitions (if you have the latter), so in my case: SYSTEM_DRV (Fat 32) - unallocated space - WINRE_DRV (NTFS).

Then you run a Macrium Reflect Boot repair from USB (don't be perturbed by it saying it's repairing an MBR boot sector, it worked for me anyway), switch your BIOS to UEFI-first (or only, if you prefer), and you boot into your new NVMe drive. (If it doesn't work, repeat. Why doing things more than once, when you don't do anything different - which, by definition is actually a sign of madness - I don't know, but how often have I done exactly that with computers, only for it to work in the end.)


Anyway, worked for me - per se. I didn't see any performance increase, however, and found the result a little jerkier in performance (some things faster, others more hesitant), so I went back to booting from the SATA drive, which for all normal jobs is the same, by a few seconds here or there. But that's how you do it if you must. I now simply use the NVMe as a scratch drive for data-intensive projects, which is really what I wanted it for. Actually, I've hidden the c:-drive and left the boot partitions on, in case I want to return to that setup), but windows only sees the data partition, which still is about 800GB (on a 1TB drive). Hope this helps.

CORRECTION!!! The Partition Sequence on the GPT drive I mentioned was wrong and is: 0 - SYSTEM_DRV (Fat 32) - 260Mb (came from the cloned manufacturer's disk) 1 - (Unformatted Primary) - 16Mb (I forgot that I HAD copied that over) 2 - C:\ (Local Disk - Windows System - NTFS Primary) 3 - D:\ (Local Disk - Data - NTFS Primary) 4 - M:\ (Local Disk - Media - NTFS Primary) 5 - WINRE_DRV (NTFS Primary) - 1GB (I just left it there, because 'why not?')

Because that copy didn't run all that well, I'll be replacing C:\ & D:\ once more and have another go. Else, I'll move my Media partition M:\ to that NVMe drive and probably replace the 2.5" SATA with an M.2 SATA card, because of heat issues, not because the M.2 will run faster.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .