[HowTo] Get full NVMe Support for all Systems with an AMI UEFI BIOS

Hi everyone, first of all thanks Fernando for this very useful guide.

I modded the BIOS of a Dell Optiplex 7010 with UEFITool and NvmExpressDxe_5. Everything seems to be working great, but I noticed later on after re-reading the instructions UEFITool can remove pad files which is no good.

Upon inspection of my already flashed BIOS image, I saw that this indeed has happened in my case:

BIOS_ORIG.jpg



BIOS_NVME.jpg



Any cause for alarm since everything seems to be working A-OK?
Nvme DXE was inserted in FV_MAIN_NESTED, which is compressed. That volume is completely identical, except for the newly added driver.

Thanks!

@wdaniels
Since everything seems to work fine, I do not recommend to change the BIOS.
A deleted, moved or added Pad-file may have bad consequences for the BIOS function, but in your case this obviously didn’t happen. So you are just lucky.
Nevertheless here is my advice: Please read a guide about a risky operation carefully before you start with the procedure.

@Fernando Thanks a lot for the quick reply. Agreed, I won’t touch the BIOS since it is working. Looking at the contents of the pad-file, there is nothing special in there (just headers and checksums), and it has the minimum size. In other words, seems to be for alignment and doesn’t hold data.

I wholeheartedly agree with your advice. I was in a hurry and feeling brave because I had a full dump of the BIOS chips and a hardware flasher, but without safety-net this could have ended badly.

Wow, Fernando, hell of a guide. I was able to follow it and successfully mod + load the BIOS but unfortunately hasn’t resulted in a usable NVME drive.

[Motherboard] Gigabyte GA-Z68MA-D2H-B3
[BIOS] UC1 modded with NvmExpressDxe_Small
[OS] Windows 10
[SSD] Samsung 980 Pro mounted to a PCIe 3 adapter on the x4 slot

While the drive is detected in the BIOS as a bootable drive (PATA), it is not properly detected in Windows. While device manager shows the NVME storage controller, it doesn’t detect the SSD. Nothing in Device Manager, nothing in My Computer.

When I go to the disk manager, I am prompted to initialize the disk but the operation fails: “A device which does not exist was specified”. The properties in disk management correctly shows a Samsung 980 Pro (with heatsink!)

Attempting to install windows from a bootable USB also fails, even with SATA disconnected/disabled. The Windows installer finds a 0 byte drive that it is unable to create a partition on, and the installer cannot progress any further.

I have tried using a different 980 Pro, and received the same result. I haven’t yet tried a different PCIe adapter, and I haven’t yet tried a completely different model of M.2 SSD (perhaps a PCIe 3 one, since the PCIe 4 is pointless).

I’m curious if you’ve ever run in to anything similar.

1 Like

@uninvitedguest Welcome to the Win-RAID Forum!
No, I have never heard about such problem.
Is the inserted Samsung 980 Pro brandnew or has it been used before elsewhere? Maybe it was a member of a RAID array and cannot be seen by the OS without the other RAID Array member(s).
Advices:
1. Attach your modded and the original BIOS. Then I will check the quality of your modding work.
2. Let the Samsung tool named Magician check the health and the integrity of the SSD.
Good luck!
Dieter (alias Fernando)

Thanks @Fernando they were brand new units - I’m going to test out a 970 EVO to see if it makes any difference… then test a new adapter if needed.

The BIOS are attached
[Source] Z8MAD2H3.U1C
[Mod] Z8NVME.U1C

Unfortunately, Samsung Magician is unable to detect the drive to test it or update firmware.

BIOS NVME Support.zip (5.55 MB)

1 Like

@uninvitedguest Thanks for the uploaded BIOSes. According to what I saw the NVMe module has been properly inserted and no Pad-file has been created/moved/deleted.

this is an interesting find, because the latest Magician version 7.0.1.630 has detected and checked my Samsung 980 Pro SSD without any problem.

