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

Thanks Fernando - you and the rest of the team who contributed to this are legends !

I followed your very thoroughly documented instructions precisely, and Bingo! … it worked first time :slight_smile: … on first boot, it even automatically finished off my semi-installed Windows 10 installation on the NVMe SSD.

Windows now boots up in 8 seconds.

Kit:
Motherboard: ASRock Z77 OC Formula
EUFI BIOS: v2.40 beta
CPU: Intel Core i7-3770K
NVMe SSD: Adata SX8200 Pro 1TB installed in an Angelbird Wings PX1 add-in card.

Click to enlarge performance benchmarks:

CrystalDiskMark:

Adata SX8200 - CrystalDiskMark.jpg



Anvil:

Anvil performance stats.jpg



… Paradox

@Paradox :
Welcome to the WinRAID Forum and thanks for your report.
It is fine, that you succeeded.

Enjoy your updated old system and the speed of your NVMe SSD!
Regards
Dieter (alias Fernando)

I have a problem with my Rampage IV Extreme X79 and NVME. I managed to mod the bios 5001 through your guide (thanks!) - in order to recognize the Asus X16 Hyper m.2 card and I have two M.2 drives in it. (970 EVO)

Cards installed:
2x1080TI (slot 1 x16, slot 2 x8)
1xAsus Hyper M.2 x16 (slot 3 x16)
1xAsus Essence STX (slot 4 x1)
1xempty (slot 5 x8) - if used, slot 3 turns into x8 mode and the Hyper card is no longer found??

Question 1 -
Why does it only work with the Asus Hyper card to be found in the bios on Slot 1 and 3 (the x16 slots) ?
None of the x8 slots find the card or any drive. Can this be changed somehow ? It would really help me if it could and I will only use the 2 drives hence only an x8 is needed.

Question 2 -
Is it any bifurcation bios available for R4E in this forum ? If so for which slot ? (so I can use both drives and not only one)

System:
R4E X79, I7-3930k @ 4.7 GHz, 64 GB 1866Mhz Ram, 2x1080TI Nvidia FE, Asus Essence STX, Asus Hyper X16, Samsung Evo 970 1 TB (not found yet…), M.2, Samsung Evo 970 250 MB M.2, Crucial MX 525GB x 2, WD 1.5TB Green, Corsair 115i CPU Cooler, 8xNoctua 120mm Fans, Corsair 740 Cube Chassi, Logitech G910, G903, Powerplay Wireless, Bose QC, 75" UHD 4k Samsung TV, 11.2 Hifi System Canton References/Velodyne DD-15s, Onkyo PA-MC5500, Onkyo TX-NR3010

@zog :
Welcome to the Win-RAID Forum!

You should better ask ASUS’s Technical Support than us.
By the way - the BIOS doesn’t detect the M.2>PCIe adapter card, but the SSD(s), which is/are attached to it.

No, but >here< is a thread about the related topic.

Regards
Dieter (alias Fernando)

@Fernando
Just a quick upate letting you know everything went perfectly. I am now running a NVMe Windows 10 OS. I was on Sata 7200, going all the way to a NVMe, let’s say this is a huge step up. Your step-by-step guide was easy to follow. I am including 2 benchmark screenshot to see if my results are within expected range for Intel 660p Series M.2 2280 1TB PCI-Express 3.0 x4 3D NAND Internal Solid State Drive (SSD) SSDPEKNW010T8X1.
I guess so, I suppose I would need to run this SSD directly on a motherboard with Native M.2 slot to get better results.

Also, just asking, but when starting my computer, I get to a Windows OS selector, can I skip this step? I have 1 NVMe SSD with Win10, and another one being a SATA 7200 with an old Win10 on it. If I erase that old OS, will I still get that Windows select screen on start up?
Thanks for your precious help!

Wish you the best!
Vincent

BenchMark1.png

BenchMark2.png

@DonParlor :
Hello Vincent,
thanks for your feedback.

Maybe you can boost the benchmark scores a little bit by following the tips I have layed down within the start post of >this< thread.

