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

Hi!

I have just registered to this forum because I had some trouble following the tutorial in the beginning of this threat.
My MB in an ASRock Z87 extreme6. I had Bios V2.40 installed, but before trying to flash a modified BIOS I have copied back the B-Bios (2.1 in Board) to BIOS A, so now I have V 2.1.

I would like to add NVMe to the BIOS and attach an M.2 SSD (Samsung 960) via a PCIE adapter to PCIE4.

This is what I have tried:
1. I have tried adding the module, but ran into the “file size exceeds the BIOS volume size” error.
2. I have then deleted the “SataDriver” (Volume 02:01-02, Index 29) with mmtool and afterwards I could insert the NVMe module. After renaming the saved bios file to Z87Ex62.40 it was possible to select this file for flashing with Instant Flash from within the BIOS, but I couldn’t flash it because of a “Secure Flash Fail” error.
3. I then followed the procedure described here: [Guide] How to flash a modded ASUS/ASRock/Gigabyte AMI UEFI BIOS for asrock, i.e., I extracted the body from the original bios with UEFITool exe (thereby the filesize changed from 8.433.897 to 8.388.608, UEFTool 0.21.5 gives me this message: “parseImageFile: Aptio capsule signature may become invalid after image modifications”). Afterwards I have repeated the whole modification procedure with mmtool based on this file. When I now try to flash it with Instant Flash, the MB BIOS searches fir BIOS files on my USB drive, “finds” the modified “/Z87Ex62.40” file, but becomes irresponsive from then on, so I can’t flash or do anything else (Computer is irresponsive until restart, but clock (at the bottom of the screen) is still running).

Can somebody help me getting the modded BIOS flashed?

@vc20a :
Welcome at Win-RAID Forum!

This is what I recommend to do:
1. Run the latest version of the UBU tool (look >here<) and navigate to the BIOS, where you had inserted the NVMe module.
2. The UBU tool will automaticly check the most important BIOS modules and will automaticly remove the hidden header, which is responsable for the "Secure Flash Fail" message.
3. At the end the UBU tool will ask you how you want the BIOS file named (bios.bin or Mod_Z87Ex62.40). Choose the latter variant.
4. Rename the BIOS name to Z87Ex62.40 (without the "Mod_" before).
5. Flash the BIOS by using the Instant Flash tool.

You should have removed the slash ("/") as prefix of the BIOS name before trying to flash it.

Regards
Dieter (alias Fernando)

Thanks Fernando. the "/" is not part of the BIOS name, it is part of the message generated by the UEFI BIOS I see on the screen when I try to flash. I could solve the problem in the meantime: The Instant Flash module seemed to be broken in the 2.10 BIOS. I upgraded with Internet flash to 2.40 and from that version it worked smoothly.

Tonight I will then order the new M.2 SSD and I hope I will be able to boot from this device :wink:

Dear all,

Just wanted to report that I succeeded in getting a Samusung 960 Pro (1TB) bootable on a ASUS Z87M-Plus using Fernandos BIOS modding guide (or the guide from Overclock.net, which is based on Fernandos guide, respectively).

The original BIOS of the motherboard does not support NVMe drives and ASUS is not supplying it with an update.
I have to say that it’s not the perfect board for NVMe drives since for many the bandwith will be limited. If you’re not willing to sacrifice the only PCIe 3.0 (16x) slot, which many people use for a graphics card, the only other port that is available is the 16x PCIe 2.0 slot which will limit the theoretical bandwith to max 2 Gbyte/s or possibly even less if the second PCIe slot is used.

I used an adapter card from DeLock for the PCIe 2.0 16x slot to insert the 960 Pro.

As for how I did it:
Extracted NVMe.ffs, NvmeSmm.fss and NvmeInt13.fss from a ASUS Z97-Pro BIOS with NVMe support. Integrated these into the latest original BIOS of my Motherboard (1107) and flashed it via the ASUS Flashback feature (I was happy that my board supported this! Made things easier…).

First I had problems getting the drive to work since it did showed up in Windows but not in UEFI.

I made the following mistakes: Using GParted I copied the partitions from my old SSD’s but gave the 960 Pro a MBR instead of the GPT(I hoped for better compatibility which was wrong).

It ended up not being bootable. After some testing with active and passive partitions, I finally tried reinstalling Windows(which I would recommend anyway) and the upcoming error messages pointed me into the right direction.
All I had to do in the end was to use diskpart to clean the drive and convert it to a GPT.
Then the installation routine came up with the next problem, stating that my drive may not be bootable… Before I gave up, I tried disabling CSM in UEFI since I heard that this might cause troubles.
And boom! Windows 10 installation succeeded and now my machine is running on a super fast 1TB Samsung 960 Pro.

