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

@Lost_N_BIOS :
I tried both methods and found, that they work both. According to my experience the insertion of the NvmExpressDxe_4.ffs is the better and safer method to get full NVMe support for old systems with an UEFI BIOS, but without native NVMe support.
As you can read >here<, I got already in June 2015 full NVMe support for my Z68 chipset system by simply inserting the 3 NVMe modules (NVME.ffs+NvmeINT13.ffs+NvmeSmm.ffs), which I had previously extracted from an ASUS Z97 PRO BIOS, into the BIOS of my Z68 mainboard.
What I haven’t tested yet is, whether it is a good idea for a specific system with native NVMe support to replace the “body” of the NVMe.ffs module by the “body” of the NvmExpressDxe_4.ffs module.

Sounds like both may work for some, but not all (unknown, too many untested boards/BIOS), but no matter what >> NvmExpressDxe_4.ffs is the better and safer method to get full NVMe support for old systems with an UEFI BIOS, but without native NVMe support.
Thanks Fernando
@Alex_BY ^^

Hi @Fernando , @Lost_N_BIOS ,

I also tried both methods in my hunt to fix NVME driver behavior. And both methods were working well.
Observed differences:
- 3ffs method does not show anything in BIOS (nothing like PATA SS), but the drive works fine.
- 3ffs method was giving substantially lower performance on my dirty OS (safe mode or fresh install - the performance is approximately identical to NvmExpressDxe_4.ffs).
- I am not sure if it is 3ffs or not installed Intel ME driver - sometime the PC does not shutdown (keeps being powered).

Why triggers me is that x79 is not natively supported NVME chipset. However, Asus put one model on market with native NVME (Asus X79 Deluxe). And this model has these three files to enable NVME. So, somehow, I was thinking that for me, it is a safer bet to go with the manufacture supported method.

Now I have a fresh OS install, so maybe I can also try NvmExpressDxe_4.ffs. Also, kinda curious to test this option

Thank you so much Fernando!!! My Msi Z87-G45 booted like a charm (less of 10seconds) on my Samsung 970 EVO PLUS
I followed your advice on post #1 and downloaded the moded MSI Z87 G45 Gaming BIOS_E7821_v1.9 by Hancor saw here:
[OFFER] MSI Z87 G45 Gaming BIOS_E7821_v1.9
I’m so happy!!!

I have 3263 Mo/s in Reading and 3036 in Writing
Running on PCIE at 4X
Thank you!!!

@Alex_BY - Thanks for your report. As you mentioned, that may not be valid test comparison, since you have ME FW disabled
But if it was like that for both tests then should at least be a semi-OK compare I suppose, but I don’t know if either use ME at all. If you want to do 100% valid test, ME FW should be there and working, then you will know if this is cause of performance hinder or not.
That last test you and Fernando mentions, I’d like to know about too, if you test please let us know what you find

I wrote with Google Translate!

I have a seven year old Asrock B75 Pro3 motherboard.
There is no support for M.2 but AMI UEFI
it has bios.
Intel Pentium 2130 + built-in VGA
8gb ddr3 ram.
I made the nvme driver for bios
paste (NvmExpressDxe_Small.ffs).
I installed the bios file.
I inserted an Axagon PCEM2-S NVMe M.2 adapter into the PCI-E 3.0 x16 socket.
The adapter includes a Silicon Power 256GB A80 M.2 NVMe 1.3 SP256GBP34A80M28 SSD.

Finally, Windows 10 x64 Pro was installed.
Partition table GPT.
Bios boot option UEFI.
Windows installed without problems.
Because of the weak parts above, I didn’t expect much
system for acceleration.
In fact, the acceleration is huge.

Within a few days a five year old Asrock B85M Pro3
motherboard will be similarly accelerated.

Thanks for the detailed post.

@alpok57 :
Welcome to the Win-RAID Forum and thanks for your contribution.
It is fine, that you succeeded and now can enjoy the speed of your NVMe SSD.
Regards
Dieter (alias Fernando)

Hi Fernando, all,

Sorry for the confusion - my MB is Asus Rampage IV Gene. It’s x79 chipset, but natively NVME-capable.

Wrt the quote: I quickly glanced through some early pages of the thread and I am wondering if NvmExpressDxe_4 will be using the other ffs. If I understood correctly, NvmeSmm and NvmeInt13 will not do anything if they are not called by NVMe.ffs - is it correct?
Thank you.

@Alex_BY :
AFAIK the modules named NvmeSimm and NvmeInt13 are only used by systems with full native NVMe support incorporated by the mainboard manufacturer.

@pipes80
Hello,did your ASUS P5Q deluxe worked well with the NVME SSD as an bootable device?

