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

I have the same UEFITool problem as Singularity. I have tried all uncompressed and pre-compressed versions of NvmExpressDxE, same error "invalid UEFI volume" reconstructVolume: root volume can´t be grown.

I have Asus P8P67 rev 3.1 motherboard with 3602 bios. I really like to get this working with Samsung EVO 960 and PCIe-adapter. Can you @Fernando help me?

@Esdesk :
Welcome to the Win-RAID Forum!

AFAIK Singularity has solved his problem.
Regarding the specific error message you got I recommend to read carefully the start post of this thread. There you will find a link to an advice given by CodeRush how to solve the DXE Driver Volume space problem within the BIOS.
Furthermore you should have a look into my new guide about how to work with the UEFITool. It is within the start post of >this< thread.

@Singularity
@Esdesk :
Since it doesn’t make much sense to have different threads about exactly the same topic, I have merged your posts and the related discussion into this thread and hope for your understanding.

Regards
Dieter (alias Fernando)

I wish to thank Fernando and other active members of win-raid forum, who helped me and many other members,
and to inform interested, that I managed to install a MyDigitalSSD BPX M.2 PCIE NVMe MLC SSD, 240GB, as a
bootable drive (Win 7 x64 Pro) on a Gigabyte H97-D3H motherboard, with a latest BIOS.

I used a simple, $12, Chinese PCIe M.2 adapter (with a fan!), because M.2 SSDs are know for high working
temperatures. I ordered it by Ali-express, from Hong Kong.

I did not do any BIOS modding. This is what I did :
I installed Win 7 x64 Pro by using UEFI USB OS installation (made with Rufus - with GPT partitioning) on my regular
SATA SSD. Then I cloned it to a M.2 SSD (with Aomei Bacuper), disconnected my standard SSD, rebooted PC, adjusted
my bios to boot from a new Microsoft boot manager, and rebooted. Wola…

It sounds very easy, but it took days in reading, learning, trying… all because MS does not respect us, consumers,
and implement necessary drivers in Windows.

PS: A working temperature of BPX SSD is about 20C higher then standard (950Evo) SSD. In my good ventilating
case, on a PCIe adapter with a fan, it is around 40-50C.
I saved a lot of time by implementing a Win 7 ISO (from internet), with integrated NVME, USB3,… drivers und updates.
If you do not find one, you have to do a full system update (to get MS hot fixes for NVME, etc.), before cloning.
For the UEFI OS instalation and activation, I strongly recomend useing a Pro or Enterprise OS versions, and skip Ultimate OS version.

@AquaMan :
Thanks for your report - it is fine, that you finally were able to get Win7 bootable off your NVMe SSD.

So the required NVMe EFI module has already been present within the original mainboard BIOS?

Yes Fernando.
Gigabyte claims that H97-D3H supports M.2 NVME SSDs, but does not list MyDigitalSSD BPX M.2 PCIE NVMe MLC SSD
as a compatible drive. Not to mention all disadvantages of Widows 7 installations for booting on M.2 NVMe SSDs.

MyDigitalSSD list H97-D3H as M.2 NVME compatible motherboard.

I did not find anyone who reported successful booting of Widows 7 on a H97-D3H and a MyDigitalSSD BPX M.2 PCIE NVMe MLC SSD.
I think that in this kind of experiments, cloning a fresh SSD installation has a certain advantages over fresh install. At least for me.

Just added the NvmeExpressDxE v3 to my gigabyte x79-ud5 bios and it works perfectly. SAMSUNG nvme ssd sm961 could boot in to windows 10.

mb_bios_x79-ud5_f13w_nvme.zip (3.63 MB)

1 Like

@alamise :
Welcome to the Win-RAID Forum and thanks for your feedback!
It is fine, that you were able to use your NVMe SSD as bootable system drive without any problem.
Regards
Dieter (alias Fernando)

