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

@nicks1222 :
Welcome at Win-RAID Forum!

Although there is no guarantee, I am pretty sure, that the procedure layed down within the start post of this thread, will work with nearly all Intel 6-, 7- and 8-Series Chipset mainboards.
If possible, you should try the newer NVMe module, which I have attached to my last post (instead of the older one, which is linked within the start post).

Good luck!
Dieter (alias Fernando)

@Fernando ,
Thanks for the ‘filename’ fix, i have now used your last version “NVMexpressDxE_2.ffs” module to insert into P8Z77 BIOS.
Here is the MMT screenshot after the module insertion.

MMT_20.PNG



The file name is not exactly as you labelled , but it seems quite explicit.
I let you know the tests results as soon as my 960 EVO 500 GB will be delivered.

The name of the pure file, which is handled by the user and may be mixed with another file while trying to insert it into a BIOS, and the name of the module, which is shown by any BIOS tool, are different things.
To avoid a mix-up by the user, all Option ROM and EFI module files, which I am offering for a download, are specificly labeled by me (usually with the version number and the supported Vendor/DeviceID resp. GUID), but you will not see these details, when you just open the BIOS by using any BIOS tool.

I have a Gigabyte P67 board that uses a phoenix award bios. Is it possible to mod my bios for nvme support? I’m confused as to whether it’s absolutely only possible on the megatrends bios’s or if it’s that this is merely the bios that first had this mod.

@JakkFrosted :
Welcome at Win-RAID Forum!

If your mainboard BIOS doesn’t support booting in UEFI mode at all, you will not be able to succeed by following the guide, which is layed down within the first post of this thread. Only your mainboard manufacturer Gigabyte can solve this problem by creating and delivering an UEFI capable BIOS for your P67 mainboard.

Nevertheless there are 2 different options for you to use an NVMe SSD as system drive:
a) Buy an NVMe SSD like the Intel 750 or the Samsung 950 Pro, which have an on-board LEGACY mode NVMe Option ROM.
b) Put the boot sector (MBR) onto any HDD/SSD, which is outside the NVMe SSD (for details look >here<).

Regards
Dieter (alias Fernando)

NvmeExpressDxE.ffs insertion to my Z-68 Gigabyte UD3-B works fine, SSD- Intel 600p. installed Win-10 bootable- GPT. Thanks Fernando

@Fernando ,
On P8Z77-V Deluxe the modded BIOS with the last version of NVMe module you offered (NVMExpressDxE_2.ffs) does boot fine a Samsung 950 PRO 512 GB.
I have supplied the same modded BIOS to a member of the forum and he succeeded to boot his P8Z77-V Deluxe off a Samsung 960 EVO 250 GB.
So, this is encouraging.
I let you know soon if I succeed, on my side when I get time, with P8Z77-V Deluxe, the OS migration from 950 PRO to 960 EVO.

The current problem I got after BIOS flashback operation is that I lost all my RAID 0 volumes.
I had already observed the same issue on Sabertooth x99. May be I have done something wrong ?
Do you see why ?

@100PIER :
Thank you very much for your very promising report. It is good news for a lot of users, that the new updated NVmExpressDxE module, which had been compiled by the Clover Team and customized by me for being used as EFI BIOS module, worked fine for at least 2 users, who have tested it.

Yes, indeed it is. I will add a link to this new NVMe module to the start post as an alternative. If I should get more success results from users, who had inserted the new module, I will remove the link to the older one from the start post.

What means "lost"?
Have you turned back your previous BIOS settings (incl. the RAID ones) after having flashed the modded BIOS?

@Fernando
Yes, after flashbacking all the BIOS settings are the default ASUS bios settings, and of course I have turned back to my usual tuned settings such as RAID, CSM disabled, etc…
After setting back the controller to RAID mode, one member of the two SATA RAID members (they are 850 EVO M.2 500 GB - my signature describe the configuration) does not come back to the member of the volume. BIOS states RAID failure, the Volume 0 size of the RAID is correct ( about 1To) but one member is coming back as a non-RAID member. To come back to my original situation I have to delete the RAID volume and then recreate it with the two usual members. As you know this operation does delete all the informations of the volume and this is not acceptable to lost precious informations (system backup in my case). Hopefully, before the BIOS flash operation I had backupped the system also on a amovible USB key (128GB).
This problem was also observed few weeks ago with Sabertooth X99. On both systems I currently use iRST driver v14.8.12.1059 WHQL.

If your mainboard BIOS doesn’t support booting in UEFI mode at all, you will not be able to succeed by following the guide, which is layed down within the first post of this thread. Only your mainboard manufacturer Gigabyte can solve this problem by creating and delivering an UEFI capable BIOS for your P67 mainboard.
Nevertheless there are 2 different options for you to use an NVMe SSD as system drive:
a) Buy an NVMe SSD like the Intel 750 or the Samsung 950 Pro, which have an on-board LEGACY mode NVMe Option ROM.
b) Put the boot sector (MBR) onto any HDD/SSD, which is outside the NVMe SSD (for details look >here<).


Thanks for the reply. I was aware of those options and was originally planning doing the boot secter thing, but then I found this thread. I just rechecked and my board doesn’t support uefi, so until I upgrade my board, it’s back to plan A which, really isn’t a big deal at all and I should still have full performance once in the OS.

