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

Hello, Fernando.

We have an interesting discussion on overclockers.ru about mention of the Variant c)

We have a several general questions:

- Is there ability of “cross-module” updating: Can user change an implemented MVMe module by manufacturer to the Variant c) module w/o having problems ?
What mean exactly: “which natively do support NVMe” ?

- What are the benefits of GUID header self-sufficiency ?

- Which are an essential steps, user can do to Define -> Search -> Update of the already existent module using UEFITool ?
Is “above ‘Volume free space’” the right place for insertion in that case also? (But not the place of exisent module?)

I guess, first, user have to Search existent module in the “Text” column by “NvmExpressDxe” line.
Then delete the old one and insert the new one above ‘Volume free space’. Right?

This info will help much to provide nice FAQ on the overclockers.ru forum for all users. Thank you!

Kohina definitely would like to know the results of how it turns out for you, I too am not a win 10 fan but I think eventually they will force us there. Look forward to hearing your positive results.

What do you mean with “Variant c) module”?

These systems are natively able to boot off an NVMe SSD (provided, that the BIOS settings are correct and the OS contains a matching NVMe driver and has been installed in UEFI mode.

The BIOS of mainboards with native NVMe support show more details about the NVMe SSD within the UEFI BIOS.

I would search within the DXE Driver Volume for modules with the word “NVMe” as part of its name.

Already existing DXE Driver modules have to be updated at their location. Natively not present NVMe modules have to be inserted behind (after) the undermost DXE Driver module.

Sorry, I mean c) = "pure" (my bad)
But the question about "cross-module" updating of "pure" over "existent NVMe by manufacturer" is our main question.
Is here any problems being expected?

What are the benefits of: “without any GUID header” technically?
I guess, GUID doesn’t matter, if I have already modded DxE Driver inside the BIOS and going to update “PURE” NVMe module using UEFITool within the *.efi body only:
>GUID… → PE32 image section → RMB → Replace body… → NvmExpressDxe_3.efi
The real important thing is updating 3rd-to-3rd Party Driver to newer/older version (permitted), not Manufacture-to-3rd Party Driver (restricted).
Right?

Is a situation possible, when the new inserted “DxE Driver module” will appear bigger in size, then the old one?

Harry, your suggestion was the key absolutely as I am typing this right now from my Server 2008 R2 install from the NVMe drive!

Just for the record I would like to document this properly in case anyone comes across it:
http://support.microsoft.com/kb/975535/
These three supporting hotfixes were integrated too using NTLite but I am not sure that they are required: KB979374, KB2990941 and KB3087873.
The only fact that I know is that KB975535 was the absolutely critical hotfix to solving this and the manual integration steps on the KB page must be followed as it is a .cab file and cannot be simply integrated using NTLite.
If you’re wondering how to get the obscure programs noted in the hotfix “OSCDIMG.exe” and “ETFSBoot.com”, they are in this package:
https://www.microsoft.com/en-us/download…ls.aspx?id=5753
I used the AMD64 versions of these files, of course.

The BIOS Settings were NOT set to “Disabled CSM” as the error noted previously occurs. Server 2008 R2 WILL NOT fully support the CSM Disabled Full UEFI, but it doesn’t matter anyway.
It will work with the “CSM Enabled” and “UEFI Driver Load First” option.

The easiest way is to get the Samsung NVMe drivers on the install USB key so you can just load them during the initial setup as even integrating the drivers to the install DOES NOT make the NVMe drive appear magically. They must be manually loaded and then the drive will appear.
After that, no special steps, Windows installs successfully then when it reboots, the “PATA SS:” option that was originally in the BIOS turns into “Windows Boot Manager (Samsung… etc)”.

@Kohina :
Congratulations on your success and thanks for your report about how you managed it (with Harry’s help) to get Windows Server 2008 R2 installed onto your NVMe SSD.
Enjoy the performance of your updated system!

@Fernando
Hello there. I tried to mod bios for Asus Rampage III Extreme x58 mobo but i fail at the very begining… When im trying to open the lastest bios file from Asus site (RampageIII-Extreme-ASUS-1502.ROM) in UEFITool im getting im getting "UEFI volumes not found" error. Does it mean that this mod cant be done for that mobo?

@kbi :
Welcome to the Win-RAID Forum!

Only mainboards with an AMI UEFI BIOS are supported by this thread and its guide (=start post).
Your mainboard has an X58 chipset and a LEGACY BIOS without UEFI options. That is why the UEFITool gave you the message “UEFI Volumes not found”.

Yes, but nevertheless you may be able to get limited NVMe support for your system, if you follow >this< guide.

Good luck!
Dieter (alias Fernando)

