[Experimental] NVMe Option ROM

@Slava:
According to >this< post you were and obviously still are not able to boot off the NVMe SSD while using the Gigabyte GA-890GPA-UD3H mainboard with a customized old Award BIOS, where Ethaniel’s NvmeOpRom had been inserted by you. Since I was not able to help you, I gave you the advice to post your problem into this specific thread about Ethaniel’s NVMe Option ROM.
Now I read within your upper post, that everything is fine, if the NVMe SSD has been inserted into a PCIe x16 slot. If this should be true, it is very unlikely, that your problem has anything to do with your obviously correctly customized and inserted NvmeOpRom.bin file.

Good afternoon, Fernando. Yes, it turned out that the problem was in the boot order from PCIxE. That is, the problem remained, but I was digging in the wrong place.
By the way, this post helped a lot, as it said that someone from the forum was looking for an opportunity to link to a specific PCI-E slot, since his network card is inserted into the PCI-Ex1 slot. And I decided to try swapping the SSD and the graphics card. So thanks again. But it only worked with an Option rom downloaded from another site. With this
ss950-1.zip (10.3 KB).
Therefore, I think that maybe there is a way to boot from an SSD drive inserted into a PCI-Ex8. Perhaps someone has already encountered this here, and there is a solution to this problem.
Perhaps someone has already encountered such a problem here, and there is a solution to this problem.

Dagal

Good afternoon. I have a similar situation with the ga 890gpa ud3h rev2.1 motherboard as with your GIGABYTE GA-EP45-DS3P. But unfortunately I have only 2 full-size PCI-e slots: 1) PCI-Ex16, 2) PCI-Ex8. When I modify the bios using OPROMNvme.bin then, when starting the PC, the system does not reach the Bios, after downloading the system information, a black window opens with a flashing cursor in the left corner of the screen. If I change the video card and the NVME adapter in places, the bios is loaded and the SSD becomes visible in the list of devices. But I would not like to use my graphics card in the lower PCI-Ex8 slot. You may have found a way to switch the PCI-Ex8 slot to PCI-Ex4 mode or somehow disabled the CrossFire function. Or did your problem resolve itself when installing the SSD in the lower PCI-Ex8 slot and you decided not to change anything?

@Slava_1988
Your PCIe connection problem has nothing to do with the topic of this thread.
Since you obviously were able to boot off your NVMe SSD by inserting Ethaniel’s Nvme Option ROM into your mainboard BIOS, I recommend to start a new thread about your problems with the on-board ATI CrossFireX/Hybrid CrossFireX technology within the Forum Category “Interesting PC Hardware”.

Yes, Fernando, you may be right. I was just trying to write a reply letter to this message. But for some reason it didn’t work out.

Hello Slava_1988. I can’t say for sure, but I think that the reason for NVME not working in the second slot on older motherboards is precisely because the chipset shares the PCI Express x8+x8 lanes. The disk in the second slot also did not work for me. For the sake of experimentation, I bought a PCI-E adapter and inserted two NVME drives into it. Of course, two disks did not work; only one, which was the first one, worked. But this once again proves that the problem is in the second slot only due to the division of the chipset into PCI-E x8 lines.
In order for the second slot to work, you need to consume all 8 lines.

1 Like

Thanks for the information, Dagal. I think I should write somewhere on the website about this problem with old motherboards. Since this situation is not obvious. And it’s not described anywhere. Even here, I stumbled upon it by accident after rereading the entire more than half of the topic.

Hi all,
I have the same issue as @Sierra and @Mercennarius had. I have done everything as stated in the guides by fernando and others.
I did this with my the vendor (15B7) and device id (5011) and got “Option ROM configured successfully.”
Screenshot 2024-10-16 164541

After that, I followed this guide: [Guide] AMI (non-UEFI) BIOS Modding - BIOS/UEFI Modding / BIOS Modding Guides and Problems - Win-Raid Forum (level1techs.com), how to insert the edited Option ROM correctly for an non-uefi based ami bios with mmtool.
Screenshot 2024-10-16 164805
Screenshot 2024-10-16 165022

