Another legacy NVME request, with a twist!

Hey @Fernando @Lost_N_BIOS and @ someone else who I can’t seem to find in the list of tabs and form pages I currently have open…

I have legitimately been trying for months over the last year to mod my GIGABYTE X58A-UD5 FE5 Bios to allow NVME, I’m using Duet at the moment, since Clover does some spooky thing with my power where all my USB’s don’t get powered down and when I turn the system back on would restart post bios screen, and after a week or two my computer stopped booting out of the blue and was unable to use my XMP profile at 1600MH/z.

Now some issues with DUET at the moment are I can’t use 2 GPU’s due to not enough memory allocated or something (something to do with “Above 4G decoding” I’m guessing) and duet will also fail to load if I have my onboard USB 3.0 ports enabled (even if they aren’t being used) that and it doubles my post time, so I’m really keen on hopefully modding the hybrid efi bootloader to load the NVME.

Now, I recall somewhere in the months of on and off research someone requesting some for of mod to a X58 bios, i couldn’t remember what they were modding so I haven’t been able to find it again (it was in this form though I’m pretty sure, I’m sure one of you helped with it XD), and they couldn’t open the bios file in the program they were supposed to because it was a hybrid bios, they needed to open it into a different program (which from memory was something like NotePad++), remove the last -insert random hex/header/something here- save it, then load it into the program to mod it. That random stuff that I sort of remember I THINK was the hybrid efi section of the bois, I’ve read around that the Hybrid EFI actually gives the OS everything that it would expect from a EFI/UEFI system with programs like HWINFO detecting that it is one, so wouldn’t it be possible, to insert a efi NVME module into the efi section of the hybrid bios to boot the SSD? If so, couldn’t this in theory give “native” NVME to any board that supports hybrid efi? ← this is the dream

The plan was to do this by my self, and just pop out of nowhere like “sup, I have a thing” but right now I’m actually lost with how to open the bios file to start with, since I’ve lost the info I had -.- so now I’m here asking for help XD

@ShadowsNight - Your board is not UEFI BIOS, so there is no way I know of other than Duet/Clover type methods
As for your issues with either of those, if you post in the related threads maybe they can help you sort those out.

X58A does not have hybrid BIOS, only full on legacy, those w/ hybrid BIOS were only P67 and maybe some Z68

Woah what a quick reply! My understanding is that FE5 is a Hybrid EFI efi bios, which allows me to boot GPT disks, and the OS will detect it as EFI/UEFI

DualBIOS™ 3TB+ HDD Support (Hybrid EFI Technology)
3TB+ HDD support is an essential new feature for 2011 and has been one of the most talked about technologies accompanying the launch of the new Socket 1155 6 series motherboards. GIGABYTE not only supports booting from 3TB+ HDDs on all new P67 and H67 chipset motherboards, we offer the ability to boot from 3TB+ HDDs on all currently shipping GIGABYTE motherboard models (from high-end X58 chipset models down to the entry level new G41 chipset models) through GIGABYTE’s unique Hybrid EFI Technology.

Now my understanding is that it’s just a efi bootloader, that you could, in theory put a NVME module into it? gathering from this infomation v

"Briefly, Hybrid EFI is a UEFI based on the open source TianoCore reference implementation. This implementation is also at the heart of UEFI DUET, which enables you to boot using EFI methods on BIOS-based computers. In fact, conceptually, Hybrid EFI is similar to using UEFI DUET, except that the EFI code is built into the firmware: Underneath the UEFI layer, Hybrid EFI uses an old-style BIOS."
“Contrary to the implication of many forum posts I found, Hybrid EFI is much more than just a way to get Windows to boot from a disk that’s over 2TiB in size. To boot on such a disk, Windows needs to have a full EFI implementation, and Hybrid EFI delivers that. It also enables booting Linux or other OSes in EFI mode. You can install Linux, Windows, or other EFI-enabled x86-64 OSes in EFI mode even on disks smaller than 2TiB, if you so desire.”
"Although OSes can see the firmware as a UEFI, and have access to the usual EFI features, the way it’s bolted onto the older BIOS provides the user with few options. "
^ taken from http://www.rodsbooks.com/gb-hybrid-efi/ ^

Thanks, I try when I can

