I'm building a brand new PC with an ASUS PRIME Z370-A motherboard and a Samsung SSD 970 EVO NVMe M.2 250GB.

However, my motherboard does not seem to be able to recognize the drive as the it neither shows up in UEFI nor in the Windows 10 Installer.

I tried installing it in the two M.2 sockets that the motherboard has:

  • M.2_1 socket supports PCIe 3.0 x4 and SATA mode M KEY design and type 2242 / 2260 /2280 PCIe and SATA storage devices.
  • M.2_2 socket supports PCIe 3.0 x4 M KEY design and type 2242 / 2260 /2280 PCIe and SATA storage devices.

However, the drive is not recognize in either socket.

I also tried applying several configurations to the Compatibility Support Module and it still does not detect it.

UEFI setup photos:

UEFI Setup Photo 1

UEFI Setup Photo 2


I had to take my pc to a technician and, from what I remember he did, put another ssd m.2 on the motherboard, he tried activating / deactivating options (the truth did not seem that he knew what each option does and it was something that I had also tried) and in some of those attempts, eureka! the disk was recognized and appeared in the UEFI configuration panel.

I wanted to know which of the options he activated was indicated for it to work. I restored the options to the factory state and the ironic thing was that ... the disc was still recognized by the mother card! It could have been that I did not fit the disc right into its socket, but I honestly made several attempts and even applied a lot of force that I feared damaging it.

An unsolved mystery. But the important thing is that it works.

  • Disable CSM, you must use UEFI to use the drive – Ramhound Aug 16 '18 at 5:09
  • I did it. But it continues without being recognized/detected. – David Ferreira Aug 18 '18 at 0:56

Did you push it far enough into the socket?

I had a similar problem, and the solution was just to make sure to push the drive into the socket as far as it would go.


To see if you can make BIOS recognize your M.2. drive, you could try:
(note: You can see all the screenshots on this gist comment)

  • On the page under Advanced\Onboard Devices Configuration, you could fiddle with the settings: Hyper M.2X16, M.2_1 Configuration, M.2_2 PCIe Bandwidth Configuration: [X2][X4].
  • Try messing with the setting PCIe Speed on page Advanced\PCH Configuration\PCI Express Configuration.
  • Try disabling(or enabling? nah, probably not enabling!) Aggressive LPM Support from page Advanced\PCH Storage Configuration.
  • try updating your BIOS (screenshots say it's version 0616, newest is 1002) - be careful though, because after update all of your BIOS settings(even those saved in the profiles, but not those saved as files on some USB drive obviously) are lost and reset to BIOS defaults.

Other things you could try, temporarily:

  • Ensure ErP Ready is Disabled. When this is Enabled, it sets/enables other settings(on Advanced\Platform Misc Configuration page (see next screenshot), at least) which for me caused my USB keyboard/mouse to not be recognized in Linux(or memtest86; eg. any booted OS) due to something having entered low power mode (or something similar), in effect only BIOS would see them.
  • Ensure all on this page(Advanced\Platform Misc Configuration) are disabled, just to make sure your M.2. drive didn't somehow enter some state that's effectively put to sleep (although this should never happen while inside BIOS/GUI).
  • You could set POST Report to Until Press ESC (it's on Advanced under Boot\Boot Configuration) so that you can see what POST Screen says it detected, it would usually say something about the drives.
  • The Fast Boot setting probably has no effect on this, just thought I'd bring it up anyway.
  • Maybe you could check the screen under Advanced\PCH Storage Configuration where SATA devices can be Disabled, just to see if there's M.2. devices that can/are Disabled.
  • check Advanced\HDD/SSD SMART Information see if you can select your M.2 drive from the Device list. This helps to see if BIOS can see it.
  • Maybe you could mess with the DMI Max Link Speed setting that's on page Advanced\System Agent (SA) Configuration\DMI/OPI Configuration. I currently don't know what that setting is and if that's supposed to affect anything related to M.2.
  • you already tried disabling CSM(Compatibility Support Module) and didn't help (as per the comments on your question)

The following might apply, but, I believe that it first has to be recognized in BIOS: (though it may be possible for Linux to still detect it even if BIOS doesn't detect it, or maybe only if BIOS has it disabled, I'm unsure)

There's a Linux kernel commit (kernel git) authored and committed on 11 March 2018, that says:

nvme-pci: disable APST for Samsung NVMe SSD 960 EVO + ASUS PRIME Z370-A

Yet another "incompatible" Samsung NVMe SSD 960 EVO and Asus motherboard combination. 960 EVO device disappears from PCIe bus within few minutes after boot-up when APST is in use and never gets back. Forcing NVME_QUIRK_NO_APST is the only way to make this drive work with this particular motherboard. NVME_QUIRK_NO_DEEPEST_PS doesn't work, upgrading motherboard's BIOS didn't help either. Since this is a desktop motherboard, the only drawback of not using APST is increased device temperature.

So I'm guessing that the same happens with your drive: Samsung SSD 970 EVO NVMe M.2 250GB.

If you feel like recompiling Linux kernel, you could try booting any of the versions of the following kernel (which should contain this commit):

  • v4.17-rc1 - v4.19-rc2 And likely any non-rc versions too, so: 4.17, 4.18 and the not-yet-released 4.19 (so only -rc2 and -rc1 are available from this one).
    • See if lspci -nn shows your M.2 device by name followed by two hex numbers [vendor:device] (should start with [144d:XXXX]), then check if those numbers at the end of the line are a different value than [144d:a804] (that's the 960 EVO SSD they mention in commit). It probably means that the above commit/patch won't be in effect for your drive, but if you can recompile kernel you could add your device's [vendor:device] numbers to that if block, then see if the drive works; if it does, maybe also report it to kernel bugzilla so they can add it to that if block too.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.