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

Hi,

Would like to thank you for your exceptional guide about how to get full NVMe support in AMI BIOS and just to report the following success:

Just yesterday, 3x Supermicro X10SL7-F motherboards were successfully flushed with the latest available and modded Supermicro v3.4 AMI BIOS.

The modding was accomplished with some trials, as the pad-files were removed by both tools after processing with the insertion of the NvmExpressDxe_Small.ffs.

Finally the result was achieved utilising AMI UEFI MMTool following the guide and firstly removing all network-related drivers from DpcDxe to Udp6Dxe (please refer to picture, the network boot is redundant in my configuration) to increase available memory and inserting full version of the NvmExpressDxe_5.ffs driver.

Checked with Supermicro AOC-SLG3-2M2 passive 2x ports NVMe M.2 expansion card on all three motherboards in x8 lanes @x16 PCIe 3.0 slot - all work and boot with PCIe setting in EFI mode just fine (tried Win10 and PfSence fresh installations).
This particular model Supermicro PCIe NVMe expansion card is switchless/passive and motherboard X10SL7-F lacks bifurcation, therefore, as the result, always the only one SSD NVMe drive recognised by BIOS @ x4 lanes. Also, or because some hardware or BIOS incompatibility, the Hynix 128GB NVMe SSD was not accepted, but HP (Samsung) 256GB NVMe SSD was successfully recognised and is working just as suppose to.

For the further testing the ASMedia ASM2812 chipset based PCIe to NVMe 2x ports card was recently ordered, so will report additionally regarding the compatibility of the hardware/BIOS modding after tests and if any success to utilise all PCIe x8 lanes in 2x SSD configuration with this active card on X10SL7-F motherboard.

1 Like

Could you try these? bios downloaded from your mobo website page, and added DXE5 and Samsung M2 DXE, without any removal of the other dxe (straight up stock just added nvmedxe5 and samsung m2 dxe).

x10sl71.rar (2.7 MB)

@Koekieezz
You should have mentioned the tool you have used to integrate the modules (without having touched/added any Pad-files).

Oh yeah sorry, i did use uefitool for it, and i see some pad files removed (due to uefitool nature) but the FIT table is fine (checked using uefitool NE), but it’s up to the user wether he wants to flash it and try it out if there is a problem at all, not recommending mine, but if op wants to i have it attached there :smiley:

i’ve done many uefitool instead of mmtool on chipset 8 and under it (some of them is the lga 1156 chipset that got uefi, intel oem board (full dump bios)). Many of them didn’t complain yet so yeah, it’s up to the user wether op want to try it XD

14 posts were split to a new topic: [Problem] Dell Latitude E5450 BIOS Mod

Hello! I followed this guide, and this one about flashing a modded BIOS (because I got “secure flash check fail”).

But the “UBU” tool from the second guide didn’t go through exactly the same steps for me. The filesize did reduce by a few kB like the guide said it should, but I’m not sure if I can safely flash the file that I got.

I have an ASRock Z87 Pro3.

(Won’t let me add attachment since I’m a new user, I guess I’ll add the BIOS files when I’m able to)

The latest beta bios to the Z87 Pro3 3.20 has already the AMI NVMe by default, no mod needed.

Thank you, I’ll try that instead! I looked at the description before and didn’t notice NVMe mentioned so I didn’t try it…

Hello.
Excuse me for requesting a support, I have a problem with a 1 pad file being removed by MMTool Aptio 4.50.0023 in an image from a root volume 00 while modifying a DXE child volume 01:00-00.
I’ve found this corruption while validating the change using a UEFITool.
Modified image was never flashed.
Please advise.

HP Compaq Elite 8300 SFF Intel Q77 Express
BIOS K01 v03.08
Source BIOS file K01_0308.BIN link for download
Original OEM installation package

Volume of the pad file:
ZeroVector:
46 4C 53 48 4B 30 31 30
33 2E 30 38 20 20 68 84
FileSystem GUID: 8C8CE578-8A3D-4F1C-9935-896185C32DD3
Full size: 3C0000h (3932160)
Header size: 48h (72)
Body size: 3BFFB8h (3932088)
Revision: 2
Attributes: 0003FEFFh
Erase polarity: 1

Pad file removed by MMTool:
File GUID: E4536585-7909-4A60-B5C6-ECDEA6EBFB54
Type: F0h
Attributes: 00h
Full size: 18h (24)
Header size: 18h (24)
Body size: 0h (0)
State: F8h
Header checksum: 86h
Data checksum: AAh

Screenshot of the pad file in the source image viewed from UEFITool:

Use the UEFI tool method instead of the AMI tool. Compare again the 2 images with UEFI tool.

Thanks for the suggestion.
I’ve just tried the UEFITool and it seems that it may corrupt the image because I’m unable to flash it due to an error while the original image file is flashing fine probably due to an unexpected discrepancy between an original one and a modified one by UEFITool.
Modification was performed using 0.28.0 release, result visually seems to be correct when comparing an original image with a modified one.
When comparing the differences using an UEFITool NE A59 release that doesn’t have a modification engine, root volume of a BIOS region receives a Text field value: UsedSpace. Original file doesn’t have any text.

