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

My nvme mod work, only a thing i do not understand, there 2 controller nvme in device management

How did you mod the Nvme and which names and HardwareIDs have the 2 NVMe Controllers within the Device Manager?

Due to the dependencies between the original EFI module named Nvme and the other 2 NVMe BIOS modules and the different GUIDs I would not replace the original Nvme by the NvmExpressDxe_4 module.
What you can try to do is to remove the original EFI module named Nvme and to insert the NvmExpressDxe_4 according to my guide (= start post).




I tried but unfortunately it didnā€™t help. After removing these tuples from bios and inserting Dxe4 I can boot from NVME, but speed is still random :frowning:

All resolved, now its only one nvme device
Ven_144d dev_a802

@OlEF :
As far as I remember you were not even able to get the NVMe SSD bootable with your original BIOS. If I am right, there must be something wrong with the 3 stock NVMe BIOS modules.

What happens, when you additionally remove the other 2 stock NVMe modules?

@Fernando :
I removed Nvme, NvmeSmm and NVMEINT13 (is it enough? or something should be deleted as well?). But sometimes something still prevents NVME drive working full speed.
OS boots fast only in 7 of 10 attempts.

OlEF:
No, it doesnā€™t make any sense to remove any other BIOS modules.
Questions:
1. Had the removal of
a) just the Nvme module and
b) all 3 original Nvme modules
any noticeable effect on the situation?
2. Have you tested the function and data integrity of your NVMe SSD?
3. Have you tested different Nvme drivers?

@Fernando ,

1. No in both cases, same behavior
2. I tried same disk in my laptop and it works like a charm. No issues with nvme boot, high speed.
3. I donā€™t think problem with drivers, since disk shows random speed both in Windows and Linux. Same nvme drivers on windows work good in laptop.

Iā€™ll try to use another nvme disk with same pcie adapter and share results.

@Fernando ,

I did some tests and here are some of my findings.
I replaced nvme disk with another (Toshiba -> Colorful) under patched bios with cutted out original modules and faced same issue - random speed. However read speed on new disk was a bit faster (30mb/s versus 250mb/s, i think this fact can be ignored).

Then I flashed bios with original firmware and found that new NVME disk is bootable. Multiple boot attempts didnā€™t show any speed issues, worked as expected.

Thus I can only assume there is some kind of hardware incompatibility which cannot be resolved. Iā€™m out of luck :frowning:

Hi Fernando,

Iā€™ve found something really interesting. As you know, my motherboard is a SuperMicro X10DRi, which is a UEFI motherboard but does not detect or boot any NVME device before booting the OS form a non-NVME drive. Also in my case, I was trying to make it detect/boot an Ubuntu OS system.

Ok, this might be interesting for both Windows and Ubuntu/Linux guys.

When installing an Ubuntu system in a GPT disk (which nowadays as any modern disk), you must create a BIOS-boot or EFI partition. This partition is normally a 512MB, FAT32 partition with a /boot/efi mount point and, if possible (I didnā€™t need it), a boot, esp flag (so two flags in the same partition). This partition must be created at the beginning of the disk.

Also, following that first partition -and here comes the trick-, we can add a second partition of 1GB and an ext4 filesystem, with a /boot mount point, no flag.

All of this can be done from a Live USB / Live DVD Ubuntu Installation drive during the installation or just loading an Ubuntu ā€œfakeā€ session, where you can install a program called ā€œBoot Repairā€ and use gparted, Ubuntuā€™s software for making/deleting/modifying partitions. This applies to any Ubuntu, Desktop or Server. Donā€™t forget to choose the first partition (/boot/efi) for booting the system from.

The above is exactly what I did. You will need two disks: a SATA disk for these two partitions and your NVME disk where you want your OS to be working from. So the process is: the system boots from your SATA disk with GRUB2, which is Ubuntuā€™s OS loader. Then, it detects your NVME SSD drive and youā€™re done. The only problem is you will need that SATA drive in the first place just to load the OS loader. It doesnā€™t work without any of the two small partitions.

Now, Iā€™ve been working with Windows/Linux in the same PC and even same disk for many years, thatā€™s form 1995. My process has been always the same: first you install Windows and all its crap, and then you install Linux and fix the boot system with its OS loader. With Windows 10 and Ubuntu itā€™s no exception, in fact is less problematic than other really tricky situations in the past. Iā€™m saying all this because you may not be interested in working with Linux, but maybe you can make room at the beginning of your SATA drive for the two little partitions. Then you can install Windows in your NVME drive, but of course it wonā€™t be detected when booting.