Hello. I have an evga z87 classified board and i want to boot from adata sx8200 pro 256gb ssd in some generic pci-e x4 nvme adapter. The problem is, ssd is not detected anywhere with or without modding bios. I inserted NvmExpressDxe_Small.ffs compressed to the bios (only way it would fit) using MMTool succesfully but that did not change anything, i can’t even use it as data drive in win10, diskpart and device manager shows nothing. Same in windows 10 installer, not showing up and it’s the only drive connected atm. I tried many different settings in bios, different pci-e slots etc but nothing has worked so far. I can try getting a new adapter but i’m not sure if it will help.

@Balto - if drive is not showing up in device manager even as a secondary/spare data drive for testing (in already installed OS), then the PCIE adapter or NVME drive itself may be faulty. No mods needed to BIOS for that kind of testing.
Here is super cheap adapter I use with that exact same NVME drive, so you can try another one to rule out your current, then if this still doesn’t work I suspect NVME is DOA (it happens)
https://www.amazon.com/gp/product/B07GPBBCGS

The last thing i tried was moving pci-e adapter to 1st slot instead of gpu (my mobo has 6 pci-e slots) and tiny light lit up on adapter, but system was failing to boot showing A2 code which manual says means ide detect so i am not sure if it would work this way. GPU was in 2nd and 3rd slot, clearing cmos did not help.

Look at your manual and see which slot is at least X4, and not share with GPU. Use that one. Green LED is good sign adapter is OK
YOu may need to use latest BIOS, if you are not already, even to test it as spare/data drive. To install windows, you need to make your USB Staller GPT partition and then instal to RAW or GPT partition (or let wndows do it)
Follow all steps at point #4 in the "This is what should I do section" at page one

If you need mod BIOS, and are not sure you did it correctly, link me to your latest BIOS from manufacturer page and I will modify for you.

Apparently all my pci-e slots were disabled by physical switches on mobo (only 1st was set to on) and now light on adapter lits up in every slot, but again, issue remains as disk is not listed anywhere. Regarding bios i am using latest one, i would be grateful if you could modify it for me so i can be sure it was done correctly.

Z87 Classified BIOS 1.09

@Balto - I’ve never heard of such a thing, maybe on rare server board or something. But yes, I remember these Classififed boards had lots of extra stuff one might not see on other boards, or may never use unless extreme overclocking. Good find, and glad you were able to notice this!
As mentioned, BIOS mod is not needed to see the NVME drive from another OS, as a spare secondary data drive. Did you look at it from another already installed system yet, or are you only trying to install Win10 to it right now?

Maybe you did mod in wrong area? I had no issues to use normal larger sized NvmExpressDxe_4.ffs Ohh, I see, only MMTool 4.50 and 5.07 tells you this, you can use MMTool 5.02 and the larger normal sized one
FIT Table must be corrected after the edit, probably any method would require this, even with small one inserted, due to microcodes in same volume as main BIOS volume where NVME goes, I tested a few other method and aill needed this fixed post-edit
[GUIDE] Update CPU Microcode + Fix FIT Using UEFITool / Hex

Here is mod BIOS done via 5.02 + FIT fixed (large NvmExpressDxe_4.ffs)
http://s000.tinyupload.com/index.php?file_id=03749720315812351497

I woke up today, checked device manager and the disk is finally visible and working! what’s funny i did not change a thing since yesterday, i left it in pci-e slot where it was not working despite me trying everything i could do, lol.

@YadjTra :
Welcome to the Win-RAID Forum and thanks for your feedback!
It is fine, that you are now able to boot off the NVMe SSD and to enjoy its performance as system drive.
Regard
Dieter (alias Fernando)

@Balto :
Thanks for your recent report, which verifies, that the in-use PCIe slot and the M.2>PCIe Adapter are working fine.
After the addition or change of any disk drive it is sometimes necessary to boot the computer a second time.
Now you should check, whether the NVMe module has been properly inserted into the BIOS and the modded BIOS has been properly flashed.
Please enter the BIOS, allow booting in UEFI mode and look into the "BOOT" section for a drive named "PATA" or "PATA_SS".

@Fernando @Lost_N_BIOS
Yes, everything is working, i just finished installing fresh win 10 copy on ssd nvme drive, thank you.

I have MB Asrock Z87 Extreme4 https://www.asrock.com/mb/Intel/Z87%20Extreme4/#BIOS. I have updated the latest bios [Beta] 3.40B (Enhance M.2 compatibility when using a PCIe to M.2 adapter). I plugged the SSD XPG SPECTRIX S40G RGB PCIe Gen3x4 M. 2 2280 Solid State Drive + EYI Swift MX16 M.2 NVMe SSD NGFF to PCIE 3.0 X16 Adapter M Key https://www.amazon.com/JEYI-Adapter-Inte…s/dp/B07PZV9K9N into the PCIx16 slots. But neither BIOS nor Windows 10 x64 detected an SSD. I tried Mod bios as instructed but it still didn’t work. I have searched the forum but found no similar cases. Please help me. Thank you very much…