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

Hi, just registered to the forum for this thread.

Before going through the OP carefully, i wanted to ask if i can mod the following system to boot from my Samsung MZALQ128HBHQ PM991 128GB M.2 NVME 2242 SSD:

Asus Z10PA-D8 with latest BIOS, C612 chipset.

Edit: i want to boot latest Linux kernel (Proxmox)

Thx

This motherboard model (Asus Z10PA-D8 bios v3208) has already the AMI NVMe dxe module in it by default in latest bios, no need mod for NVME.

EDIT: In older bios 3701: ā€œ1. Support ASUS NVMe devices display in post screenā€
With this Asus is stating one of two options or both, NVMe drives as data storage or/and boot volumes.

Now the rest is up to system configuration, also motherboard boot manager in bios may only display NVMe boot volumes when an OS is installed on it.

EDIT: Or incompatible NVMe disk to this motherboard/Not empty/Bad

Do note, that a full UEFI motherboard configuration is needed for UEFI OS/NVMe correct install/boot, not AUTO/CSM (Legacy), in this modes NVMe drives are treated as standard storage devices.
(4.4.9 on the user guide)
This also means that other attached cards like GPU must support EFI protocol. Its all in Fernandoā€™s guide on 1st post.

Just noticed that the M.2 slot, supports PCI or SATA devices but it has only a x1 connection to the C612 PCHā€¦your not going to get a full performance output from a regular NVMe drive (PCIe 2.0-3.0-4.0 @ x1x 2 x4)

Good luck

Ohā€¦ i donā€™t see the drive in boot options thoughā€¦ just now got a CPU installed and the system booted first time, so i need to play around with BIOS moreā€¦ Thanks for the info!

ā€œNVME Controller and drive informationā€ in BIOS is emptyā€¦ bad drive?

edit 2: Oh right, might not show up unless thereā€™s something installed. Thx.

edit 3: ok, very helpful. been a long day but next step tomorrow is booting debian live and test if it sees the drive, and/or try installing an OS. The nvme drive is new/unused

@MeatWar

Yes i know itā€™s only x1, but still better than SATA for booting Proxmox hypervisor in terms of responsiveness iā€™d imagineā€¦ The drive hosting VMā€™s will run on a separate Intel DC P3700 MLC drive.
If all fails iā€™ll just get a SATA drive though.

Edit by Fernando: Unneeded part of the fully quoted post and blank lines removed (to save space)

Hi,

First: Thanks :slight_smile: Using the instructions from the first post, I successfully installed NvmExpressDxe_5.ffs into the BIOS of my ASUS UX501JW and now Iā€™m using it again with NVMe drive. Many thanks for the manual, because this model only supports ā€œPCIe AHCIā€ drives, and without mods, I couldnā€™t install the system anymore - the original M.2 drive was broken.

OK. But I am writing because the following few words may be useful to someone (but maybe someone wrote it before in more than 7k above posts ā€¦):

Even with a modified BIOS, I still had a problem: I couldnā€™t install Windows 10 21H2 because in UEFI mode the installation got stuck when changing the graphics mode (probably the source of the problem was the Intel UHD + GTX 960M tandem). So the situation was as follows: the disk was seen in the BIOS, but it was not possible to install Windows in MBR mode (there was information about the inability to boot the system in this mode) and in UEFI mode the installer crashed. But I saw before that the disk is visible by Macrium Reflect run from Rescue Media.

So I made the following procedure (a little workaround): Iā€™ve made Windows 10 machine in VirtualBox with EFI enabled. Then I started Windows 10 install from ISO. Before the first restart I turned off the machine. Next I made the image of virtual disk (GPT one was created) using Macrium Reflect. And I restored it to my laptop. And ā€¦ the laptop successfully booted into the Windows 10 installer, the installation of which continued. Now everything works great :slight_smile:

Regards,
Marcin

Hi,

First: Thanks :slight_smile: Using the instructions from the first post, I successfully installed NvmExpressDxe_5.ffs into the BIOS of my ASUS UX501JW and now Iā€™m using it again with NVMe drive. Many thanks for the manual, because this model only supports ā€œPCIe AHCIā€ drives, and without mods, I couldnā€™t install the system anymore - the original M.2 drive was broken.

OK. But I am writing because the following few words may be useful to someone (but maybe someone wrote it before in more than 7k above posts ā€¦):