Afterwards, the bios was flashed successfully into my motherboard with a followed cmos reset (as some stated). In the bios options I can now choose the nvme drive, but its not booting of it… .
@Dagal did modify the bios for both of them and then it worked for Sierra and Mercennaries. Can someone help me out, what I am doing wrong? I have an Asus Rampage Extreme III Motherboard.

@hectorox
Are you sure, that you used the correct HardwareIDs of the NVMe Controller, when you customized the NVMe Option ROM?
It seems, that you have inserted the HardwareIDs of the SSD (listed within the “Disks” section of the Device Manager) and not the HardwareIDs of its on-board NVMe Controller (listed within the “Storage Controllers” section). If you want, that the NVMe Controller will be detected by the BIOS and by the Windows Setup, you have to add an Option ROM, which contains the HardwareIDs of the NVMe Controller.
If I am right with my suspicion, this is reason for the failure.

Hi @Fernando,
Yes, quite sure.

image

@hectorox
Ok, so my suspicion was wrong. You gave me the proof, that you customized the NVMe Option ROM correctly.
To be able to boot off the NVMe, the SSD needs a “Master Boot Record” (Legacy mode boot sector).
How did you try to get which OS installed?

Hi! Send me your mod bios, I’ll take a look.

Hi gokoum,
Wow, you are actually getting very good results with a pcie 2.0 board (I am only getting the ~half of your results), on which pcie slot did you connect your nvme? x4, x8 or x16? For me only pcie slot x4 works., if I try with pcie slots x8 or x16 the nvme will not be recognized :frowning: even so I bought an pcie adapter that should work with x16…

Thanks @Fernando, Thanks @Dagal
Fernando was right, MBR was the right hint, my drive was GPT (as someone here on the forum stated it needs to be GPT). I can now boot with the nvme to windows. Maybe this important information should be added in the first post.
Nevertheless, @Dagal, I am very interested what you are actually doing, when you mod the bioses, as it seems you are doing something differently or you are doing some extras. Why I am asking is, when you modded it for Sierra and Mercennaries, they could even see the names of the nvme drives in the bios. I only see a general info like " NVME 6:0:0:1" I dont mind, because its working now, but it would still be interesting.

Most likely, the problem is in the OROM you use, posted in this topic. I do not use it in bios modifications. All bios modifications I made to support NVMe are based on OROM from Samsung 950 Pro.

ah, ok, thats it.^^
Has someone done a performance check, which OROM might be better? If not, I could do one, if you share the samsung OROM with my vendor and device id added. Or does it only work for samsung nvme`s?

This works for most nvme.
Test it. Then tell me about the results.
OROM for NVMe VEN_15B7&DEV_5011.
NVMe_15B7_5011.rar (10.0 KB)

Thanks, @Dagal, worked like a charm and I can see the name of the nvme drive now in bios as well. The performance even seem slightly better than with the vmware OROM (my motherboard only supports max. PCIe 2.0 protocol). Take a look.
OROM vmware
nvme_pcie_x4_WD_SN810_1TB_OROM_VMW

OROM samsung
nvme_pcie_x4_WD_SN810_1TB_OROM_SAM

What do you think? I will try to order some other nvme pcie adapter from which I think I could get better results (?).

1 Like

Is this really Pci-e 2.0? Judging by the speeds, it seems to work on Pci-e 1.1.
What does DiskInfo report?

@Dagal, you are right!
DiskInfo says: Transfer Mode: PCIe 1.0 x4 (current mode), PCIe 4.0 x4 (supported mode), but the board definitely supports PCIe 2.0. The thing is, this is the only PCIe slot, which recognizes the nvme on my mainboard :confused:
I am using PCIe slot: PCIEX4_1 right now (seems like this slot only supports 1.0), PCIEX16_1 is the graphics card


I see I have reached the issue now you discussed above with Slava_1988… :smiley: That’s what I found for my board:

Expansion Slots: 4 x PCIe 2.0 x16 , support x16; x16/x16; x16/x8/x8 and x8/x8/x8/x8 configurations
1 x PCIe x4
1 x PCI 2.2