@Fernando and @davidm71 :
I was able to create a small NvmExpressDxe driver significantly reduced in size.
Could you please help with testing and providing feedback on the results.

@Ethaniel :
As already promised, I will test it as soon as I have the required time.

Hey Fernando, been put onto you by a bloke who got his Z68 modded to run NVME etc. This is the first I have heard of it.
I run an Asrock Z68 Extreme7 Gen 3 and 2600K.
I would love the support added for all the good stuff!
Apologies if this has already been done, I did a forum search for my board and came up empty for this result.

>Zel- I tried having a life once. But when it asked me to pay $2.99 for more features I uninstalled it.

@ZelWinters1981 :
Welcome to the Win-RAID Forum!

Just follow my guide, which is within the start post of this thread.
Don’t forget to let the UBU tool remove the hidden BIOS header, before are going to flash the modded BIOS (otherwise you will not get your modded ASRock BIOS successfully flashed).

@all:
Update of the start post
Changelog:

  • new: uncompressed and pre-compressed “NvmExpressDxe_Small” modules dated 03/20/2018
  • These modules have been compiled by our Forum member Ethaniel and successfully tested by me (look >here<)

A big thankyou goes to Ethaniel for his brilliant work!

Enjoy it!
Dieter (alias Fernando)

Hi Everybody,
First of all, I want to express my admiration for this wonderful forum, complete with useful guides and to ask for your help in solving my problem.
I’m trying to install SSD Toshiba THNSN5256GPU7 NVMe PCIe M.2. at the ASUS ROG STRIX b350-f GAMING motherboard. The SSD drive is not visible in BIOS and Device manager. I tried to follow the first page guide and modify the bios, but when I opened the BIOS file with UEFITool, I not see the “BIOS region”, and in the bottom end of the program window there is “parseBios: one of volumes inside overlaps the end of data” message.
Where I am wrong?

I apologize if I have written on the wrong topic. I will appreciate if you point me where to look for a solution to my problem.

Regards!

@Gedo :
Welcome to the Win-RAID Forum!

There is nothing to apologize from your side. It is me, who made a mistake. I thought, that you had sent me a PM - by bad. I beg your pardon.
Now to your problem: Since your mainboard is brandnew (has an Intel 300-Series Chipset), there is nothing to modify within your mainboard BIOS. I just have checked the latest BIOS 3803. Result: It fully supports booting off an NVMe SSD.
So all you have to do is to follow point 6 of my guide (= start post of this thread).
Don’t forget to unplug all other Disk Drives and choose the related BIOS settings, before you start booting in UEFI mode off the USB Flash Drive with the OS Image.
Provided, that you have inserted the SSD correctly and didn’t disable the related port within the BIOS, the SSD should be shown within the BIOS and later on within the Device Manager of your freshly installed OS.

Good luck!
Dieter (alias Fernando)

@all:
Update of the start post
Changelog:

  • optimized: uncompressed and pre-compressed “NvmExpressDxe_Small” modules dated 03/23/2018
  • These modules have been compiled by our Forum member Ethaniel and successfully tested by me (look >here<)

A big thankyou goes to Ethaniel for his brilliant work!

Enjoy it!
Dieter (alias Fernando)

Dear friends,

I need help. I would like to add Nvme support on Asus Sabertooth 990FX R.2/GEN3.?

- Asus Sabertooth 990FX R.2 have Nvme support and Pci-e boot with last bios version 2901. Previous version of bios is 2501 (no Nvme). This motherboard have Pci-e 2.0 (not enaugh for full speed Samsung 960 pro).
- Asus Sabertooth 990FX R.2/GEN3 have Pci-e 3.0, but Asus dont make 2901 bios version for this motherboard (No Nvme support). Last bios for this motherboard is 2501.

Can I flash Sabertooth 990FX R.2/GEN3 with 2901 version? Is it safe?
If that is not possible can I insert modules (Nvme, NVMEINT13 and NvmeSmm) from Sabertooth 990FX rev2 bios 2901 to bios 2501 of Sabertooth 990FX rev2/GEN3?
There may be another way?

Sincerely

@Necinem :
Welcome to the Win-RAID Forum!

Since your problem has nothing to do with the Subforum “Storage Drivers”, I have moved your post into this already existing thread.
Please read the start post of this thread carefully and follow my guide. I am sure, that your system will get full NVMe support this way.

Good luck!
Dieter (alias Fernando)

@all:
Update of the start post
Changelog:

  • optimized: uncompressed and pre-compressed “NvmExpressDxe_Small” modules (now dated 03/26/2018)
  • These modules have been compiled by our Forum member Ethaniel and successfully tested by me (look >here<)

A big thankyou goes to Ethaniel for his brilliant work!

Enjoy it!
Dieter (alias Fernando)