Even with a modified BIOS, I still had a problem: I couldnā€™t install Windows 10 21H2 because in UEFI mode the installation got stuck when changing the graphics mode (probably the source of the problem was the Intel UHD + GTX 960M tandem). So the situation was as follows: the disk was seen in the BIOS, but it was not possible to install Windows in MBR mode (there was information about the inability to boot the system in this mode) and in UEFI mode the installer crashed. But I saw before that the disk is visible by Macrium Reflect run from Rescue Media.

So I made the following procedure (a little workaround): Iā€™ve made Windows 10 machine in VirtualBox with EFI enabled. Then I started Windows 10 install from ISO. Before the first restart I turned off the machine. Next I made the image of virtual disk (GPT one was created) using Macrium Reflect. And I restored it to my laptop. And ā€¦ the laptop successfully booted into the Windows 10 installer, the installation of which continued. Now everything works great :slight_smile:

Regards,
Marcin

@marcinkk Welcome to the Win-RAID Forum and thanks for your report inclusive workaround.
As you have already suspected, your boot problem has been caused by the Graphics Card (maybe forced by the in-use Windows OS) and has nothing to do with the insertion of the NVMe BIOS module into the BIOS.
Enjoy the speed of your NVMe SSD by using it now as bootable system drive!
Dieter (alias Fernando)

P.S.: On your request I have moved your post into this thread and deleted the one you had created.

Hello.
I have a motherboard Asrock 970 extreme 4. It has not support for NVME. Iā€™m searching to modded BIOS but I did not find.
I Discovery this forum., thanks to God.
Anybody help me???
Excuse my english. Iā€™m from Spain.
Thanks.

@jgvega Welcome to the Win-RAID Forum!
Within the start post of this thread is a detailed guide about how to succeed.
If you are unsure regarding the quality of your BIOS modification, attach a link to your work (and add the original BIOS as well). Then we will do a look into the modded BIOS and tell you, whether it is ready for being flashed or not.
Good luck!
Dieter (alias Fernando)

@Koekieezz
Thanks for having instantly replied to jgvegaā€™s request and for having already offered the modded BIOS. I have moved your post into the better matching ā€œOffers: Already modded special BIOSesā€ Sub-Forum.
Reason:
This thread has been designed just for users, who are able and willing to do the BIOS modification themselves by following my guide. Users, who want to get an already NVMe modded BIOS, should search for the requested BIOS within the above mentioned Sub-Forum and - if they donā€™t find it there - post their request into the ā€œBIOS Modding Requestsā€ Sub-Forum.
This procedure makes it much easier for other interested users with a similar mainboard to find the requested modded BIOS.

@jgvega
This thread should not been used for ā€œBIOS Modding Requestsā€, but only for users, who want to know how the BIOS modification can be done and to try to do it themselves (the modification is not risky at all, the risky part is the flashing of a modded BIOS).
If you should not want to follow my guide and to try the (easy) BIOS modification yourself, please look >here<, where our Forum member Koekiezz has attached the specific BIOS, which has been modded by him.
Good luck!
Dieter (alias Fernando)

I know this thread is old, but it comes up in all search engines about NVMe support for older mobos and I just struggled for almost a day to get it to work.

The first post and most (if not all) other posts I found on the web are missing a key set of requirements:

Your NVMe disk must be GPT (not MBR) and must have a FAT32 partition marked ESP (EFI) and also Bootable at the beginning of the disk.

If you donā€™t do that, then you wonā€™t see the disk in the BIOS to choose from at boot, no matter what you try.

Simply converting your MBR disk to GPT will not be sufficient for the BIOS to show the NVMe disk in the boot list. After you create the FAT32 partition, you can use all sort of tools to ā€œrepairā€ your boot, depending on the OS. For Windows there are a ton that you can run from a bootable UEFI USB stick (must be UEFI!), including the native bootbcd, or Macrium, etc.

Perhaps Fernando can add this to the 1st post.

My story: I had a 512GB ssd initialized as MBR (I always avoided UEFI as it always gave me headaches). I cloned that SSD onto my newly purchased Samsung 970 EVO Plus NVMe.

@aquarc
Thank you for your comment, but I do not agree with you and will not put your desired "key set of requirements" into the start post of this thread.
My guide has been written for users, who want to
a) go the easiest and safest way to get a modern Windows OS installed onto any NVMe SSD and
b) get the best possible performance by using an NVMe SSD as bootable system drive.
Users, who - contrary to my advices - prefer to clone their previously used system drive, are deliberately not supported by my guide, because such procedure is anyway a big mistake (much more error-proned and the result is never as good as it could be with a "clean install").