It’s not hybrid BIOS in the way that’s required for NVME mod. Maybe Fernando has seen it done and working, but I’ve never seen such on a legacy BIOS, we’ll have to wait and see what he says since he’s dealt with NVME insert and users issues/boards tested etc far more than I have
If he says it possible, I’m sure he’ll tell me what’s needed to be done before inserting the NVME module into your legacy BIOS, but I don’t see this happening. Your BIOS is normal old Award/Phoenix Legacy BIOS that Gigabyte always used in this era.

Fair enough, Thanks for checking out my theory though :smiley:

I’ll keep searching the internet for the form I saw where someone needed to split the Bios file to mod the bios, they knew where it was supposed to be split.

I think I’ve made some progress, Now I’ve not done any Bios modifications other than flashing an existing modded bios, so my knowledge is purely hypothetical.

I’ve compared the FE BIOS for my board and the FD, FE introduced an OEM ROM called EXTBIOS.BIN a wopping 471040bytes of extra data, which I’m guessing is the new EFI section of the bios. Opening up the latest UD9 BIOS also has the same ROM but there must be more going on because it seems to have added Support EFI loader and was released almost a year later.
I’m wondering if we can 1. add driver to it, 2. do a switcheroo with a newer/complete efi revision that has easier driver modules or 3. just tack on rEFInd so we can choose to boot EFI drives. I’ve found more information on the EFI used with hybrid EFI, from my understanding it’s pretty much based off the same source as DUET, which is where I think 1. has some merit. Courtesy of Roderick W. Smith’s web page (www.rodsbooks.com) turns out he’s the guy who made rEFInd after already having a “hair pulling” experience with a gigabyte mobo using hybrid EFI.

I’ve loaded rEFInd onto a CD after a failed attempt using USB since I knew there was an option to force EFI to run using the CDROM, and I’ve managed to boot into it, I just haven’t managed to load the NVME driver, I’m guessing there is something I need to do prior to burning the disk, but despite putting the NvmExpressDxe.efi everywhere I can think of it’s not detecting my windows install…

Anyway thought I’d update, and I think my next step is too keep attempting to get rEFInd to load the driver and hope my only CDRW doesn’t burn out, or figure out how to open EXTBIOS.bin XD

THIS IS WHAT I WAS TALKING ABOUT! Probably irreverent but I found it again :smiley:



Comparing the F5 and F6 UD9 bios and there are 2 new modules which I'm guessing at least one could be the EFI loader for the hybrid EFI module, but the screenshot of the X58AUD3R.FH bios that @Fernando shared has the same modules, though no mention in the bios updates about an efi loader for that board, so I'm not so sure. The EXTBIOS.bin has been the same size in all the hybrid boards/bios I've checked so I'm expecting the same efi module. I'm still unsure how to add drivers to the EXTBIOS, I also haven't found anyway of opening it in a readable format. One thing I've noticed in CBROM that I haven't been able to find any information about is the command /efi0-9 : Add EFI feature ROM, not sure if it's of any use or how to point things in the the bios to the ROM's.

I'm wondering..... what are the tgroup.bin's used for? could I just put all 5 of them into my bios replacing the 2 that are already in there? Not that I can extract them though, I type in CBROM32_198.EXE X58AUD5FE.bin /group extract and it only gives me GROUP ROM[ 0] file and no way to select any others...

@ShadowsNight :
If you want to extract any GROUP ROM modules, you should do the following:

CBROM extraction of a GROUP ROM.png


You can do this with all listed GROUP ROM modules.
Good luck!

@ShadowsNight - And, above info in post #7 in unrelated, that is about how to modify certain H/G/Q5/6xx series Award/Phoenix BIOS, by cutting BIOS module from the spacer/MEFW areas first so that crbom can work with the file.
I too was looking at EXTBIOS when you first posted, but unsure what to do there. Maybe @noInk - creator of DUET-REFIND NVME boot method could help you look at that file and figure something out? Please upload the file for him here in case he is willing to check it out for you

@Fernando Hmm… following your instruction just seems to rename _EN_CODE.BIN too M9123FW.BIN it doesn’t actually give me M9123FW.BIN :confused:
I’ve used Award Bios editor to extract them for now just to get an idea what the modules are used for. T1 appears to be the overclock tab in the bios. T2 appears to have something to do with GBT but is even part of the Pre Hybrid bios so I’m confused. T3 and T4 from the F6 UD9 Bios has a lot of nothing going on in there with both of them seemingly the same file and only a handful of code at the end? Curios… with no decoded text I’m guessing it doesn’t have any menu selection in the bios what ever it is.

