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

Hi all :wink:
I just learned that my old ASUS P8P67-M motherboard might be able to work with NVMe drives! Great!
but…
I have tried to add NVMe drivers to latest BIOS available (P8P67-M-ASUS-3703.ROM - https://www.asus.com/Motherboards/P8P67M/HelpDesk_BIOS/ ) and failed :confused:
I followed the guide and got stuck on the point where you save the modified BIOS to a file.
Error I receive is “reconstructVolume: root volume can’t be grown” - does it mean that BIOS file can’t handle additional driver?
This applies to NvmExpressDxe_4.ffs and NvmExpressDxe_Small.ffs

bios.JPG



I have found some posts with tips, to delete LAN drivers from BIOS, but to be honest I can’t reproduce the procedure used there.

Is there any chance that my old mobo will be able to get modified BIOS at all?

Hi all,

I just registered to thank you and especially Fernando for the instructions!

When I was looking into if I could use a NVME + PCI-E interface card in my pc, I stumbled on this topic and found out I could even boot from it.

Modding the bios was straightforward, as was flashing.

Hardware:
Asrock Z77 Extreme 4-M
Intel 660p 1TB
Icy Box IB-PCI208

I immediately had the :PATA entry in the bios after installation, so a boot with a Macrium Reflect usb stick and disk clone later, I could add a UEFI entry for rEFInd using MX Linux from usb.

After booting into windows, it also created a boot entry, so I was good to go.

The disk clone mostly worked; I can boot into my primary Win10 install (Insider), but my secondary I only use for games gives me an Invalid boot device. As for my linuxes: Arch on a btrfs subvol boots, but displays some disk corruption thingies - I’d need to clean those op, while Void on another btrfs subvol hangs in the boot process. A seperate MX Linux boots fine.

The 660p is only rated at 1800Mbps instead of the more expensive NVME drives, but it’s still a nice upgrade from SATA for about the same price.

Thanks for the clear instructions!

Hello everyone,

I (like so many others) have registered in this forum specifically to say thanks to Fernando and all the others involved in this guide and the tools used.
People like you are what the Internet is for, keep it up and many, many thanks!

I would also like to report a few oddities i’ve encountered, maybe someone here can even explain them.

I originally used this guide to boot off my 960evo on a z77 based Gigabyte G1 Sniper 3 (jeez, am i greatful for its dual bios…). I extracted the three UEFI Components from its Z97 cousin and was good to go.
When i had to rma that drive due to a sudden death and zombification of the controller, samsung replaced it with a brand new 970evo via pick-up and return to my doorstep (great job btw, thats how customer service should work, 10/10 samsung!),
i found that the bios mod did not work for that newer drive.
Ive accidentally foudn that having a hdd with another win10 install works too, it provides the bootloader wich then boots to the nvme drive. Interestingly, opening the System Configuration tool shows that Win10 is aware of the other windows install, and settings i make there like changing to countdown on the selection screen or deleting the other os from the list to skip the selection screen entirely do work as they seem to be intended, meaning that the bootloader on the hdd takes its settings from the os on the ssd…??
(Here is where i would love an expolaination or pointers as to where i cant read up on all this)

I now remodded the bios with the provided NvmExpressDxe_4.ffs file, and got the nvme drive to show up as a bootable device again. But only if CSM is enabled and set to Legacy and UEFI, UEFI only does not work.
Unfortunately, trying to boot to it results in a “No bootable device detected, insert boot media and press any key” message in the old non-UEFI style, so it seems i do have to reinstall my os after all.

I suspect windows got installed in legacy bios mode, causing both issues.
If anyone knows or has any ideas how to get the existing install to boot directly, it would be most appreciated. (I’d like to avoid reinstalling if possible, and also because i like digging around in windows’ guts and make it do things the way i want :P)

Sorry for this long ramble, and again, many thanks and lots of respect to erveyone here

Greetings
Kamiakze

EDIT:
I just noticed that the system information screen reports the “BIOS-Mode” as “UEFI”, that somewhat contradicts my assumptions made above. I would love to find out whats going on here

hello friend, have the same problem, did you manage to modify the bios? elitedesk 800 g1 nvme boot

@Kamiakze :
@fiiirst :
Welcome to the Win-RAID Forum!
1. It is very important to have not more than 1 NVMe module within the BIOS. That means, that you should remove the other 3 NVMe modules , before you insert the NvmExpressDxe_4.ffs module.
2. Generally it should be possible to get the NVMe SSD bootable with enabled and disabled CSM BIOS setting. If it doesn’t work with disabled CSM, there must be another reason for it (the NVMe module itself is not the origin of the issue).
3. You can boot off the NVMe with enabled CSM setting without any problem. The only important preconditions are, that you
a) allow the BIOs to load EFI modules and
b) installed the OS in UEFI mode using the GPT partition scheme.
Regards
Dieter (alias Fernando)