This is simply not true. You can use any NVMe, no matter with which partition scheme and how it has been previously formatted. All you have to do after having started the OS installation is to follow this part of my guide:

Next point:

Only BIOSes with full native NVMe support will list the name of the NVMe disk as "bootable device". All other BIOSes will only show the "Windows Boot Manager".

Itā€™s very much and very simply true. Unlike some of the old NVMe disks, which had legacy oproms, the new ones donā€™t have legacy oproms so they canā€™t boot if itā€™s MBR, but only if UEFI. The nvme bios modules, at least the ones Iā€™ve seen extracted from the likes of Z97 or X97 or X99 motherboards, simply donā€™t recognize the nvme disk if itā€™s not GPT with a FAT32 EFI (ESP) bootable partition. The Bios doesnā€™t show it as a bootable device unless those exist.

All guides, yours included, claim that you should see the disk in the bios among the bootable drives list. Thatā€™s not true unless you make it gpt + fat32 efi boot.

Whoever is reading this doesnā€™t have to take my word for it, you can try it yourselves: keep the disk GTP and delete the FAT32 partition, or make it MBR instead of GPT, and youā€™ll see that the Bios will not list the NVMe disk as a bootable device.

Your ā€œlet Win10 Setup create a new partition [ā€¦]ā€ advice is hiding those facts, because by default Win10 will init the disk as GPT and format it as UEFI, i.e. will create a FAT32 EFI partition, etc.

Thatā€™s fine, but not everyone wants to start from scratch by wiping all data and reinstall Windows. Itā€™s perfectly possible to clone an existing MBR disk onto the NVMe and make it bootable (clone as is, then convert it from MBR to GPT without wiping data, then resize the first partition to make 100 MB room at the beginning of the drive, then create a FAT32 partition there, then add/repair the bootloader using bcdboot or other tools). The fact you call it ā€œa mistakeā€ says more about you than about the ones attempting a clone.

Iā€™ve succeeded on my Gigabyte Z77X-UP5 (nvme modules extracted from a Gigabyte Z97X-UP7 mobo).

@aquarc while i agree with you with not everyone want to start from scratch, from what iā€™ve read from the first time this is a DWYOR project which means could causes system not to boot at the worst times.

It is pretty simple what the Gurus told here, it is better to start everything from scratch installing windows, for a better less issues.

ā€œlet Win10 Setup create a new partitionā€ is the layman terms for making the drive to be formatted as gpt and stuff, while in extended reason, win10 actually follow the bootable drive formatting, if the win10 media created on MBR + Bios it would make the drive onto it, like what i did to some old C2D and C2Q builds which still does utilize mbr disks only for boot (except for some lga 775 that uses Uefi beta bios such as P5Q Deluxe EFI, and 3 MSi board that i forgor its name T_T ). These claim are not false as it is already been explained on why it is UEFI only recommended, since it only utilize the latest nvme disk rom (no legacy boot). So yeah, maybe the guide needs to be detailed a little bit but not at all since itā€™s already explained the ā€œInstalling Windowsā€ section iirc, while cloning is still possible but not recommended.

Anyways, nice opinion :D!!

@aquarc
If you think, that very important messages/instructions are missing within the start post of this thread, feel free to start a new thread with a better/more complete guide. This may be a good idea anyway, because due to my age the time span to keep all my start posts up-to-date is meanwhile very limited.

To be able to understand why I called it a "mistake" what you have done, I recommend to do the following:
1. Optimize your current NVMe system drive C: and execute a benchmark test.
2. Take a backup of the complete content of your currently in-use NVMe SSD and store it outside of it.
3. Do a clean OS installation onto the NVMe SSD by following my guide.
4. Optimize the freshly created system drive C: and re-execute the benchmark test.
5. Compare both benchmark results. If there should be no noticeable difference, you can easily restore your cloned old system drive.

Why didnā€™t you follow the much easier and less DXE Volume space consuming method of my guide regarding this point?

Gigabyte GA-H61M-S1 (REV 3.0) successfully inserted the smaller patch and booted from the nvme drive at the x1 slot that is connected to the PCH. Thanks for the tutorial!

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).