6

I've replaced my old m.2 256GB Samsung XP941 SSD, my boot drive with Windows 10 installed, with a 1TB 970 EVO Plus. This is on an MSI X99S SLI Plus motherboard that was recently upgraded to the latest non-beta version.

Before I started, I used Macrium Reflect to create a full image of the SSD drive (3 partitions) on my larger non-SSD drive, and created a rescue USB stick. I then replaced the drive physically. After booting with the USB stick, I could restore the image to the new drive successfully.

In the BIOS, Boot Mode is set to Legacy + UEFI as for UEFI only, the new drive does not show. I've set the drive as first boot option. Now when I try to boot from it, Windows gives me blue screen with stop code "Inaccessible Boot Device". After a few times it goes into Automatic Repair mode but this does not help.

Note that in the BIOS settings, under System status, it says "Not present" for the entry M.2/SATA Port 5, although there is definitely an M.2 drive present, as I was able to restore the Macrium image onto it.

3
  • You need to rebuild the boot table. I don't recall the exact command, but its something with bcdedit and bootsect I believe. Don't have time to write a full answer though, but if you google for that, you'll get there I'm sure.
    – LPChip
    Apr 9, 2021 at 14:58
  • Do you still have the old SSD and does it still contain Windows on it? Apr 9, 2021 at 15:02
  • @user1686 Yes I still have it intact.
    – herman
    Apr 9, 2021 at 15:10

3 Answers 3

9

Note that in the BIOS settings, under System status, it says "Not present" for the entry M.2/SATA Port 5, although there is definitely an M.2 drive present

Your new 970 EVO is an NVMe drive which connects through PCIe; it is not a SATA device and does not consume a SATA port. (Most M.2 slots are dual-purpose and accept both SATA and PCIe devices.)

Your old Samsung XP941, meanwhile, was a SATA drive (although it is unclear to me whether it directly used the M.2 SATA interface, or whether it was a PCIe device which had its own SATA controller).

Now when I try to boot from it, Windows gives me blue screen with stop code "Inaccessible Boot Device"

Windows automatically removes storage unused drivers from the early-boot process – if you had the OS installed on a SATA device then only the SATA driver (e.g. StorAhci) is enabled for "boot start", while the NVMe driver is deferred to a later phase (and the same for IDE, SCSI, etc.).

One way to "fix" this is to boot Windows from your old SSD again and run the command:

sc.exe config stornvme start= boot

This will activate the Windows' built-in NVMe driver during the early boot phase. Once that's done, re-clone the system to the new SSD. (Note that rebooting may cause Windows to deactivate the driver again.)

In the BIOS, Boot Mode is set to Legacy + UEFI as for UEFI only, the new drive does not show. I've set the drive as first boot option

This is not a problem, but you should probably think about converting the OS and disk to UEFI boot mode; recent Windows 10 versions come with an mbr2gpt.exe tool for that. On modern firmwares, there's a chance that native UEFI boot will be a little faster. Newest Intel PCs no longer support legacy mode at all.

(Note that in UEFI, "boot options" generally aren't whole drives, but OS-defined entries.)

6
  • I will try this. BTW the XP941 is a native PCIe SSD.
    – herman
    Apr 9, 2021 at 15:28
  • I've found several sources that say it's PCIe -- but none that confirm that it is specifically NVMe. Indeed most list it as a low-end SATA AHCI device (with SM941 and PM941 being the NVMe counterparts). So it sounds like it just comes with its own AHCI controller built in (and the AHCI controller of course attaches via PCIe). Apr 9, 2021 at 15:57
  • This worked so I'll accept the answer, thanks! Meanwhile I found out that booting into Safe Mode should have worked as well: superuser.com/a/1452916/101809
    – herman
    Apr 9, 2021 at 23:09
  • I had Windows 11 on SATA with GPT, after migration to NVMe I had this problem too. Setting stornvme to start at boot helped me
    – barwnikk
    Sep 23, 2021 at 21:43
  • 1
    You don't actually have to insert the old SSD. You can boot into safe mode then execute the same command!
    – wbkang
    Aug 28, 2022 at 1:31
1

OK here we go, I had same problem with either Macrium and Aoemi backupper both free edition. Using Macrium rescue media and trying "Fix Windows boot problems" didn't help either. Of course Macrium offers a solution to buy the Macrium ReDeploy not free.

The problem is that even though the cloning recreated the boot files, they will need to be changed again due to the disk clone. Run command prompt in admin mode type 'diskpart' enter key and type 'list volume' and take note of drive letters of both Windows and EFI sysem partition. Exit diskpart and run the following command: 'bcdboot c:\windows /s e: /f UEFI' Where C drive is the Windows installation path and E drive is EFi parition.

This will copy BCD files from the C:\Windows folder to a system partition on a secondary drive which is your NVMe drive. I won't take credit for the solution. Many tanks to Jon from https://faststorage.eu/how-to-clone-windows-10-from-sata-ssd-to-m-2-ssd-fix-inaccessible-boot-device/

1
  • This solution works. From the Macrium boot stick, I launched a CMD shell. I found the real c:\Windows located at g:\Windows, and the rescue partition was mounted two letters later at i: . I changed directory to g: and navigated to g:\Windows\System32 and ran bcdboot g:\Windows /s i: /f UEFI After rebooting, it booted into some sort of Windows safe mode where I selected the option for automatically fixing common bootup problems. The Windows autofixer took a bit of time to do its thing, but left me with a fully M.2 booting system.
    – dsmtoday
    Mar 2 at 17:39
-1

I tried the following command.

sc.exe config stornvme start= boot

I have a SATA drive, which boots from a certain SATA driver to Windows. I changed it to stornvme with the command, then cloned to an NVMe drive. Now, I have a SATA drive that now boots using an NVMe driver and will probably BSOD. When I go to change the driver with the command above, can I use "storahci"? If that's not the correct driver, which one for loading from SATA is?

I know this isn't an answer, but I didn't think I had to make an account until now. I know that's kind of stupid, but yeah, sorry :(

1
  • 1
    If you have a new question, please ask it by clicking the Ask Question button. Include a link to this question if it helps provide context. - From Review Nov 25, 2021 at 8:59

You must log in to answer this question.

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