Difference between Information area

Original:
Fixed: Yes
Base: AF0000h
Header address: FFAF0000h
Data address: FFAF0048h
Offset: 60000h
ZeroVector:
46 4C 53 48 4B 30 31 30
33 2E 30 38 40 40 1E 00
Signature: _FVH
FileSystem GUID: 8C8CE578-8A3D-4F1C-9935-896185C32DD3
Full size: 3C0000h (3932160)
Header size: 48h (72)
Body size: 3BFFB8h (3932088)
Revision: 2
Attributes: 0003FEFFh
Erase polarity: 1
Checksum: 5A81h, valid

Modified:
Fixed: Yes
Base: AF0000h
Header address: FFAF0000h
Data address: FFAF0048h
Offset: 60000h
ZeroVector:
46 4C 53 48 4B 30 31 30
33 2E 30 38 20 20 68 84
Signature: _FVH
FileSystem GUID: 8C8CE578-8A3D-4F1C-9935-896185C32DD3
Full size: 3C0000h (3932160)
Header size: 48h (72)
Body size: 3BFFB8h (3932088)
Revision: 2
Attributes: 0003FEFFh
Erase polarity: 1
Checksum: F657h, valid

I’m trying to flash it through a BIOS/UEFI Utility menu - there is an option to flash an image file.
Flasher starts to read the image and throws an error without any informative description.
Original image flashes fine.
Do I have to try to flash the modified image using the suggested tools like UBU or the resulting image is corrupted?

Edit:
I’ve corrected the ZeroVector and a Checksum of the root volume (file system), now it doesn’t have a UsedSpace text. However, the image still unable to be flashed.
Will try to flash it with UBU or something else.

@Thump
This is the thread about how to modify an AMI UEFI BIOS. Users, who want to know how to get a modded BIOS properly flashed, should read the start post of >this< thread and post their problem into the linked thread.

Sure, but can you please clarify if a modification of ZeroVector of the filesystem is OK?
It seems that UEFITool 0.28.0 always do this for my image file.

@Thump
If the UEFITool v0.28 is not able to insert the NVMe module without touching other BIOS modules, you should either change the in-use BIOS modding tool (e.g. by choosing one of the MMTool versions) or change the specific NVMe module (e.g. by inserting the “small” variant).
Please follow strictly the guide and don’t try to invent anything new.

MMTool removes the pad file in my case.
The problem isn’t connected with a module size: same UEFITools behavior in case of removal any module or even rebuild-only.

I just done it (NvmExpressDxe_4.ffs) with MMtool 4.x, PAD is preserved, but NOT with UEFItool 0.25/0.28 (CORRECTED)
Now as bios mod flash… users tend to forget that its a modified file that the OEM/BIOS security has a role here…they dont like those files.
Besides the last resource of using an SPI programmer, some HP motherboards can allow the mod by using the FPT tool, but it must have access to bios regions for writing, so do the mod from a FPT tool dump and mod it.
The access to bios regions on some motherboards could be already unlocked or not, manual unlock is needed or using (on some HP boards) the ME/SPI jumper to get this “unlocked” dump.
Now using the search box in this forum ( Search results for ‘Elite 8300’ - Win-Raid Forum (level1techs.com)), you will get several post in witch you can see all this and follow other users experiences, determine witch method can solve the mod flash issue, that its normal and happens a lot in OEM/Branded machines.

Hello everyone,

Thanks for your help. I am now able to boot on W10 from my SSD! :metal:

Finally, i removed some DxE drivers by following tips from BIOS Guru CodeRush. Many room was available, then i add NvmExpressDxe_5.ffs and I also unlocked some bios menus with AMIBCP v4.53
Here is the bios i use now (for ROG G771JM) Modded203_bios.zip (2.1 MB)

For W10 installation, i try to clone fresh installation without success (using clonezilla): SSD was visible in the bios + it was booting from SSD :grinning:, but then BSOD appears :sob:
1st time i got SSD visible in the bios and almost W10 booting from NVME SSD!
so new fresh installation of W10-21H2 on the SSD (w/ USB and MediaCreationTool) => works perfectly :champagne:

Here is a crytaldiskmark test with the 500GB SSD (samsung SSD 980)
CrystalDiskMark_test

My 2016 laptop is running better than before (maybe faster than when it was new) :grinning:

Thanks @MeatWar, @Fernando for your support and answers! This forum is awesome! Big thumbs up to this community !

2 Likes

Hello, I just modified my BIOS file to insert the NVMe module (NvmExpressDxe_Small) without problems following the steps of this guide.
The latest version is 213, but it is already applied in the BIOS.
Can I change the modified ext from 213 to 214? Won’t the BIOS be unusable?
I would greatly appreciate your support.

Original: 2.29 MB file on MEGA
Modded: 2.16 MB file on MEGA

@skull001
Welcome to the Win-RAID Forum!
Your NVMe modded BIOS seems to be fine and ready for being flashed.
Regarding the procedure how to flash a modded ASUS UEFI BIOS please look into the first post of >this< thread.
Good luck!
Dieter (alias Fernando)