BUT then you can boot an Ubuntu live USB session (imaging being able to work with a full Windows system but without installing it), install the two small partitions and also GRUB in the EFI one, and hopefully be able to boot Windows 10 without any Linux or anything else in your system.

So I have solved my problem and perhaps other people can solve it too.
Thanks

@Goodvalley :
Thanks for your interesting find and for your guide about how to use an NVMe SSD as system drive, when it is not possible to boot directly off the NVMe SSD drive.
Here is my statement:

  1. Since the users, who follow your guide, will not get full NVMe support (the boot sector will be outside the NVMe SSD), your contribution doesnā€™t really match the topic of this thread.
    To make it easier for interested users to find your guide, it should be moved from this very voluminous thread into another existing or a new one. Where do you want to get it stored?
  2. Since your Supermicro mainboard has an UEFI BIOS, it should be possible to boot directly off the NVMe SSD after having flashed a modded BIOS, which contains the natively missing NVMe EFI module. I would rather like to know, why you didnā€™t succeed to get the NVMe SSD directly bootable.

I bought Intel 760p today and installed the windows 10 my motherboard P9x79 deluxe board without any problems))) disk in BIOS right away determined)))running on the bus PCIE-3.0)

745752.jpg


sTEC_BZWMNo.jpg

Thank you so much for this guide! Saved me from a new build, the only problem is Iā€™m not getting the full read/write speed from my WD 2018 1TB NVMe. Getting like 1.4GB read and 1.1GB write instead of 3.4GB read and 2.8GB. Iā€™m using silverstone ECM20 adapter on a PCIe 2.0 x4 slot, I have not messed with the BIOS at all except to prioritize to boot from NVMe (which might be the problem, but my bios doesnā€™t seem to have much to change, I also donā€™t wanna mess up anything). Just wondering if this hardware or software problem.

My Specs
Win10x64 PRO
I5 2500K
Asus Maximus IV Gene-Z
GTX 1080Ti
16GB RAM
Western Digital Black 1TB NVMe (2018)
(Donā€™t judge my build lol, might be a lot bottleneck going on)

@kevinisbetter :
You need PCIe 3.0 For maximum performance

EDIT by Fernando: Unneeded fully quoted post replaced by directly addressing (to save space)

@TumKo Darn, well still better than my old HDD. Thanks!

When my new Samsung 970 Evo M.2 is connected to my Asus Impact VI it will not post and the monitor receives no display. I was hoping it would resolve after updating the UFEI for NVME support. However no post and display issues continue until the m.2 drive is removed. Has anyone had this issue? How was it resolved? I havenā€™t been able to find a similar situation.

@4agte :
Welcome to the Win-RAID Forum!

Are you sure, that the M.2 port of your netbook supprts the NVMe protocol at all? Which SSD model was natively connected? Is it still connected?

Regards
Dieter (alias Fernando)

@4agte :
Have you tried disabling CSM? Not having an Option ROM while CSM enabled might cause issues.

According to ASUS website, although the M.2 socket on your motherboard has support for PCIe, only PCIe 2.0 x1 is supported that might even be slightly slower than SATA 6Gb/s. You could get optimal speed if you were willing to use the PCIe 3.0 x16 expansion slot, but most likely use that for a graphics card.

If you cannot use the PCIe 3.0 x16 expansion slot for NVMe I would recommend you to get a SATA 6Gb/s (also known as SATA III) SSD instead, because that is going to be more compatible and the performance is most likely going to be better. Unfortunately you have a very compact motherboard with an extremely limited number of expansion slots.

Hello Fernando i have a m5a99fx pro r2 and i canā€™t flash the modded bios due to capsulation file.
i have tryed in dos, in windows and with flashback.
do you have any suggestion?

@tazmaniac :
Welcome to the Win-RAID Forum!

Since your ASUS mainboard supports the USB Flashback feature, you should use this easy and very safe method.
For details please have a look into >this< guide and into your mainboard manual.
If you follow the advices, I am pretty sure, that you will succeed.

Good luck!
Dieter (alias Fernando)