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

You’re excused from this “blind” group…for now, still…

Ok do it again with MMTool 4.x and the small variant, but first remove some DXE


I have an MSI x79a GD65 8D main, latest BIOS version 4.8, I am trying to add NVMe support.

At the Step 2: BIOS modification, after inserting “NvmExpressDxe_5.ffs” file into the original BIOS, it shows the “NvmExpressDxe_5.ffs” is the last module in the list. (CORRECT)

But after saving the moded BIOS, I reopen it to check, and it shows that the “NvmExpressDxe_5.ffs” module is not the last one, in fact, it swaps position with the empty named module just above it (the one with “00010018” bytes size and GUID “05CA01…”).

As the guide, 2c step (verification) says the inserted module “NvmExpressDxe_5.ffs” MUST be the LAST ONE (ULTERMOST), so I don’t know how to move on?

Repeating the modification steps still results in the same issue.

I try to use UEFITool, open the original bios:

One pad file exists before the module with GUID “05CA01…”.

After inserting NVMe module (insert after), I have this:

Note that the pad file before the module with GUID “05CA01…” does not exist anymore.

But opening the output from UEFITool by using MMTool, it looks okay: (the NVMe module is the last one in “01” volume)

I have check that the file size if OK.

I believe that I fall into this red warning:

Pls help.

Please attach or post links to your modded and the original BIOS file.
Then we can try to solve the problem.

1 Like

Hi Fernando,

The original bios is downloaded from MSI site.

Both output files have issues described in my previous post.

Pls help. Thank you!

Hi Fernando,
I don’t know anything about BIOS, but looking at the source and output files, I think the “NvmExpressDxe_5.ffs” file should be inserted at offset “006E0000”, the start of Volume free space, is it correct?

This is my calculation, based on the report from MMTool and from UEFItool user interface:

So I try to create the file myself here, by copying “NvmExpressDxe_5.ffs” file to the start of volume free space. File size remains the same, and volume free space size down an amount equal to the nvme file size.
e7760ims.480.self.fd - Google Drive

Both MMTool and UEFItool shows Okay, but as I dont know anything about BIOS, so I am not sure. Pls help me to validate it.


Thank you!

Thanks for the links to the BIOS variants. Meanwhile I have checked them.
Here is my evaluation: You can flash the BIOS, which was modded by the AMI Aptio MMTool.
The NVMe module has been correctly inserted by the AMI Aptio MMTool as undermost “DXE Driver” without moving/deleting/inserting any Pad-file.
Good luck for the flashing procedure!
Please read the start post of >this< thread before you start doing that. You have to rename the BIOS file.

1 Like

Fernando, do you mean that the output from MMTools is good?

But the nvme is not the last module, i am still confused.

And from UEFItool, it shows that the pad file was resized from B1458 to ACE18h bytes.

Pls explain, thank you!

15 posts were split to a new topic: [Problem] Apple SSD doesn’t work with Windows


It is the undermost “DXE Driver module”. A Pad-file doesn’t count.

All modules of the compressed DXE Volume have been resized, because you have inserted an additional module. Since the total size of the BIOS must not be changed, the BIOS Tool enhances the compression of the DXE Volume and its components.

1 Like

Sorry, but is the one with GUID “05CA01…” a pad file?

The post #1 says: the undermost module of the related volume, but you says “undermost DXE driver module”. So which is correct? I am still confused.

  • The last (undermost) module of the related Volume Number should now be new and named either “NvmExpressDxe_5” or “NvmExpressDxe_small” (depending on the module variant you had previously inserted.

No, it is a “Raw” module (neither a “DXE Driver” nor a “Freeform” module.
You can verify it yourself by opening the BIOS with the UEFITool.
The AMI MMTools don’t show Pad-files.

You are right - my guide was not exact enough regarding your quoted sentence. To avoid any future confusion I have now replaced the words “undermost module” by the words “undermost DXE Driver module”.
I hope, that all your questions have been answered by me and you can now flash the modded BIOS.
Good luck!

1 Like

I was lucky enough to find an experimental/incomplete uefi bios and this great thread for my old msi p45 motherboard. I know have revived an old pc, added a nvme boot drive with uefi windows thanks to this guide . I wonder if i could increase ssd speeds (my pcie adaptor supports 4 lanes i could use 8 lanes on this board’s pciex 16lane). Thanks, and happy new year!

PCIe lanes are the physical link between the PCIe supported device and the processor/chipset.
Assuming a common NVme 3.0 x4 disk:
You’re NVMe disk will only uses x4 lane bandwidth, regardless the adaptador mechanical design or PCIe slot mechanical design higher than x4.
Even so, as on your motherboard the PCIe generation is not 3.0 (8.0G/Ts), it will only use 2.0 (5G/Ts) x4 maximum speed.
You cant “squeeze” more from a old P45 chipset PCIe2.0
What you have now is the NVMe possible miracle on this motherboards generations and cant never
achieve the performance provided on the technology used in latest chipsets.

All Types Of PCIe Slots Explained & Compared (cgdirector.com)

Guide to PCIe Lanes: How many do you need for your workload? (cgdirector.com)

Correct me if i’am wrong the nvme and the adapter is sharing a pcie 3. x4 protocol. So the bottleneck is not between the adapter and nvme. The adapter is connected via pcie 2.0 protocol but the motherboard can deliver 8x lanes but the adapter can’t. So another adapter with 8x or 16 lane capacity and probably a good chip on it could deliver around 3400 mb/s r/w speeds.

in raid 0, yeah, if your nvme drive is a x8 ones then you could, but if its only at x4 3.0, unless the adapter could do raid 0 or the similiar one (thing is both nvme working as 1), then it wont as it works separately.

Since there is a gpu on my first pcie slot the second one and the first one will share 16 lanes meaning 8x lanes on pcie 2.0 meaning a theoratical speed of 4O00 MB/s each. Currently i’m running my nvme with an adapter capable of 4x lane pcie 3.0. This means the max i can get is 2000 MB/s speed for the nvme. But an adapter which can fully use the 8x lanes provided by the motherboard can transmit at a rate of 4000 MB/s to a 8x or 16x adapter. And if the adapter can provide at least 4x pcie 3.0 lanes to the nvme could transmit at 4000 MB/S to the nvme (assuming pcie 3.0 speeds between nvme and adapter).
İn my case i really think that the adapter is the bottleneck. İf i could find an adapter which can fully use the 8x lanes i could reach twice the speed i’m having right now (assuming no other bottlenecks from the cpu/ram side).

We are talking about a P45 Platinum right?

PHD Koekieezz and Co, will have all the answers and maxed performance tips for you, cheers and happy new year.


I have successfully flashed the mod BIOS, I can see PATA in the boot list.

Now I am installing windows on it. Thank you very much!

I dont see a MSI flash guide on your topic. I believe that this guide from MSI site is great, the tool is MSI forum flashing tool. Pls read it and update to the flashing guide topic if you find it good.

This guide has previously helped me to recover failure BIOS flashing 2 weeks ago (totally washed out, even serial & MAC address). I used this guide to flash the mod BIOS.

1 Like

I have installed Windows on the NVMe. Some small issue but runs well.

The issue is I cannot choose PATA as boot devices and I have to boot using my SATA drive UEFI then select Windows in PATA. Any advice?

Go read Step3 Additional notes… dont want to call you a blind user anymore…you’re going to start hating me soon and joining my fans list, but yeah the guide is for reading!
Oh and dont forget Step 4…humm?