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

Hi,

I have an MSI Z77A-G43 motherboard and after discovering this site I’ve made the decision to buy an NVMe drive instead of legacy SATA hardware. I don’t use a dedicated GPU, so have the necessary PCIe lanes available :slight_smile:
While I wait for a PCIe adapter, CH341A programmer, SOIC8 clip, and 2.54mm to 2.0mm dupont cables (for the MSI JSPI1 header) to be delivered, I’m scouring for deals on various ~500GB SM2262 based drives.

I’ve played around with several versions of UEFITool and MMTool and suspect that only MMTool is capable of producing a working BIN as only it produces a contiguous HEX block after inserting NvmExpressDxe_4.ffs.
I’ve backed up my current BIOS (v2.4) using MSI MFlash within the click2 BIOS. The resulting file ended up being just 6MB instead of 8MB, but found that it does at least contain my NICs MAC address.
My first question for today is, is that backup enough, or should I use the CH341A or another method to pull a full 8MB backup?
When working with MMTool, I used the latest version of my boards BIOS (v2.13, Released 2014-05-01). Seeing how this is such an old release, I’m wondering if I should also be modding in a newer ME??? I really don’t know much about the subject.
Since I’m looking to dual boot Ubuntu and Windows 10, perhaps I should be using Clover instead of even thinking of touching the flash, however I’m used to using GRUB2 and figured I would just go ahead and mod the BIOS in order to stick with it.

Cheers!

@skyblaster :
Welcome to the Win-RAID Forum!

Why haven’t you inserted the NVMe module into the latest official BIOS v2.13 dated 05/01/2014 by using the MMTool v4.5? I just have done it and the result was fine.
According to the MSI MB user’s feedback you should be able to flash the modded MSI BIOS (after having renamed it to the original file name) by using the default flashing tool.
Once you have successfully flashed the modded BIOS, you can take care about the Intel Management Engine driver and Firmware. Both updates can be done from within a running Windows OS (no need to flash a new BIOS).

Good luck!
Dieter (alias Fernando)

Im working on a M5A99FX PRO R2.0, using the newest bios available. When I try to flash my moded bios I get a security verification check fail. Any way to get around that?.

@10AmpFuse :
Welcome to the Win-RAID Forum!

Are you sure, that you have inserted the NVMe module into the correct location of the BIOS? If not, you can attach your modded BIOS within this thread as *.ZIP or *.RAR archive and we will do a look into it.

For questions about how to flash a modded BIOS we started >this< specific thread. Please read the start post carefully and follow the included links to more specific flashing procedures. If you have further questions regarding the BIOS flashing technique, please post them into the related threads.

Good luck!
Dieter (alias Fernando)


It’s a really great forum! I’m so glad I found it.


I did just that and I believe it’s ready to flash. Here’s the MD5 sum of the resultant file (E7758IMS_MOD.2D0): 805968e6a6c61c870a2a6d4ed013d2dc
Since I don’t have the NVMe drive or adapter just yet, I prefer to wait for my CH341A to arrive so I can perform a proper backup and have a recovery method in place in-case of disaster.


Thanks so much for the great advice!

Hallo @Fernando / Dieter

I am happy to have the chance to touch with you before you completely retire from here.

Your method, instructions and idea and a bit from others here around influenced passed my ultrabook also a boost, so thats why I joined and wanted thank you. Seems like I posted by mistake the other, rather dead thread for commenting/upgrading - [Sony VAIO] BIOS modding/hacking/unlocking - Some Questions (5)

One question remained for me that modding bios this way only boots from a windows OS. For this I in the end just copied Grub files under microsoft esi boot folder and replaced the files, details mentioned in the given post.

Maybe some comments of mine would also help others

Cheers

Hi folks,

Since this board and forum brought me wonders and helped me alot, it is my turn to at least thank by joining here and share my experience and comments as well. I will try to keep it short.

First of all I would like to confirm the methods described here, especially from @pcfist worked for me (more or less, with some thoughts/searchs though), in the end!

Background: Having Sony Vaio Pro 13, AMI BIOS, i5, had M.2 NGFF SSD with about 2 hecto GBs

