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

@Jimmertwo :
Welcome to the Win-RAID Forum!

That is fine.
Questions:
1. How did you install the OS?
2. Does the original mainboard BIOS offers NVMe support or did you integrate the NVMe module into the BIOS?

The procedure is quite similar to the Win10 one. The only difference is, that Win7 doesn’t have a generic NVMe driver in the box. So you have to integrate or to load a matching NVMe driver (otherwise the Win7 Setup will not detect your NVMe SSD). I recommend to take the latest Intel NVMe driver v3.1.0.1009. The download link is within the start post of >this< thread.

Good luck!
Dieter (alias Fernando)

I would try doing USB install, but with modified/newer bootx64.efi file in efi/boot folder on pendrive itself (or using updated windows installer).
Here’s a link to archive with updated file : LINK

After the switch, installer should load and after you add NVMe driver (for Win 7 x64) to see the drive, the rest should be easy.

@up Actually, Win 7 SP1 baked to pendrive using rufus won’t work in UEFI mode without the above fix (even if USB/NVMe drivers are included).
At least that’s how my clean copy of it behaved when I tried to boot from it.

Thank you - Here are the answers you ask for.

1) I downloaded a Win 10 ISO image, created a bootable USB using Rufus, and booted the machine off the USB.
2) The original motherboard did not come NVMe enabled, so I updated the BIOS driver to v.3003 which supports NVMe.

Having done this, I could see Windows 7 files downloading on the SSD, I selected the language, and started the set up, but kept getting either of these warning messages:-
"Set up was unable to create a new system partition or locate and existing partition"
or
"No signed device drivers were found"

I will get the latest Intel driver, and report back here soonest.

Meanwhile, if any of you think of anything else that could help, then please do share this with me.

Sounds helpful, I will try this too and update here soon. Thanks.


Done with WinRar!

P9X79-PRO-ASUS-4801.rar (4.3 MB)

@DJ_KLIM :
Your moddded BIOS looks perfect. It should work and give your system full NVMe support!

Hello All,
Making some progress, but not there yet.

After updating INtel driver to v.3.1.0.1009 and replacing the Rufus bootx64.efi file with the NVMe Pack 1 bootx64.efi file, I have got to “Where do you want to install Windows”

This gave me 4 options, list in this order:
Disk 8 Partition 1: Recovery Total Size 450MB Free Space 96MB Type OEM (Reserved)
Disk 8 Partition 2 Total Size 100MB Free Space 71MB Type System
Disk 8 Partition 3 Total Size 16MB Free Space 16MB Type MSR (Reserved)
Disk 8 Partition 4 Total Size 372GB Free Space 347GB Type Primary.

I selected Disk 8 Partition 4 and got this warning message
"The partitions on the disk selected for installation are not in the recommended order. For additional information about installing to GPT disks go to the Microsoft website and search for GPT. Do you want to proceed with installation? Option of either OK or Cancel.

Please can someone advise what best to do.

EDIT by Fernando: Unneeded blank lines removed (to save space and for a better readability)

@Jimmertwo :
This is what I recommend to do:
1. Let the OS Setup at this installation stage delete (one after the other) all existing partitions of the NVMe SSD.
2. Choose the option “New” and let the OS Setup create a new partition on the SSD with the maximum size.
3. The rest will be done by the Win7 Setup by its own.
4. Install the OS onto the gratest of the available SSD partitions.

Thank you Fernando,

I am embarrassed to say that this has not worked, and feel sure it is me, so here are images of each step.
1)

P1180857.JPG


2)

P1180858.JPG


3)

P1180859.JPG


4)

P1180860.JPG


5)

P1180861.JPG


6)

P1180862.JPG


7)

P1180863.JPG


8)

P1180864.JPG


9)

P1180865.JPG


10)

P1180866.JPG


11)

P1180867.JPG


12)

P1180868.JPG


13)

P1180869.JPG


14)

P1180870.JPG


15)

P1180871.JPG


16)

P1180872.JPG


17)

P1180873.JPG


18)

P1180874.JPG


19)

P1180875.JPG


20)

P1180876.JPG


21)

