[Experimental] NVMe Option ROM

Update to my Award BIOS / Gigabyte Board project:

I’ve finally been successful !!! But I had to switch to a different SSD, though.

A friend of mine borrowed me some hardware to play around with.
He gave me a Samsung 970 EVO Plus 1tb drive and also a Gigabyte GA-X58A-UD5 Mainboard.

First I’ve tried everything I’ve done yet again but now with the X58 Board to clarify if some errors are due to that specific mainboard I own. But the results were the same as with the GA-P55A-UD4

Second I took NvmeOpRom.bin and customized it for 970 EVO Plus using OpRomCfg.exe
But after flashing there was no SSD showing up in BIOS

Then I modified the 950pro OpRom to match the 970 EVO Plus

This time the NVMe drive shows up in BIOS and Windows boots within seconds !

As for the long boot time with the Micron drive I can think of two possible reasons

Either:

Although the Micron Drive is operating pretty well with AMI BIOS / NvmeOpRom.bin
there might in fact be some kind of fault within that drive that prevents it from working porperly with Award BIOS / 950pro oprom

Or:

The original 950pro oprom in general doesn’t play nice when it’s assigned to a non-Samsung-manufactured drive

Can you think of any other possible reasons?

Unfortunately I have no other drives laying around to do more testing and currently I don’t want to invest my money in buying just a random SSD that might work or might not.

Maybe one of you could do some more testing?

Maybe @cmz ?

I’ve modified 950pro oprom to match 1C5C/1327
(according to a quick Google search this should be SKhynix BC501. Is that correct?)

1C5C-1327.zip (10.3 KB)

If you want you can patch this into your BIOS file and give it a try.

But as always everything you do is on your own risk. I am not responsible if something goes wrong.

If you try it please tell me your results afterwards.
If it works I’ll be willing to share my knowledge and the exact procedure I went through to make it work

Regarding NvmeOpRom.bin patched to Award BIOS not seeing any drive at all I have no idea. Maybe it’s just some kind of obscure yet frustrating unexpected misbehavior you have to expect when dealing with Award BIOS modding

1 Like

when i try to load bios to flash it in ez flash … cames this mensage :
boot block in file is not valid !!!

ok i try put file rom in pen drive usb and is working prefect. !!
this is GREAT !!!
Fantastic work!!
Thanks a lot !!!

1 Like

Now I have rescued some Intel dx58so motherboards, so can the bios be modified so that NVME boots from the bios?

You can…but this time only with a CH341 programmer, there’s no other option confirmed for mod flash on this model (Intel boards), if i can recall it correctly.

@Sierra
I added the rom in the link and when I tried it, the computer hangs after the boot screen while the card is inserted into the PCIE slot. While I continue my research, I can get an SSD belonging to one of the roms here “https://winraid.level1techs.com/uploads/default/original/3X/5/b/5bec3b7504fc5ba9de1ab1d1af8a47a7403560d2.png” and try it. These roms must be ready working roms and if you try one of these SSDs with a suitable rom and it works, I can take a shortcut and continue with this SSD. If it doesn’t work, then the problem will be a little deeper.
thank you for the file

@c3rb3r0

Congratiulations! You’re welcome!

If you ever wish to change your NVMe drive you can try - if you want - to apply the mod yourself by following > this < guide by communitymember @eierhals

Did you flash the first or the second BIOS file I’ve posted?

@cmz

In the linked screenshot I see 144D_A808.bin

These are the IDs of the Samsung 970 EVO Plus drive I was able to get it to work.

Your screenshot refers to one of the BIOSes from >this< TechPowerUp Forums thread

I’ve downloaded one of them (GA-X58-UD5 Rev1) and extracted 144D_A808.bin

It seems to be the original 950pro oprom as well.

When I compare it with the file that I have created for my 970 EVO Plus, they are almost identical.

There’s only one exception:
The very last bit at offset 0x45FF

Seems that the creator of that BIOS performed no checksum correction.
checksum-8 reports 06

0x45FF still contains the original value of 80 while I corrected it to 7A in order to get checksum-8 = 00

However, I flashed this rom to my BIOS and surprisingly it worked though.

NVMe gets recognized and boot time is good although checksum is 06

I would have expected that my system would freeze after POST and wouldn’t let me enter the BIOS if checksum is not 00, but it’s working fine instead