EDIT by Fernando: Unneeded parts of the fully quoted post removed (to save space)

Running the Gigabyte Z87X-UD3H BIOS through UBU was apparently necessary for me: before doing so there wasn’t enough space to insert the NVMe module.

Once that was all said and done; I flashed using Q-Flash, loaded a BIOS profile I saved earlier to restore my overclock, and finally dropped my new drive (mounted in a PCIe M.2 adapter) into my machine (last PCIe slot: 4x PCIe 2.0, via PCH).

It works!

I am able to boot in pure EFI mode (CSM off) with no issues. Note that if you go the same route as I did, the last PCIe slot will limit the bandwidth of high-performance drives. As a result, this specific drive is capped at around ~1500MB/s (capable of ~2300MB/s).



If you’re also like me and are coming from an MBR installation of Windows, it is possible to clone the installation instead of starting fresh (I used gparted instead of CLI ntfsclone). Saved me a bunch of time!

Thanks for all the help!

@Fernando
1) In the Guide Line of the start post, Chapter 6, You refer to the “SECURITY” section and the “BOOT” section.
On Sabertoothx99 I see Security Information under the Boot Menu and does states ‘activate’.
But it is greyed and I can’t change this parameter. Do I have missed something ?
(I have not checked for P8Z77).

What is the risk if the Security parameter can’t be managed properly ?

2) Do you think we have to remove the offered ASUS NVMe BIOS module of X99 platform and to insert in place the new “NVMExpressDxE_2.ffs” module you offered to be able to get Samsung 950 and 960 families devices bootable ?

Have you already looked into the "Key Management" section as well? In some BIOSes the "Secure Boot" setting (Enabled/Disabled) depends on the "Key Management" settings.

I don’t think so, but I cannot exclude it.
It is up to the users of X99 chipset mainboards to compare the different NVMe modules.
Note: If there is already an NVMe module named "NVMe" within the original BIOS, the user should not simply replace it by the NvmExpressDxE_2.ffs file (this will not work because of the not matching GUID within the module’s header). The "body" of the original NVMe module has to be replaced by the "pure" NvmExpressDxE_2.efi file, where the header (inclusive the GUID) has been removed. This can be done with CodeRush’s UEFITool. Today I will add related download links (MEGA and OneDrive) to the start post.

@Fernando ,
Thanks for the clarification.
I plan to mod the X99 BIOS for testing.
In the start post you should set the link to MMT Aptio v 5.0 tool. I have found it on your site by using the link for MMT Aptio v 4.0.
Is it OK to get it at this place ? Is it the last version ?
You refer to the CodeRush’s UEFI Tool. Can we have a link at the start post ?
The current MMT does view an NVMe module presence, but CSMCORE is absent:

MMT5_X99STbios.PNG



If I understand well the body of the NVMe module has to be replaced and we have to not change the current header (inclusive GUID) ?
At the moment I ignore how to modify partially the NVMe module keeping the header and how to insert the custom without CSMCORE Filename …

@100PIER :
My guide within the start post of this thread has been designed and is only valid for Intel mainboards, whose latest original BIOS doesn’t contain any NVMe module. According to my knowledge all these mainboards have an AMI AptioIV BIOS structure. So there is no link required to the AMI AptioV MMTool.
By the way: Only AMI AptioIV BIOSes do contain a CSMCORE module, AMI AptioV BIOSes don’t have it. That is the reason why it is more difficult to find within an AMI AptioV BIOS the LEGACY mode Option ROM modules and to update them.

Yes, that is why I am offering since today within the start post the "pure" NvmExpressDxE.efi module (without any header).

@Fernando ,
I understand that for AMI Aptio V BIOS structure I have with MMT v5 Tool to extract first the full NVMe module, then manipulate it with Coderush Tool to replace the body only with NVMExpressDxE_2.efi file and then save somewhere the manipulated file and then use MMT v5 again to replace the NVMe module with the new modded NVMe Bios module.
As it is a module replacement how to be sure the modded bios module size will fit into the original place ?

Do you know if very recent mboards (Intel Z270 chipset) have AMI Aptio V BIOS structure ?

Different versions of a certain BIOS module usually have different sizes. This doesn’t matter, because the BIOS tool will make it possible to get a bigger or smaller sized module inserted by increasing or decreasing the compression rate of the modules, which are in the neighborhood.

I haven’t yet checked any BIOS with an Intel 200-Series Chipset, but I am pretty sure, that it is an AMI AptioV BIOS.

@Fernando ,
In reference to my post #1349 , what you think about the ‘lost’ of one RAID member after a flashback operation is done ?
Are there any specific precautions to take before flashbacking a BIOS of a system configured with one or several RAID Volumes ?

I don’t know any except making a backup of all RAID0 data.

@Fernando
Yes, i do backup of all RAID data, but on your side do you have observed that after a flashedback BIOS operation some of SSDs RAID are destroyed ?
I observed that on my two different ASUS PCs: (P8Z77 and SabertoothX99).
Problem seen with RAID SATA 6G Samsung SSDs 840 PRO or 850 PRO or 850 EVO.
If volume has 3 members only one is lost, if volume has 2 members one is lost !
Very strange.