Thanks all the guys who helped me with their guides!

@d-Raven-b :
Welcome at Win-RAID Forum and thanks for your report!
It is fine, that you succeeded by following my guide and are now able to boot off a Samsung 960 Pro NVMe SSD with your Intel 8-Series chipset mainboard, which natively doesn’t support NVMe at all.

To make it easier for the visitors of this Forum to find all user reports, which are related to the start post of this guide, I have moved your post into this thread (without changing the title you had chosen).

Enjoy your NVMe SSD!
Regards
Dieter (alias Fernando)

That’s perfect! Whatever helps people most.

First time modding a UEFI to get something working that wasn’t intended by the manufacturer gave me a lot of gratification.
Would not have been able to do this without the help I’ve found here!

Thanks again!

Hi I have read this very interesting article

I am buying this product, waiting for delivery: Intel SSD 750 Series PCIe (i can only use for storage read below, this article claims it works for sandy bridge 2.0 which I have - btw. CPU is:SANDY i5 2500K @4.5 - but only as storage: https://www.pcper.com/news/General-Tech/…tibility-Tested)
Z77A-GD65 GAMING is the board: https://www.msi.com/Motherboard/Z77AGD65…l#hero-overview, from what I understand I need to inject ami uefi bios in it prior to follow the procedure?

I have two OS on two separate SSDs, win 7 and win 10, I think you are not allowed to make a second win 7 or win 10, it will not show up in booting options (I tested it yesterday and the second win 7 bootable just disappears, only if you make a different OS install you are allowed to have 3 bootable options I think, like vista or win 8), can you confirm this?
that said, since I can’t make a new win7 bootable does it make sense to do the full procedure for just a storage device? The benchmarks are going to show some interesting improvements?

best regards

@lucidstorm :
Welcome at Win-RAID Forum!

Since there is a specific thread about how to get NVMe SSDs bootable with mainboards, which natively do not support it, I have moved your post into it.
If you want to get the Intel 750 NVMe SSD bootable with your Z77 chipset mainboard, you should follow my guide, which is within the start post of this thread.

Wy do you want to do it? It doesn’t make much sense to install the same OS twice onto the identical system.

I have never heard about such limitation.

Why do you want to use the Intel 750 NVMe SSD as storage drive and not as system drive?
The best place for the OS is the best performant Disk Drive (SSD/HDD).

Regards
Dieter (alias Fernando)

Hi,

This past weekend I purchased a Plextor PX-512M8PeY PCI-E drive and installed it successfully into my Gigabyte Z87X-UD5H Motherboard. Was able to transfer the Nvme, NVMeSMM, and NVMEInt13 ffs files from the Gigabyte Z97X-UD5H into the Z87X F9 bios using UEFI Tool. I went as far as placing the files exactly in the same order of the newer mainboard. Not sure if that makes a difference but it couldn’t hurt and the result was my bios boot selection page listed the drive properly. Anyhow I had some difficulties getting Windows 10 installed upon it. I used the Win 10 download tool to acquire the Win10-64 iso file and used Rufus to create a GPT disk scheme. The problem I had was that the Windows 10 setup failed and complained that it could not install as the System partition was NTFS formated and that I should reformat it to Fat32 and try again. This was doomed to fail and no matter what I did I could not get it to install. Perhaps I should have let the Windows 10 download tool setup the USB key instead of Rufus I don’t know. So I was forced use Paragon Disk Manager to Migrate the existing Windows 10 install I had on an old SSD onto the NVME drive and this worked. I can boot straight into windows with no other drives attached.

Just a couple thoughts. I think the guide should detail the orginal technique Fernando listed by coping the three NVME files as the preferred way to mod one’s bios. Otherwise you won’t get performance benefits. Think the NVMExpress-Dxe file should be your last resort as it was for me on my Z68 Deluxe board as that original technique was just not compatible as the generation of mainboard to bios files were to far apart for success. In anycase this drive is amazing and feels faster than my 950 Pro drive I have in an X99 gaming rig with NVME support baked in. Funny story I wanted that Plextor drive to serve as my Steam drive with the 950 Pro being primary but Windows 10 would crash every time at the boot spinning wheel process. Must have been a hardware resource conflict or something with the 950 Pro…




EDIT:

Noticed tonight that I was able to boot into the Windows ‘UEFI OS’ from the bios boot menu with out having any NVME mods in the bios. I know this because I have a dual bios switch. The only difference is the physical drive name doesn’t show up in the boot menu. Not sure if this is because I have Ozmosis OSX boot loader installed in my bios but I don’t believe OZ has nvme support anyhow. Weird.

@davidm71 :
Thanks for your report and suggestions.

Have you done the related benchmark comparison tests? If yes, please post them.
According to my own tests the benchmark results were the same after having used both methods (inserting the Nvme+NVMeSMM+NVMEInt13 modules vs. inserting just the NVMeExpressDxE module). This was the main reason why I have removed the 3-modules-option from the start post some months ago. It is easier to insert 1 module than 3 of them and many BIOSes have only limited space for additional modules.

No I didn’t benchmark with the other single module installed but what is weird with this particular drive is that with NO Nvme support installed in the bios I was still able to boot Windows! The benchmark score was similar. Only difference was the physical device name didn’t show in bios but the Uefi name was still there. I’m sure I wouldn’t expect to install windows in the future that way but still this has me confused. My Intel 750 and Z68 board refused to boot or display the drive in the boot menu without that module installed. Perhaps it was the Ozmosis files. Can’t say…

@davidm71 :
Some NVMe SSDs (e.g. the Samsung 950 Pro) have an NVMe Option ROM within their Controller chip, which makes them bootable, if the OS will be installed in LEGACY mode.

I just wanted to announce I got my brand new Samsung 960 EVO NVMe SSD working with Fernando’s guide on my ASUS P8Z77-V LK (actually I followed the guide on overclock.net but it is based off this thread so I thought I should post here).

THANK YOU Fernando :wink: I just donated 10 EUR to your PayPal.

Problems that I encountered:
I downloaded the ASUS Z97 Pro BIOS image and extracted the three modules Nvme, NvmeSmm, NVMEINT13 using MMTool as uncompressed and inserted them compressed into the same volume as CSMCORE. Then I tried to flash the modded ASUS .CAP image file via ASUS EZ Flash tool, but it refused the file because it’s not signed by ASUS. And AFUDOS tool was also unable to write (even the older version with /GAN option). Unfortunately, this mainboard has no USB flashback functionality so my only option was to buy a cheap CH341A programmer off ebay from a local german dealer. I extracted the bios chip from the mainboard and using the CH341A software I made a backup image, which I modded like mentioned above. Finally I was able to write the image back to the chip. Now the UEFI was finally able to boot the SSD :slight_smile:
Also I disabled CSM in UEFI settings, because for me it’s not needed. And I had to install the Samsung NVMe driver 2.0 because the Windows driver was painfully slow in writing for some reason. By the way I am using the ASUS Hyper M.2 x4 Mini Adapter.

@brutzel :
Welcome at Win-RAID Forum and thanks for your interesting report, which may be useful for other users with a similar ASUS mainboard.

I am glad, that you finally got the Samsung 960 EVO working as bootable system drive with a Z77 chipset mainboard, which natively doesn’t offer any NVMe support.

Thank you for the donation and enjoy the performance of your new bootable NVMe SSD!

Regards
Dieter (alias Fernando)

so… hello, i hope i dont get hate now for my question,
but if i understand this wright i should just "download" the last bios from my board or extract it from my mb,
add the "NvmeExpress.DxE.ffs" ← like you told us here, and nothing should go wrong if i flash the modded bios to my mb.
the point why im asking here is… i dont have any hardware here to get back to original bios if something fails,

i got a asus maximus iv gene-z mb with z68 chipset - so if i did everything wright from your tutorial my bios should not be broken?

@flycon :
Welcome at Win-RAID Forum!

Yes, there is no reason to worry about a bricked system, if you follow my guide.
The addition of a natively not present module into the mainboard BIOS is much less risky than any update or modification of an original BIOS module. What may happen is, that the inserted module doesn’t work for your system, but in any case you will be able to reflash the original BIOS.

Good luck!
Dieter (alias Fernando)

so… my bios now “supports” my samsung 960 evo m.2 ssd, now i need to try to get windows working with it :smiley:
thank you very much for the guide, i love you xD z68 chipset (looks like nvme support confirmed :D)

edit: windows10 don’t want to run on the nvme ssd xD it hates me lol

Please explain, what happened.
I am pretty sure, that it will work.
Did you integrate or load the latest Samsung NVMe driver? AFAIK the Win10 in-box and the older Samsung NVMe drivers do not support the Samsung 960 Series SSDs.

I have a Asus P9x79 Pro motherboard and am trying to get a Samsung 960 Pro booting. Do I need to do the full procedure ? Or just upgrade to a later Asus BIOS ?



Asus P9x79 Pro, i7 3960X, 48GB DDR2 RAM, GTX670, samsung 960


From the above post it looks like I can just upgrade me BIOS to the latest version ?