It depends on the location of the Windows Boot Manager (= boot partition).
Run the Disk Management and check, whether your NVMe SSD contains an EFI system partition or not. If not, you will not be able to boot after having erased or formatted the formerly used system drive.
If you have followed my advice to unplug all other HDDs/SSDs except the NVMe SSD before starting the Win10 installation, you wouldn’t run into a problem by erasing or formatting the formerly used boot sector of the SATA disk drive.

@Fernando

Here is a screenshot of my disks setup. Disk 2 (old OS) and Disk 3 (NVMe OS) have a Windows 10 OS on them. It seems only disk 2 have a EFI partition.

Do I have any other options?

Disk Setup.png

@DonParlor :
This verifies, that you didn’t follow my guide.
Now you cannot even be sure, that the modded BIOS has been successfully flashed. Do you see a Disk Drive named “PATA” within the “BOOT” section of the BIOS?

You have to do a clean Win10 installation onto the NVMe SSD after having unplugged all other HDDs/SSDs, but you will only succeed, if the BIOS contains the required NVMe module.

@Fernando
Yes, I correctly flashed the BIOS, and Yes, I saw the PATA drive in the device list. And also, when I installed the OS, there was only the NVMe drive plugged in. I followed your guide. But there was that second SATA drive with a previous OS installed…

Here is a picture of the "Boot screen" I see when I start and must select which OS I want to start on.

Capture d?e?cran, le 2019-01-28 a? 16.05.19.png

@DonParlor :
No, you haven’t unplugged the formerly used system drive, before you started with the OS installation. Now you have a dual-boot system and the boot sector outside of your NVMe SSD.

@Fernando

Is it possible to copy boot partition from previous OS to new NVMe? If necessary, I will reinstall the whole system.

It is possible to do that, but the result will be, that you have an unbootable system.
Reason: Your current boot sector needs an AHCI driver to be able to boot, but the NVMe SSD needs an NVMe driver.

@DonParlor , @Paradox I wonder if you have your NVMe cards in the right PCIe slots, or have adjusted the speed correctly? I have essentially the same setup as both of you, but I’m running the NVMe add-on card in a PCIe 8x slot, and these are the numbers I’m seeing:

Benchmark Pic1.png

Benchmark Pic2.png



In particular, the CrystalDiskMark numbers are significantly higher. The first time I setup my system, I had the card in a slot that was running at 2X and I got numbers along the lines of what DonParlor is seeing. If you can,. try changing the slot, or changing the BIOS settings for the slot the card is in.

Regardless, like you, I’m a happy camper now!

EDIT by Fernando: To save space, I have resized the inserted pictures (can be enlarged by clicking onto them) and re-attached them by using the Forum software.

Hi VegasGuy - please tell me the make and model of your NVMe C: drive we are comparing performance stats on.

Sometimes the performance test results have inexplicable inconsistencies. My Anvil sequential stats are faster than yours, and the random stats mixed. My CrystalDiskMark sequential writes are a lot faster than yours, but most of my random stats are appallingly slower than yours.

I tested the Adata SX8200 Pro in a PCIe v2.0 slot, and Windows boots up in 8 seconds, exactly the same speed as when it is in a PCIe v3.0 slot.
As expected, my CrystalDiskMark sequential stats are halved in the PCIe v2.0 slot, but strangely my random stats are slightly higher than than those in my PCIe v3.0 slot … go figure !!! :slight_smile: … now that is a paradox :slight_smile:

Click to enlarge comparison:

SX8200 in PCIe 3 vs 2 slot.jpg

Hi everybody and special thanks to Fernando for this great tutorial!
I owe a laptop Asus N751JK which has an m.2 PCIe x4 slot, and obviously… No NVMe driver embedded in its bios to boot off from it :-/
So I already spent a bunch of hours trying to boot off my new Samsung Evo 970 Pro NVMe drive, obviously without any success…
Looking around on internet for any solution, I finally found here what could be the ideal solution.
Of course the Clover method could be a decent way to get my drive working but booting off and USB stick or SD card is not a fair solution for a laptop so far, and I don’t feel very comfortable with tweaking the EFI boot partitions in order to put it on an internal SATA drive…

