1

Do these personal observations help determine if I'm either just "doing something wrong", or "I have an M.2 NVme that's just impossible to ever boot from"?

  • Motherboard: Intel s2600gz (circa 2012)
  • Latest BIOS: Released in 2018
  • NVme M.2 : Crucial P3 512GB
  • PCIE to M.2: Generic $15 PCIE v4.0 card from eBay
  • OS: I tried W11, W10, Server 2019, Server 2022 (ISOs downloaded directly from Microsoft.com)

Note:

  • No where in the BIOS do I ever see any choice marked "Secure Boot OFF/ON".
  • No where do I see "Use PCI-E slots for NVme cards".
  • No where do I ever see the boot options listing "Boot from PCI-E" nor "Boot from NVme".
  • I never see the NVme listed in Disk Manager.

But:

  • I DO see the NVme card listed in DiskPart.
  • I DO see the NVme card listed when I boot with a Rufus created "Windows Installer" USB flash drive.
  • No "load drivers" is ever needed.
  • The install goes 100% fine, directly to the NVme card. (But later, it won't act as a boot drive.)

I even went as far as installing Windows on another SATA SSD drive... then making a "recovery disk"... and using the "recovery image" to put Windows on the NVme drive. It still won't boot, but DiskPart shows the 3 expected partitions: Boot/Active, the C: drive, and Reserve.

Do any of the above combinations tell you what I'm doing wrong?

I initially thought it must be a "driver problem", but as I said above, the install goes fine with no extra drivers needed. Could Windows be supplying the driver for 'read/write', but a better/newer driver is needed for 'and also allow booting'?

The latest BIOS (Aug 2018 v02.06.0007) doesn't specifically say "boot from NVme", but there certainly were a few UEFI bugs/fixes: https://downloadmirror.intel.com/28312/eng/releasenotes_r02.06.0007.txt

1 Answers1

0

I initially thought it must be a "driver problem", but as I said above, the install goes fine with no extra drivers needed. Could Windows be supplying the driver for 'read/write', but a better/newer driver is needed for 'and also allow booting'?

Yes, Windows has generic drivers for NVMe disks as they all follow the same specification.

However, for booting, it's not a "newer/better" driver that is needed but a driver that works in a completely different environment – Windows drivers only work within Windows, but they're useless to the system firmware when the OS is not yet loaded.

This means your firmware itself must have "drivers" for NVMe disks for the initial boot (until the OS with its own drivers takes over), like it currently has for SATA AHCI disks.

(Some other PCI-based storage devices, such as SCSI HBAs, can bring their own "option ROMs" to allow the firmware to access them, but I haven't heard of NVMe disks ever doing that.)

In theory a firmware update from 2018 could have added NVMe support, but I haven't heard that happen; manufacturers don't bother adding NVMe drivers for mainboards that don't have any M.2 slots natively. Without seeing the actual changelog, I would guess that any "real" updates for your system stopped in 2013 with the rest only being an odd security fix or new CPU microcode included.

At minimum you would need to move the boot partition (the "System" partition in Windows terms) to a SATA or SCSI/SAS disk that's supported by the firmware; bcdboot might help with creating a new boot partition. But this probably won't be enough, as the Windows Boot Manager would still need to access C:\Windows\System32\winload.exe (which is again on NVMe).

I would recommend installing Windows on a SATA SSD as the simplest option; its performance will be more than enough for the base OS, while additional software and data (user profiles, Hyper-V disks, etc) can be stored on the NVMe disk – there's no requirement to put everything in C:.

(If you had UEFI firmware, it would support loadable drivers – but those still need to be loaded from somewhere that the firmware already supports; it cannot load NVMe drivers from an NVMe disk. But it sounds like you don't have UEFI support at all.)

grawity
  • 501,077