Another success story!
I have an ASRock Z68 Pro3-M motherboard and inserted the pre-compressed NvmExpressDxE_3 module into the BIOS (other existing dxe modules in the BIOS were compressed so I added the pre-compressed NVMe version to keep things the same).
The NVMe I’m testing with is a Samsung NVMe 960 EVO 500GB and I’m using one of the cheap black $5 PCIe M.2 NVMe cards from ebay China.

Windows 7 installed without any issue and it boots just fine from the BIOS.
The only pre-requisite change I made to Windows 7 source was to add the Samsung NVMe driver into the BOOT.WIM file. It is not necessary to add the NVMe drivers to the INSTALL.WIM because the Windows installation automatically copies it from the BOOT.WIM source.
Below is the installation SetupAct.log where the driver was copied to the image from the X: drive where BOOT.WIM is extracted:

2017-09-20 16:20:27, Info IBS LookupDeviceIDsInInjectedDriverPackage:Found the device ID in the injected driver list.
2017-09-20 16:20:27, Info IBS LookupDeviceIDsInInjectedDriverPackagesList:Successfully marked the driver package [X:\windows\System32\DriverStore\FileRepository\secnvme.inf_amd64_neutral_aa42271d822862f0\secnvme.inf] to be injected into the image.

In the past I tried injecting the MS Windows 7 NVMe patch into the BOOT.WIM / INSTALL.WIM but found it would detect the Samsung NVMe during setup, but did not recognise the capacity (just said the drive was 0GB).
The Samsung NVMe driver alone worked and is all that’s needed.

The only side effect I noticed of adding the NVMe dxe module to the BIOS is I also get a “PATA:” device listed in the BIOS boot order (there’s no PATA on this mobo).

[Edit, I just installed Windows 10 build 1703 and all works fine too]

Many thanks Fernando!

@Quench :
Welcome to the Win-RAID Forum and thanks for detailed report, which may help other users.
It is fine, that you succeeded byfollowing my giode and got everything working as it should.

This is what all BIOSes show, which natively do not support NVMe, but this doesn’t have any negative effect on the function and performance of the NVMe SSD.
Enjoy the speed of your NVMe SSD!

Regards
Dieter (alias Fernando)

It is strange, but I can’t unpack NvmExpressDxe_3.rar file with 7-Zip, any clue. Generally, I already used NvmExpressDxe_2.rar to modified Supermicro X9DAE BIOS for (Samsung 960 Pro) successfully with very gut result, but after few days when I accidently destroyed RAID 10 massive on LSI MegaRAID SAS 9361-8i, workstation after pressing power button stuck with Welcome screen and B2 error in right bottom corner. No chance to get into BIOS, or boot in DOS, or even recovery mode (CNTL+Home buttons). Finally, I order BIOS chip and installed new chip and I can get access in to BIOS and so on except SSD. I modified BIOS again with same file NvmExpressDxe_2.rar and got access to SSD, but when I connected to SATA port DVD R/W drive on motherboard, I got immediately same problem. After pressing power button can’t BOOT computer and stuck on Welcome screen with B2 code. Any idea what’s going on and what I did wrong? It is looks like conflict between LSI and INTEL RAID modules when NvmExpressDxe_2.rar inserted. I would like to try your NvmExpressDxe_3.rar files, maybe it can help to resolve it or maybe you can advise something else. I can’t upload BIOS file with with extension .923

Well, it’s been a couple of weeks since I modded my Asus Sabertooth Z87’s BIOS and all is fairly well. The only problem is that even though I have “System Restore” turned on in Windows 10, and have created a restore point, I always get an error when I try to restore. Is this possibly something to do with having Windows 10 installed on my NVMe drive and it being the boot device? Anyone else have this issue? Otherwise, it’s working great.

@ezab :
Welcome to the Win-RAID Forum!

Why don’t you use the original tool, which has been used to archive the package? WinRAR v5.xx would be a good choice.

Does your mainboard offer non-Intel SATA ports? If yes, I recommend to connect your Optical Drive to one of them and swith the SATA mode of the related Controller to IDE.
Some Optial Drives hate to run in AHCI or RAID mode.

No, but you can attach the BIOS file after having archived it by using WinZip or WinRAR.
Regards
Dieter (alias Fernando)