@Fernando thank you for taking the time to review that, I really appreciate it. I’ll test some different hardware configurations over the next couple of days and see if I can’t find some solution.

I have the same “problem”, my Samsung-ssds are recognized in BIOS/bootmenu twice, one entry is “PATA”. Ignore this, it isn’t bootable. I dont know if this is a Samsung-issue or valid for all oems, i have only samsung.

I really dont understand here the issue, all the nvme mods done on motherboards, i always set the motherboard to PURE UEFI, no PATA’s around, its PURE UEFI OR NOT, period.
The so called “PATA” device as Fernando already stated a “TON” of times… can be useful only for a visual confirmation of the mod

In all mods i made in past Aptio IV core bios, a Samsung RETAIL PCIe NVMe drive on any M.2 adapter was correctly identified in SMagician with detailed info on bus and mode/negociation

@uninvitedguest @Ludolf
As I have already stated within my guide (= start post), the device named “PATA_SS” may be listed within the “BOOT” section of the BIOS as being bootable (only while CSM is ENABLED), but it isn’t bootable at all.
The only bootable device is the “Windows Boot Manager”, but this device appears only after the successful OS installation onto the NVMe SSD.

@uninvitedguest please try these bioses :smiley:

Also as per what Fernando and MeatWar states, your bios need to be set at Pure UEFI only if you could. on the bios settings, try to use Windows 8 WHQL or Other OS, then set all the option to Uefi Only and/or Uefi First. Then proceed installing windows.

NVME Mods.rar (4.26 MB)

Asus H87MPro c2
flashed with bios mod ( small NVmE )
Adapter: ICY BOX 60403
works great !!

Thx for your work guys

@Ludolf @MeatWar @Fernando @Koekieezz Problem solved. It was a bad PCIe NVME M.2 adapter. Swapped that out and the SSD is recognized in Windows. Able to initialize & format. Next test is to see if I can install Windows on it and boot!

@uninvitedguest could you test my bios mod to see if it worked?

@Koekieezz
Why should the Forum member uninvitedguest flash another modded BIOS after having found out, that not the BIOS, but a bad M.2>PCIe adapter was the reason for his issue?

Hi!
After I flashed your mod UEFI @Fernando for Gigabyte H81M-DS2V rev. 2.0 it’s recognized the SSD. I got Samsung 980 500GB SSD. Btw few questions-
Samsung SSD driver wasn’t able to get the device and install the driver so I had to install manually your signed drivers. But Samdung magician was able to detect and even upgrade the firmware of the storage successfully. So, Samsung official drivers executable can’t detect the storage? Do you know anything about this?
Another thing, by default SSD didn’t enabled storage provisioning. So I had to manually enable it. Now here I faced the issue. I got two separate provisioning slot, one of those taken space from the C drive. It is okay to provision do this and what will happen if C drive become full?

Screenshot 1.png

@ukopoko
It is fine, that you were able to get the OS properly installed onto the NVMe SSD and are able to boot off it.

This is not 100% correct. You would have been able to use the original driver, if you would have forced the installation by using the "Have Disk" button.

This may happen, when the driver (here: dated 01/21/2020) has already been compiled before the related NVMe SSD and its NVMe Controller was finally manufactured. Samsung’s driver manufacturing team obviously didn’t know the exact DeviceID of the later released Samsung 980 Series SSDs.
Regarding your over-provisioning I do not really understand why you have shrinked the space for the drive C at all. What do you want to do with the 366 GB sized unallocated space of the NVMe SSD? If it should be designed for storage purposes (as drive D), you should better shrink ithe size of that drive D. Anyway I recommend to add the available 46,58 GB space to drive C.

@Fernando
I was talking about the driver executable. Do you think that’s the reason why it couldn’t able to detect the SSD?

This happened after I enabled over provision. I think I figured it out. Previously I missed in samsung magician app there was C drive written. So, basically SSD over provision let free space to be used for writing data but what samsung magician app also allows manually allocate space for provision. By mistake I missed I was setting provision on C drive so that happened.

@ukopoko

Yes!