@Fernando
Thanks for the welkome :slight_smile:

I never mixed the Dxe_4 file with any other nvme modules, no worries there.
The weird thing is that my current windows install claims to be in UEFI mode and disk manager shows the ssd to be partioned as gpt, yet the ssd only shows up as a bootable device in the bios if csm is enabled and set to allow legacy devices.
Evene then only the windows install on the hdd shows up as "Windows Bootloader" and is able to function as a stopgap measure to booting the ssd itself.
When i had the mod working the first time, using my 960evo, the install on ssd showed up under a similar name.
If i disable csm or prohibit it from booting to legacy devices, the "PATA SS:" option disappears, but the workaround via the hdd still works.

Since everything seems to check out on the hardware and bios side, i suspect my windows install as the culprit, though i would really like to find out what the exact cause is. However, that is out of pure curiosity on my part.
Realisticly, i guess a fresh install is in order, when i have the time

Greetings
Kamiakze

@Kamiakze
It’s very common that two things I said below.(you had modded the bios and setup your system well)
1."pata"and “windows boot manager” will be showed in the boot list when enable the "CSM“.
2.“windows boot manager” will be just showed in the boot list when disable the "CSM“.
but your can only select the “windows boot manager” no matter what mode you set.

Hi all members, i am using Windows 10 UEFI 64bit . I am using intel dh77eb Motherboard. I am planning to buy NVME 1TB M.2 SSd and to install NVME with PCIe Express slot. So my question is that can i boot windows with PCIe NVMe SSD without modifying bios… Thanks

I was struggling to get rEFInd to boot, even after updating and re-adding the entry in UEFI.

Turns out it pointed to the wrong disk. I figured that out by booting an EFI shell and looking at the output of "bcfg boot dump". It said something like:

Windows Boot Manager hd(1,4caedg4…
rEFInd hd(1,22ace2…

Fixed it by going to the location of the refind efi file and adding an entry



Once successfully booted into linux, I could remove the old rEFInd and rename the new one.

Hello! Successfully integrated NVME module in BIOS M5A97 R2.0. I use the adapter MVME PCIE M.2 BTBcoin + SSD Transcend MTE110S 256 GB M.2 2280 PCIe 3.0 x4 3D NAND TLC (TS256GMTE110S).
Help with the problem.
Disk writing speed dropped to 40 Mb / s. At the moment, more than 150 MB / s does not rise. Could this be a NVME module problem or a disk fault?

Hi guys,

first let me thank the author for the guide since it’s the one that took me the furthest way towards solving my problem.

However, I feel I’m stuck just in front of the finish line and I need someone’s help to cross it.

I’ve been trying to mod the BIOS for Asus P8Z77-v so I can migrate/install windows 10 on a 500 GB Samsung 970 EVO Plus connected to the mobo through an i-tec m.2 to PCI-E x4 extension card. I have inserted the NvmExpressDxe_4.ffs module as instructed in the guide and flashed the BIOS. It allowed me to finally see the device in BIOS boot options as PATA SS. It’s said in the guide this name should change to Windows Boot Loader after a successful windows installation but neither earlier cloning/migrating attempts nor installing from DVD (where windows installer notes under partition selction menu the drive selected is not supported by the bios though still continues with the install if confirmed to do so which leads to a blue screen after next POST stating an error while trying to load winload.exe and asking to press enter, f8 or f9 to try again, select diffrent boot device or a diffrent windows installation respectively) force that change.

Really need your help guys. Either instructions or a modded bios if anyone has one.

I want to thank this forum and especially Fernando for this topic. I spent hours trying to figure out why my Supermicro X10DRi-T doesn’t boot from NVME drive. There was a question asked back in 2016 on Supermicro website about it (https://www.supermicro.com/support/faqs/faq.cfm?faq=23254) - they answered that this motherboard supports NVME boot. Guess what, it doesn’t. I checked bios 3.1 and 3.1b - Nvme module is simply not there. The module is in X10DRC Bios though (Thanks Fernando!), but not in X10DRi, don’t know why… Anyway, there was not a single useful peace of information online, so I decided to tinker with the Bios myself. I used this guide back in 2016 to modify my Asus motherboard - still works like a champ. Instead of using the provided module, I pulled the one from X10DRC Bios. Right after I flushed the new bios, motherboard immediately picked up the installed NVME drive, didn’t even have to set UEFI only in boot settings (probably a good idea anyway). Here are my steps:

1. Download the latest MMTool (v5.02.0025) online. UEFITool was complaining about padding so I decided not to try my luck
2. Download the latest X10DRI and X10DRC Bios.
3. Load X10DRC bios in MMTool, find NVME module and extract as uncompressed
4. Load X10DRi module. According to the guide, we need to find CSMCORE module, but it wasn’t there. Well, it is not required. All we need it for is to find the correct volume to import to. Basically we need to import NVME module to the same volume as the rest of DXE modules. You can find bunch of them in Volume 1, so this will be our target volume (Volume 1).
5. Import NVME module as compressed into volume 1 and save the bios.
6. You can follow Supermicro instructions to flash the bios, but to be safe, I removed Boot block update switch from the batch file (remove /B from flash.nsh file).
7. Before flashing the modified bios, I flashed the original to update Boot block and kept it handy in case something went wrong. Recovery is pretty easy as long as Boot block is intact.
8. Bios flash will reset all the settings, so PCIe/PCI/PnP configuration → option ROM had to be set to EFI again for the correct PCI-E slot. Enable bifurcation if required and set boot to UEFI only.

That’s it.

hi

i have gigabyte h87-hd3 . is there any chance to use nvme ssd as a bootable windows drive ?

@m3222656 :
Welcome to the Win-RAID Forum!
Yes, it should be possible.
Regards
Dieter (alias Fernando)

@sazan123
Hello my friend,I wonder how you flashed your modded bios of M5A97 R2.0.

@gloobox Hello!
I flashed using USB BIOS Flashback.

my mobo and an asus sabertooth 990fx and also does not initialize a m2 samsung evo 960 plus nmve, what to do to be possible to start and install windows, I greatly appreciate any hel

@Pankajji : @shower :
Welcome to the Win-RAID Forum!

You can install Windows onto zje NVMe SSD (e.g. by following >this< guide, but you will not be able to boot directly off the NVMe SSD.

Since you got the entry "PATA SS" within the BIOS after having flashed the modded BIOS, there is no reason to restart the BIOS modding procedure.
You should succeed with a fresh Win10 installation onto the NVMe SSD by simply following my guide (= start post of this thread).

Regards
Dieter (alias Fernando)

@Rafick :
Hi, i’m new here. is there anyway to boot the “Windows Boot Manager” in Lenovo ThinkStation S30 automatically without hitting F12. Because i’m having the same issue here. Thanks

EDIT by Fernando: Fully quoted post replaced by directly addressing to the author of the related post (to save space)

@a4cheong :
Welcome to the Win-RAID Forum!
Which "same issue" do you have?
After having successfully flashed the correctly modded BIOS you should be able to get Win10 installed in UEFI mode onto the NVMe SSD.
Regards
Dieter (alias Fernando)