Thanks for quick respond.
I followed your advised, changed modified BIOS v. 3.2 with updated NvmExpressDxe_3.rar files, switch the SATA to IDE, but any way after few restarts boot stuck at B2 code. I will have tried to flesh BIOS of LSI card, maybe it is problem, but very strange situation. Lucky, I order 10 empty BIOS chips about $1.00 each and able to play around with BIOS update after each stuck with B2 code. What I found, BIOS chip still alive and I able flesh it again with SOFI SP8-B programmer, it is mean more likely BIOS corrupted for some reason from peripheral devises (USB, DVD R/W, LSI card). Could you please check if something wrong with my BIOS modification?
Best regards.
Eugene.

Boot.PNG

Boot1.PNG

Boot2.PNG

Boot3.PNG

Boot4.PNG

Boot5.PNG

Boot6_Stuck.PNG

Original_BIOS.rar (3.11 MB)

Moded_BIOS.rar (3.12 MB)

@ezab :
The modded BIOS looks fine. I cannot see any mistake.
So I suspect a wrong BIOS setting.
My advice: Reset the CMOS, set all BIOS settings to DEFAULT and then redo your persoal BIOS settings.

Unfortunately, CMOS reset doesn’t help in my situation, after CMOS resetting it still generated B2 code. Anyway, after LSIMEGARAID SAS 9361-8I card BIOS had been updated with last firmware version M/B looks like working without stuck. I hope and fingers cross.

Hello, thank you for your guid.
I have an asus P8Z68-V/GEN3.
I follow instructions to mod the bios, then I installed windows 10 but the m.2 disk is slower than when i used it on my laptop (and slower than my SSD 840 pro).
I installed the pcie adapter on a PCIe x16 (x4) port.

Benchmark on my laptop : http://www.userbenchmark.com/UserRun/1864413
Benchmark on my desktop computer using Samsung pro 840 : http://www.userbenchmark.com/UserRun/5100704
Benchmarj on my desktop computer using mvme’s laptop disk : http://www.userbenchmark.com/UserRun/5136646

In addition, i got yellow flag on my peripheral manager : https://imgur.com/a/KDAJ2

Do you think I did something wrong?

@theophile76 :
Welcome to the Win-RAID Forum!
If you want to compare the performance of an SSD within a different environment, you should use an appropriate tool like Anvil’s Storage Utilies or AS SSD.
Questions:
1. Which NVMe SSD model did you use?
2. Which NVMe module did you integrate into the BIOS?
3. Into which PCIe slot did you insert the M.2>PCIe adapter?
4. Did you install Win10 in UEFI mode?
5. Which error message shows the yellow flagged “Standard SATA AHCI Controller” after having done a right-click onto it and chosen the “Properties” option?

Regards
Dieter (alias Fernando)

Anvil’s storage Utilites restult : https://imgur.com/a/uKFmg

1. Samsung SM951 NVMe PCIe M.2 256GB (MZVPV256HDGL-00000)
2. NvmExpressDxE_3 module
3. PCIe 2.0 x16 (mode x4, [black]) : https://imgur.com/a/FRR1g
4. Yes, I have selected "UEFI [my usb device name]
5. Ce périphérique ne peut pas démarrer. (Code 10) Une erreur d’E/S matérielle de la carte s’est produite. (google translate : This device can not start. (Code 10) A hardware I / O error on the card has occurred.)

Thank you

@theophile76 :
Thanks for having answered to my questions.
I got a very similar issue while testing the NvmExpressDxe_3 module (look >here<) and was able to solve it by doing a fresh OS installation (look >here<). For more information you should read the posts between the linked ones.
EDIT:
The reason for your bad Anvil WRITE scores is, that you haven’t enabled both WRITE CACHING options of the SSD.
My tip: Run the Device Manager, expand the “Disk drives” section, do a right click onto the listed NVMe SSD, choose the options “Properties” > “Policies” and check both options.
After having done that, you will get much better WRITE numbers.

Thank you for reply.
After fresh install, same problem.
I dont realy know what to do…