So it would be so nice if I could succeed in modding my BIOS following this guide.
But I have to admit that im quite scared about a possible brick off my mobo!
I carefully followed the guide in order to build my modded Bios (I’m pretty sure to have it built the right way ^^) so my question is: Is there a high level of brick risk by flashing the BIOS with the tweaked file?
Fernando said that some laptop bioses could refuse to be flashed with a modded file, may I give it a try to figure it out by myself without a lethal risk for my laptop?

Thanks forward for your valuable advices and sorry for my imperfect English ^^

@VegasGuy55

I have these settings for my PCIe ports. Should I modify it?

Capture d?e?cran, le 2019-01-29 a? 12.55.59.png

@Neutral67fr :
Welcome to the Win-RAID Forum!

This may indicate, that the M.2 slot doesn’t support the NVMe protocol at all.
Note: There are M.2 slots, which are SATA connected and do only support the AHCI protocol.
My advice: Look into the manual of your laptop or ask the ASUS Support, for which protocol (AHCI or NVMe) the on-board M.2 port has been designed.

Without an NVME module within the BIOS you will not be able to get the NVMe SSD bootable.

Flashing a modded BIOS is risky, but according to the feedback I got until now the risks are low regarding the insertion of a natively not present DXE Driver module, if it has been done correctly. To minimize the risk of a wrongly modded BIOS you can attach your modded BIOS and I (or someone else) will do a look into it and tell you, whether it is ready for the flash or not.

Regards
Dieter (alias Fernando)

From what I can see, it appears that in this screen, the bios is reporting the PCIe slot supports Gen3 and is set to Auto. Having said that, someplace in the UEFI bios there should be a screen where you can change those settings. It’s also possible (like my P8Z77-v LE Plus mb) that you have more than one slot, but not all of them are configurable. On my motherboard, I have 3 slots, but only two are configurable as Gen 3 slots. The third slot (black for anyone with the same board) can only be configured to support 2x or 4x speeds. Not sure if that’s Gen 1 or Gen 2, but the other slots support 2x,4x,8x and 16x. Remember, if you have more than one card on the PCIe bus, I think they share the bandwidth, so with 2 cards, the most you would see is 8x.

I’d check your manual to see how many slots you have and what they support. then try moving the card around to see if you get different CrystalDisk readings. Not sure if it’s correct (or even true) but I heard someplace that you should try to place your PCIe card as close to the processor as possible to maximize performance. Reading that in print makes me think it’s probably an old sysadmin’s tale, but you never know !

@DonParlor [EDIT] And just like that…I feel like a complete jerk. If you take a close look at the benchmarks I posted, you might pay particular attention to the queue and thread counts. In the Benchmark I posted, they are all set to 8, so the numbers are skewed dramatically. I guess I was tweaking the settings to try and arrive at some “theoretical” max performance. In real world testing my numbers are more like yours and Paradox. My apologies for making this more confusing than it really needs to be. Bottom line: The numbers are whatever you want them to be, but the improvement in performance over traditional hard drives or Sata ssds is real.

@Paradox Pay no attention to my comments (good advice in general). The queue and thread counts on my benchmarks are were skewed to produce the maximum numbers…not at all reflecting real-world performance. In reality, a place I TRY to spend as much time as possible in, we are all getting far better performance from this upgrade and I suspect you are as happy about it as I am.

@Fernando Thanks for your reply :slight_smile:
Actually yes I’m aware that the N751 bios currently supports only AHCI, not NVme.

I’m not sure to understand well what you mean here: Do you speak about physical (hardware) or software support?
OK within the bios the m.2 is not useable because of the lack of a NVMe module, this point is clear. But once I’m in Windows, the drive if fully manageable, so this means to me the laptop is NVMe hardware capable of, right?

According to this, I guess that what I would only need is to render the bios NVMe compliant with the suitable NVMe module insertion in the bios file.
I attach a zip with the original and modded files, thanks for anyone to have a look into them in order to tell me whether my modification is correct or not :slight_smile:

N751_Bios_mod.zip (4.68 MB)