Problem was: Bought a new 1 TB PCIe NVMe SSD (which fits perfectly to the slot), cloned entire disk from previous SSD to the new one BUT Windows did not boot. Tried to install several OSs and Windows again and again, (following many instructions out there) with many GPT/UEFI tools and options and commands, BCDEdit, diskpart blablabla and retries blablabla, I realized that the only problem must be that the new SSD cannot be booted from at all, is not able respectively. It was recognized though when booted from an USB stick, and I could later manage though booting indirectly from SSD via USB DUET REFIND method ( [Guide] NVMe-boot for systems with legacy BIOS and older-UEFI (DUET-REFIND) )

until I found this thread and @pcfist hints that motivated me either as it did him originally as well!


Long story short - and here is my comment to - what I did through pcfist - for new readers with my update:
Comment: The whole process could take you either about 20min if you use after step 2 AFUWIN in console for directly flashing the modded BIOS image back - hadn’t tried that unfortunately - wasn’t really aware of it! -
or else otherwise you can plan about an hour (because you need to read howto and download/create a bootable DOS (e.g. FreeDOS) where you copy AFUDOS and run it from there - do not forget to change to BIOS Legacy mode in this case for booting when you are there)


1. Read BIOS image from flash using AFUWINGUI, save it to ROM file.
Comment: Maybe the site has changed in the meantime, I couldn’t find that (thats why I first got unsure with all), but searched and tried then further, and I found that finally worked: https://ami.com/en/?Aptio_4_AMI_Firmware_Update_Utility.zip
Extract it, and inside the folders choose your OS, and extract it again. There is AFUWINGUI (x64) you can run it, read the BIOS mapped image with it and save it as a ROM or BIN file (~8 MB). (Under Linux you can also use the program pawn from github.)
After modifying the BIOS Image in the next step, you could probably use AFUWIN which is placed in the same folder to afuwingui to flash the BIOS then you are DONE.

2. Modify the image with MMTool following this guide. I added the first version of NVMExpressDXE.ffs (uncompressed one) that the author recommends using, And save it.
Comment: I also did like this - OK (guide link: [Guide] How to get full NVMe support for all Systems with an AMI UEFI BIOS )

Skip the next step if you can manage AFUWIN with right parameters, just open it and you can see the parameter options, there you could flash the modded BIOS.

3. Flash it with AFUDOS 3.04. (Don’t be confused with that Supermicro website—the archive with Supermicro BIOS image contains the required version of AFUDOS). I used the following command:
Comment: Here it was also simple said, especially by saying “save it and flash it”.
Currently you can follow either the link above from @yippie simply or the link: https://www.supermicro.com/products/moth…87/X10SLQ-L.cfm to go to “Update your BIOS” and download the zip file X10SLQ8_518.zip
Download&create a bootable DOS USB/DISC (like FreeDOS) (since that AFUDOS can not run under Windows because not compatible) AND extract/copy your files, both rom and afudos files, into the new media (main folder or create your own)
Now when booted in Legacy mode (because UEFI would not be supported with such an OS) with that USB, type using your filename:

afudos nvme.rom /P /GAN

//Comment: it did not work on mine with /P, but worked without /P
//after done, you normally don’t need to set back to UEFI mode in BIOS because in the flashed rom it was set already from previous image. so just restart your PC hopefully with your NVMe SSD!


For me, in the end all worked, and amazed me seeing how the ultrabook boo(s)ts completely by itself, and without using any USB!


I have two questions coming on my mind, maybe someone could answer:

1. I believe on the modded BIOS it is set to boot only from Windows - is that correct?
Because whatever Linux, and tools I use, like GRUB or Grub2Win or REFIND, even from linux, whatever Boot configuration/bootmanager I use, it always boots directly from Windows 10. Anyone a clue or suggestion? (When I use from Duet Refind USB I can choose any OS to load)
//EDIT: Seems like to be correct. I then tricked it by booting from Linux first, made a backup of MS boot esi folders/files, and copied Grub file (oyou can use your favorite bootmanager) to the MS Folder ESI/Microsoft/Boot according this: https://forums.linuxmint.com/viewtopic.php?f=42&t=243338 you basically just need to replace bootmgfw.efi from esi microsoft boot folder (the author forgot to mention + boot folder) with grubx64.efi (if you want to use Grub for example), and modify the grub config file with the new path for windows backup folder in order to be able to boot from windows as well. You need Secure Boot off.
So I now can choose between different OSes when booting.