P1180877.JPG


22)

P1180878.JPG


23)

P1180879.JPG


24)

P1180880.JPG


25)

P1180881.JPG


26)

P1180882.JPG


27)

P1180883.JPG


28)

P1180884.JPG


29)

P1180885.JPG




30)

I have also inserted the windows installation disk and restarted the computer. Try what I may, it always comes back to the black and white Windows Error Recovery screen. Do hope that someone can help me as to what i am doing wrong. Thank you all.

@Jimmertwo :
1. Make sure, that you are booting off the USB flash friive in UEFI mode (choose the boot manager option with the prefix: [UEFI]).
2. As I have written within my last post, you have to delete all shown partitions of the NVMe SSD, before you restart with the OS installation.

Hi,

Thanks for all your job.
I’ve done everything (motherboard Asus Maximus IV Extreme-Z and Samsung 960 Pro NVME).
After the upload of the new bios, I’m able to install Windows 10 on the NVME SSD.
But after the installation, at the first reboot, I have an error: winload.exe error code: 0xc000000e
I can’t do anything, the repair procedure doesn’t work.

If you have an idea.

Thanks.

Thanks again Fernando,
The BIOS is set as here.

P1180887.JPG


I deleted the partitions before installing Windows. See Image 18.
Then Windows created the new partitions. See Image 20.
But no luck.
Do you have any other suggestions please?

@Winczlav :
Welcome to the Win-RAID Forum!

The Windows Boot Manager resp. the boot sector of your system drive seems to be broken.
You can try to repair it by booting off your OS installation media and choosing the “Repair“ option.

Regards
Dieter (alias Fernando)

I allready try this, but it doesn’t work, it says: unable to repair.
I try the installation several times, but I allways get the same result

@Winczlav :
Since your problem (broken Win10 boot sector) has nothing to do with the topic of this thread, I recommend to do a Google search for a solution.
The last option is a fresh OS installation.

@agentx007 ,

What’s this modified bootx64 for inclusion into Rufus?

Please detail where and how it was used?

Thanks

@Wincvlav,

I had a similar problem trying to install windows onto a nvme on a z87. Ultimately I fixed it unplugging every usb device external hard drive and internal sata drives that were hosting OSX as the hfs partitions were throwing off the installation process.

Because Rufus creates faulty/bugged efi boot file when it’s trying to do a UEFI type pendrive from a vannilla Win 7 SP1 image.
I used updated file in my NVMe on PGA 478 project.
However instead of writing how I did it, you can simply watch how I used it.
I uploaded a video with whole thing to my Youtube channel :slight_smile:
Video link : LINK.
Of course, you don’t need the Clover or Hiren’s boot part - simply skip to Windows 7 pendrive creation near the begining.

Without the file, I always got “red code of fail” on manual Clover boot (and black screen when doing things from GUI).
I also checked if this file helps with native UEFI boards, and it worked fine for my Sabertooth X79.

PS. There is also another way of doing this.
However this one involves downloading a updater program for ISO image (it will only work on original/not modified Win 7 ISOs).
Here’s programs thread on PCLab forum : LINK.
This program can update Windows Installer on Win 7 to that from Win 8/10, on top of downloading all the updates and integrating them together with USB 3.0/NVMe drivers into a single ISO file.
Downside is ammount of time it takes to create a finished file.
I highly recommend doing this with SSD only (ie. source ISO file + this program + whole OS, should be on SSDs).

I recently managed to get my 960 EVO to work with Windows 7 and both Intel RAID and Asmedia AHCI controllers enabled on my ASRock Fatal1ty Z77 Professional motherboard (finally), whereas back in January I could only get Windows 10 to install without any controller issues. It even shows up as “Samsung 960 EVO 250GB” in the “Boot” section of the BIOS and in the Boot Manager menu (in the past it has always been shown as “PATA”).

Originally, I had modded the latest ASRock BIOS (1.70) by injecting the NvmExpressDxE_2.ffs module, and I discovered that I could only boot into Windows 7 on the 960 EVO if I disabled the Intel RAID controller and the Asmedia controller (Intel AHCI was okay). But because I have two RAID0 arrays on the Intel controller, and other drives connected to the Asmedia controller, my only option was to install Windows 10 (which I rarely ever use). So, for the last 8 months I have had a 960 EVO in my system that I could not use because I don’t like Windows 10.