As for you, unfortunately I have no idea why your system freezes when you flash the file I made for your 1C5C/1327 device

I guess there are some Motherboard / SSD combos that don’t play nice together
or maybe some SSDs that work better with original 950pro rom than others

I assume that the devices that are patched into that BIOS from TechPowerUp Forum work fine and my personal 970 EVO Plus works fine, too, while my Micron 2300 gets recognized as a boot drive but is booting ultra slow.

What is the exact brand / model of your SSD ?

You’re right, legacy bios and compatibility are a matter of luck. I am adding the ssd model I use

1 Like

hello, I just recovered an EVGA X58 SLI LE (141-BL-E757-TR) motherboard and I would like to update the bios so that I can boot the operating system from the NVme drive.
The last bios version is : http://cdn.evga.com/bios/x58/E75783.bin

and the HardwareIDs of the NVMe Controller, is :
https://tecnicobenidorm.com/site/nvmem2.jpg

I would really appreciate your help with the modified bios.

Greetings to all the people who make this forum so great


Edit by Fernando: Thread title shortened and customized

@c3rb3r0
Since your mainboard is a very old one with an Award non-UEFI BIOS, I recommend to add Ethaniel’s NVMe Option ROM according to >this< thread.
As first step you should download and unzip the NvmeOpRom.zip, which is offered within the start post, and then try to customize the OptionRom using the HardwareIDs of the NVMe Controller of your NVMe SSD.
Once this is done, you can upload it for a check before going to integrate the customized NVMe Oprion ROM into the mainboard BIOS. This picture shows the current content of it:

Good luck!

1 Like

i descompres it … and i do this comand : OpRomCfg.exe NvmeOpRom.bin 1E4B 1202
it says : Option ROM configured successfully.

and now can i flash my bios with this file NvmeOpRom.bin ??
or do I need to do something else before ??

very thanks for your help and respond so fast

i open bin on HxD and i see this is ready inserted :
https://tecnicobenidorm.com/site/NVmeoprommod.jpg

@c3rb3r0
It is fine, that you succeeded creating a customized NVMe Option ROM module.

Step 1: Integrate the customized NvmeOpRom.bin into the original BIOS by using the CBROM tool.
Step 2: Flash the modified BIOS into the BIOS chip of your mainboard.

Morning !!
First thank you for your help. But now is where the most difficult process comes, right? , at least for me. I have never used the CBROM TOOL.
I have been looking at the guide a little : [Guide] Award/Phoenix BIOS Modding
and here I have many doubts, there are options that I don’t know exactly the steps to follow.
Would you be kind to tell me what steps I have to follow with the CBROM TOOL?
I wouldn’t like to make any mistakes, since flashing a bios could kill my bios and cause the motherboard to not work.

@c3rb3r0
Only the flashing of a modded BIOS is risky, not the BIOS modification procedure itself.
If you have read my Guide, you should have found the command, which is required for the integration of a natively not present Option ROM module:

CBROM.EXE <name of the mainboard BIOS file> /PCI <name of the PCI ROM file>

You can verify yourself the result of your BIOS modification by executing the command

CBROM.EXE <name of the mainboard BIOS file> /D

Before you are going to flash the BIOS, you can attach it here. This way I can do a look at it.

wow, it seems easier than I thought… okay, I think I already have it created, the bios appear, 3 files appear, I attach links and you can confirm. Thank you.
https://tecnicobenidorm.com/site/bios.rom
https://tecnicobenidorm.com/site/E75783.bin
https://tecnicobenidorm.com/site/original.tmp

Your linked modded BIOS file named E75783.bin seems to be fine.
For which purpose did you send links to the files named bios.rom (that is not the customized NvmeOpRom.bin!) and original.tmp (what sort of file is that?)?

These files were created by themselves when I used the CBROM tool and since I didn’t know what they were for, that’s why I sent you links…
thanks .

@c3rb3r0
Have you already flashed the modded BIOS?
If yes, are you able to get Win10/11 installed onto the NVMe SSD?

No, I haven’t done it yet.
I will do it tomorrow, now I am creating the USB Pendrive with the AWDturboflash so that the USB can boot and I can flash the bios. As soon as I have it ready and working I will let you know.