2. I don’t know, whether this bios mod method was only for UEFI/GPT boot support or generally for both BIOS/MBR and UEFI/GPT on NVMe SSDs - would it supported if one just used MBR OS in Legacy mode (I know nobody would need that anymore, but would worth to know)?

@exiopat :
Welcome to the Win-RAID Forum and thanks for your report!

No, it should work with all Operating Systems, which are installed in UEFI mode by using the Guimode Partition Table.

No, it wouldn’t work (unless the user has connected an NVMe SSD like the Samsung 950 PRO SSD, whose Controller Chip contains an NVMe Option ROM module).

Regards
Dieter (alias Fernando)

@exiopat :
Since your linked report and questions do match better this thread and may be interesting for other users, who have followed my guide about “How to get full NVMe support for all systems with an AMI UEFI BIOS”, I have copied your related post and my answer into this thread.

Hello there,
Can you prepare the NVMe mode for MSI Z87 G45 Gaming motherboard ??

Hello, Farnando,
Is the mode that you share in the attachment suitable for the MSI Z87 G45 Gaming motherboard?

@HASAN DOĞRU :
Welcome to the Win-RAID Forum!
It is not easy to unserstand what you mean.
To whom did you address your request and what do you expect from that person?
Regards
Dieter (alias Fernando)

If you have the exactly same mainboard model, you may use it.
Nevertheless I recommend to try the BIOS modification yourself. After having done it, you can compare your modded BIOS with the one I had attached for Gkoow.

MSI Z87 G45 The NVMe mod bios is required for the gaming motherboard. Can you prepare?

Hello Fernando!
Greate job man! I write to post
@Gkoow :
Attached is the BIOS, which has been modified by me.
Good luck while doing the flashing procedure!
Fernando has attached files to this post
E7821IMSmodbyfernando.rar
I save this to E7821IMS.190 and flash my mb. After the BIOS flash, you still can not see the PCIe / PCI / PnP settings options …
The BIOS still can not see the EVO 970 disk. I do not know what to do anymore. I am asking you for help… My mb MSI Z87-G45 Gaming (MS-7821)
Regards eSKa :slight_smile:

@eska - BIOS will not see the drive like you think, follow all steps in "What should I do" section, step #4 exactly, from post one of this thread, that will get you to install OS to the NVME.
If you are using UEFI mode and USB to install from, make sure the USB is formatted to GPT before you put the OS install files onto it.

Yesss! Work! Thank You very, very much!

I am running the same Motherboard GA-990fxa-ud3-r5 rev(1.0) with the F4b bios. I injected the "NvmExpressDxe_4" module into the bios file. I am using windows 10. I cloned to the NMVe drive my OS using Macruim Reflect free. your issue sounds more Ram and voltage issues. to have the stability I increased the NB Voltage to 1.100V and my DRAM Voltage to 1.510v. I manually put in my ram timing in both A and B channel. I use Bootit UEFI to multiboot and I used that program to fix the BCD to point to the correct hard drive for boot. I boot the NVMe with no issues and my system is completely stable now. I am posting to you the modded bios that will upgrade you to F4b bios …make sure you save your profile settings to a USB drive before you flash so you can restore your custom settings…All your profiles will disappear when you flash …except what is on your USB drive.

modded.rar (2.79 MB)

@firewolfrl :
Welcome to the Win-RAID Forum and thanks for your contribution!
Regards
Dieter (alias Fernando)

I have attached the bios and screen shots, the nvme ssd is brand new and is visible as storage in windows. I would like to make it my main boot device. I have tried multiple flash drives (sandisk cruzers) in both fat32 and ntfs formats. I have tried both flash back (hold 3 seconds light blinks green then stays solid green) and the bios (security verification failed) method.

https://imgur.com/a/muYK5zc

M5A99FX.rar (3.01 MB)