Back in May, I sent my modded BIOS to another forum member that had the same motherboard as mine, and he later sent me a newer BIOS (1.70F) that he said he had just received from ASRock. I finally got around to testing it, and I noticed that it had a “SAMSUNG_M2_DXE.ffs” module like the 1.70D BIOS I had received from ASRock (no NVMe support). So, out of curiosity, I searched the 1.70F BIOS and my modded BIOS (using UEFITool) for the text “nvme” instead of “dxe” as Fernando’s tutorial mentions. My modded BIOS had one search hit, which was the NvmExpressDxE_2.ffs module I had injected. But the 1.70F BIOS from ASRock had nine search hits for “nvme”, so I immediately installed it and found that it worked with the Intel RAID controller and the Asmedia controller enabled with Windows 7 installed.

It appears that the additional functionality of this 1.70F BIOS is due to the nine instances of the text “nvme”, which my modded BIOS obviously lacks. Or is it just the module, and the nine “nvme” entries have nothing to do with it? The additional “nvme” entries are in the modules “nvme”, “nvmesmm”, “nvmeint13”, and “setup”. I can follow tutorials and research on the internet to figure out how to mod BIOS’, etc, but I don’t have a clue regarding the actual coding of a BIOS file. I opened several modules in a hex editor, but it was all Greek to me.

So, for those of you watching this thread that have some knowledge of BIOS coding, can these nine “nvme” BIOS entries contain important code for NVMe support (regarding Windows 7 and RAID, etc) that the “NvmExpressDxE_2.ffs” module does not have? I also noticed that the “NvmExpressDxE_2.ffs” and “NvmExpressDxE_3.ffs” modules are larger files with more code, but have less functionality than the 1.70F ASRock BIOS with the “SAMSUNG_M2_DXE.ffs” module and nine extra “nvme” entries.

Don’t misunderstand me, I’m really happy to finally have the 960 EVO fully functional with Intel RAID and Asmedia AHCI in Windows 7, and I wouldn’t have it working now without the help of this forum (thanks again for everyone’s help). But it appears that there may be more involved in getting full NVMe support for Windows 7 (with Intel RAID and Asmedia AHCI controllers enabled) than simply adding the one module.

For those of you having problems getting Windows 7 to boot after installing it (like I did), try disabling on-board Intel RAID (Intel AHCI is okay) and any Asmedia or other disk controllers. I have CSM enabled. The two Microsoft NVMe hot fixes must be integrated into the Windows 7 install media. Initially, I had to manually format my 960 EVO for GTP partition scheme at the beginning of the Win7 install using “Diskpart”, so make sure your SSD is formatted for GPT partition scheme (not MBR), and Win7 is installed in UEFI mode.

Out of curiosity I contacted ASRock support here in the US to see if they had the 1.70F BIOS. They still only had 1.70D (no NVMe support). So I contacted ASRock Europe, and they only had 1.70E (still no NVMe support). So I contacted ASRock Taiwan, and though it took them a while to respond, they had the 1.70F (with full NVMe support for my Z77 board, no modding necessary). So, when checking with the manufacturer of your motherboard for an NVMe supported BIOS (for older motherboards), check with all the different worldwide branches.

@Paulos7 :
Thank you very much for your interesting report.
I agree with you regarding the point, that only the mainboard manufacturer is able to compile a BIOS, which considers all possible dependencies between the different on-board Storage Controllers (AHCI/RAID/NVMe). A simple insertion of a single or a few NVMe modules into an original BIOS obviously works fine with Win10, but may have unwanted side effects for users, who are running another Windows OS.
Conclusion: If the mainboard manufacturer offers for your specific mainboard a BIOS with NVMe support, you should use it (instead of integrating any modules yourself).

The EFI module named “SAMSUNG_M2_DXE” is necessary to get Samsung’s AHCI mode M.2/PCIe connected SSDs working. The download link can be found >here<.