Here is the EXTBIOS file which I’m expecting to be close to Tianocore, HxD doesn’t have any readable decoded text for it.

I’m going to keep staring at the bios modules and see if I start seeing something EFI relevant XD

@ShadowsNight :
You are right, my previously chosen CBROM command was not correct. I thought, that the offered name was just an example.
Meanwhile I found the correct way to get the GROUP ROM files extracted.
This is the correct command: "CBROM X58AUD.FE5 /GROUPXX extract", where XX stands for the related GROUP ROM number.
Look here:

CBROM extraction of a GROUP ROM.png


Good luck!

Yes, if you are still not sure (I didn’t know you were unsure originally?) >> Cbromxx filename.bin /OEM7 extract

That would do it! I could have sworn i tried that… It must have been during the stort time i accidentally had /extract. Thanks you guys are legends!

Ok just an update i still haven’t found a way of opening EXTBIOS file. I’m going to try and install uefi windows onto another hdd see if i can get it to boot and see if i can use any efi/bios extraction tool and get something more from that.

On a side question, do any of you guys know the difference between OEM# Group# and Holes# in the Award Bios? I’ve seen the EXTBIOS listed under in them with different hybrid boards

I treat all those same (OEM is a "group", and hole is a "hole" Not same as group, but all extract/insert similarly)

You can open EXTBIOS in hex editor, that is all, unless Gigabyte gives you the tool they use to make and edit this, whatever it is.

Sorry didn’t saw the notify.
EXT might be used as resident “extension” of GROUP or ITEM.

O my, I’m so sorry @noInk I’ve been checking back to see if anyone had found more information but I only just noticed there was a page 2!

They seem to put EXTBIOS.bin under different extensions, from what I can tell all the Intel ones have it as a OEM module and AMD ones are HOLES.

GIGABYTE X58A-UD5.png

GA-78LMT-S2P.png



So far every BIOS that I’ve checked that have Hybrid EFI have had EXTBIOS.bin somewhere in it, generally OEM7 (I’ve checked 13). I noticed that HOLE modules weren’t compressed but whenever I try and extract one I only end up with a 12KB file, not the 460KB I should end up with :confused: I vaguely remember something about some CBROM versions having some issues with compression but I’m still not sure if that will get me anywhere.

I actually have a second X58 board at the back of a storage shed, I’m thinking I could start using that for some attempted bios mods and try to switch out the EXTBIOS.bin module with some TianoCore builds, of course I have no idea what I’m doing so it’s probably going to be a short learning experience. But from what I’ve read, the Legacy bios does the start up, then passes everything over control to the Hybrid EFI (which Roderick believes to be a modified version of Tianocore, I’m wondering if it was just put together from some unfinished build since it was rushed out the door) and if that is all Tianocore needs, then it should in theory work? from there I’m hoping to install drivers and a boot manager, since there is a lot more documentation on TianoCore than Hybrid EFI. All 13 EXTBIOS.bin files have been the same size, so it is possible that if it works, it could work on at least the Intel boards with Hybrid EFI.

@ShadowsNight - which BIOS do you need “Holes” from, I’ll see if I can extract for you and if so tell you which cbrom I used
Or, you can always grab it via hex possibly too, since it doesn’t look to be compressed

This is a necrobump, I do apologize, but I came across this post when I was doing my own tinkering with GA-X58A-UD5 (rev 2.0) and Hybrid EFI. I was just recently made aware that this MOBO is EFI-capable, and currently have rEFInd and Windows 11 (in UEFI mode) up and running.

But, it does come with some quirks. For starters, you cannot (or at least I cannot) boot from an ESP on a USB flash drive. Booting from an ESP on an internal drive works, but it will always pick the first EFI-partition it finds on the drive. It is also missing some drivers that you would typically find on an EFI-system. This can be solved by loading them through rEFInd, though.

@ShadowsNight , did you make any further findings/progress? It would be interesting if one could fix some of the quirks by modding/updating the EFI-part of the BIOS. To make it "fully" EFI-capable.

Was claimed not even an Hybrid EFI bios, only full legacy…: Another legacy NVME request, with a twist!

U can try this, but haven’t heard recent reports from it: [Experimental] NVMe Option ROM