[BIOS REQUEST] - x79a MSI GD45 (8D) - NVME Boot + Bifurcation

@ipdialup - WTH is going on here, wow, never had such issues with this kind of mod, crazy!!!
Here, try both of these and let me know if you can enter w/ either now - http://s000.tinyupload.com/index.php?fil…196151983425451

Ok,

Tried with both Super & User BIOS’es same behaviour still can’t enter the IOH menu…

Thanks.

Hmm!!! Give me some time to look it over again, there must be something I’m overlooking, can’t see how though since I’ve checked it so many times and reworked it for the IOH instead edit.
Sorry for the hassles here, normally this is a very simple edit once I gather all the data and do the edit!

Hey, no worries, see what you can sort, worse case I’ll have to get two discrete single NVME PCIE cards and stick the video card into a 1x slot, it’s a server machine so no need for decent GPU performance :slight_smile:

Hope you can figure it out, it’s almost as though anything that is in that Hidden Overclock MENU area is locked out via some other mechanism other than the User / Super user permissions.

Hopefully I can get for you, I hate letting BIOS win!
Yes, it does seem like something is locking us out, but generally that’s true for any similar edit I do like this, and usually no problems (two examples below, I keep link of these handy for reference since I gave users how-to notes)
But, I’ve done this same kind of edit for many other boards too, these are just the ones I keep in my notes in case I need to link someone to method or double check something etc

Move (copy) a Menu (aptio IV)
msi z97 pcmate unlocking advanced and chipset menu (2)
See also, non MSI, Aptio V example here - [OFFER] Gigabyte GA-Z370-Aorus Gaming 7 BIOS mod (16)

Quick general summary of method = Swap Submenu
@AMITSE/SetupData (Body) - Element Edit/swap >>
x18 word - Destination PageID >> SWAP
x1C word - Menu Visible or not = (access level AMIBCP - Edit if needed)
X20 Help label ID >> Swap
x3C Item Label ID >> Swap

@Setup PE32 or other subGUID (AS-IS) Edit >>
Label ID >> Swap
Help Label ID >> Swap
Form ID >> Swap

And for your reference, in case you are interested, here’s my messy working notes for this edit on your BIOS so far

Edit Settings >> Advanced >> And make EuP 2013 submenu visible >> Replace that with other hidden Overclocking section

Suppress If {0A 82}
0x2A07A QuestionId: 0xC5 equals QuestionId 0xC5 {13 06 C5 00 C5 00} << Change >> 12 06 C5 00 FF 00
0x2A080 Ref: EuP 2013, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0xF, FormId: 0x55E {0F 0F 0D 00 0E 00 0F 00 00 00 FF FF 00 5E 05}

EuP 2013, FormId: 0x55E {01 86 5E 05 0D 00}

(000D) EuP 2013
(000E) EuP 2013

--------------------------
Overclocking, FormId: 0x407 {01 86 07 04 86 0D} << Target
Overclocking, FormId: 0x408 {01 86 08 04 9C 0D} << Default @ OC section
(0D86) Overclocking
(0D87) Over clock settings
(0D9C) Overclocking

North Bridge, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0x2, FormId: 0x536 {0F 0F C1 15 C2 15 02 00 00 00 FF FF 00 36 05}
North Bridge, FormId: 0x536 {01 86 36 05 C1 15}
(15C1) North Bridge
(15C2) North Bridge Parameters
ID Starts at 1FDE >> Page Starts at 1FD4
0x0A = Form ID 36 05
0x0E = Subtitle LabelID) C1 15
0x10 = Page ID 4D
0x12 = Parent ID = 27
0x1C = Number of Elements = 19
0x20 = Offset of first element - 68 4E 01 (14E68) << Target (+ 28AC = 17714) >> IOH Located


IOH Configuration, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0xFE, FormId: 0x538 {0F 0F DD 16 DE 16 FE 00 00 00 FF FF 00 38 05}
IOH Configuration, FormId: 0x538 {01 86 38 05 DD 16}
(16DD) IOH Configuration
(16DE) IOH Configuration Page
Element starts at 17754
00 00 00 00 00 00 00 00 00 00 00 00 FE 00 00 00 00 00 00 00 01 00 4D 00 4F 00 00 00 01 00 00 00 DE 16 00 00 1C 1F 00 00 9A ED 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DD 16
0x0C = Question ID - FE
0x14 = Type (Submenu) 01
0x16 = Page ID 4D
0x18 = Destination Page ID 4F << Target
0X1C = Flag Visible 01
0x20 = Help Label ID DE 16
0x3C = Label ID DD 16


ID Starts at 20A6 >> Page starts at >> 209C

Edit Setup SubGUID >> 97E409E6-4CC1-11D9-81F6-000000000000 As-Is >>
EuP 2013, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0xF, FormId: 0x55E {0F 0F 0D 00 0E 00 0F 00 00 00 FF FF 00 5E 05}
>>
EuP 2013, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0xF, FormId: 0x55E {0F 0F 86 0D 87 0D 0F 00 00 00 FF FF 00 07 04} = OC Menu
EuP 2013, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0xF, FormId: 0x55E {0F 0F DD 16 DE 16 0F 00 00 00 FF FF 00 38 05} = IOH Submenu
-------------------------------------

AMITSE/SetupData Body

@2C = 60
@30 = AC 28 (28AC = Base address of Elements)
@60 = 63 00 = # Of pages

EUP 2013
ID Starts at 936h >> Page starts at >> 92Ch
00 00 00 00 00 00 00 00 01 00 5E 05 00 00 0D 00 14 00 03 00 00 00 00 00 20 00 00 00 03 00 00 00 18 4C 00 00 58 4C 00 00 98 4C
0x0A = Form ID - 5E 05
0x0C = Title - 00 00
0x0E = Subtitle (labelID) - 0D 00
0x10 = Page ID - 14 00
0x12 = Parent ID - 03
0x1C = Number of Elements = 03
0x20 = Offset of first element (Relevent to the address of Elements) 18 4C

Checking Advanced (page) ID & Target Element offset (UEP 2013)
Advanced, FormId: 0x403 {01 86 03 04 30 0D}
ID Starts at 2F6 >> Page starts at >> 2EC
00 00 00 00 00 00 00 00 01 00 03 04 00 00 30 0D 03 00 01 00 00 00 00 00 20 00 00 00 0C 00 00 00 00 08 00 00 40 08 00 00 80 08 00 00 C0 08 00 00 00 09 00 00 40 09 00 00 80 09 00 00 C0 09 00 00 00 0A 00 00 40 0A 00 00 80 0A 00 00 C0 0A
0x0A = Form ID - 03 04
0x0C = Title 00 00
0x0E = Subtitle (LabelID) 30 0D
0x10 = Page ID - 03 <<
0x12 = Parent ID = 01
0x1C = Number of Elements = 0C (12)
0x20 = Offset of first element = 00 08
0x24 = Offset of 2nd element = 40 08
0x28 = Offset of 3rd element = 80 08
0x0C = Offset of 4th element = C0 08
0x30 = Offset of 5th element = 00 09
0x34 = Offset of 6th element = 40 09
0x38 = Offset of 7th element = 80 09
0x3C = Offset of 8th element = C0 09 << Target 90C0 (9C0 + Base Element Addresss 28AC = 326C
0x41 = Offset of 9th element = 0A 00
0x44 = Offset of 10th element = 40 0A
0x48 = Offset of 11th element = 80 0A
0x4C = Offset of 12th element = C0 0A

UEP Target Sub Element Starts at 326C
00 00 00 00 00 00 00 00 00 00 00 00 0F 00 00 00 00 00 00 00 01 00 03 00 14 00 00 00 01 00 00 00 0E 00 00 00 28 00 00 00 30 07 00 00 00 00 00 00 F8 FF FF FF FF FF FF FF 00 00 00 00 0D 00
0x0C = Question ID - 0F
0x14 = Type (Submenu) - 01
0x16 = Page ID - 03 (Advanced)
0x18 = Destination Page ID 14 00 (UEP 2013) << Target, Swap in Alt
0x1C = Visible Flag - 01 >> Change to 07 (Super)
0x20 = Help Label ID - 0E 00
0x3C = Label ID - 0D 00


Overclocking, FormId: 0x407 {01 86 07 04 86 0D}
ID Starts at D16 >> Form Starts at >> D0C
0x0A = Form ID - 07 04
0x0C = Title - 00 00
0x0E = Subtitle (LabelID) - 86 0D
0x10 = Page ID - 27
0x12 = Parent ID - EMPTY


Overclocking, FormId: 0x408 {01 86 08 04 9C 0D}
ID Starts at D56 >> Page Starts at >> D4C
0x0A = Form ID - 08 04
0x0C = Title - 00 00
0x0E = Subtitle (LabelID) - 9C 0D
0x10 = Page ID - 28
0x12 = Parent ID - EMPTY

IOH Configuration, VarStoreInfo (VarOffset/VarName): 0xFFFF, VarStore: 0x0, QuestionId: 0xFE, FormId: 0x538 {0F 0F DD 16 DE 16 FE 00 00 00 FF FF 00 38 05}
IOH Configuration, FormId: 0x538 {01 86 38 05 DD 16}
(16DD) IOH Configuration
(16DE) IOH Configuration Page
Element starts at 17754
00 00 00 00 00 00 00 00 00 00 00 00 FE 00 00 00 00 00 00 00 01 00 4D 00 4F 00 00 00 01 00 00 00 DE 16 00 00 1C 1F 00 00 9A ED 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DD 16
0x0C = Question ID - FE
0x14 = Type (Submenu) 01
0x16 = Page ID 4D
0x18 = Destination Page ID 4F << Target
0X1C = Flag Visible 01
0x20 = Help Label ID DE 16
0x3C = Label ID DD 16

Edit - Original
00 00 00 00 00 00 00 00 00 00 00 00 0F 00 00 00 00 00 00 00 01 00 03 00 14 00 00 00 01 00 00 00 0E 00 00 00 28 00 00 00 30 07 00 00 00 00 00 00 F8 FF FF FF FF FF FF FF 00 00 00 00 0D 00

Edit #1 OC Menu >>
00 00 00 00 00 00 00 00 00 00 00 00 0F 00 00 00 00 00 00 00 01 00 03 00 27 00 00 00 01 00 00 00 87 0D 00 00 28 00 00 00 30 07 00 00 00 00 00 00 F8 FF FF FF FF FF FF FF 00 00 00 00 86 0D

Edit #2 IOH Submenu >>
00 00 00 00 00 00 00 00 00 00 00 00 0F 00 00 00 00 00 00 00 01 00 03 00 4F 00 00 00 01 00 00 00 DE 16 00 00 28 00 00 00 30 07 00 00 00 00 00 00 F8 FF FF FF FF FF FF FF 00 00 00 00 DD 16



If you’re here now, give me 10 minutes, I’m repacking 3 BIOS now for you you to test, see if magic string will unlock it. I have my doubts since that generally applies to root menu only, and I tried that for you previously with the OC attempt, but we shall see.

@ipdialup - here, try again to say
http://s000.tinyupload.com/index.php?fil…792001875086690

You know, without a BIOS menu mod, we can adjust these settings to whatever you need in place, it will take some tinkering and testing for you to find out which slot is which BIOS setting though, but that kind of edit is always possible and we wont be locked out of that.
You do have a dual capable NVME card already, correct?

Hi, I will test these latest updates and get back to you.

On the NVME card, yes I have one of these

https://www.ebay.co.uk/itm/ANM22PE08-NVM…872.m2749.l2649

ANM22PE08 NVME PCIe 3.0 x8 Dual Port Card.

Currently has 2x500GB Toshiba XG5 drives in it, but only one shows in windows.

Thanks.

@ipdialup - I have an idea, if the above BIOS don’t work! We should test replacing this item, with some submenu you can already see by default in another section, and then see if same lockout or not.
If it is, then I’m missing something, or something additional in the element needs swapped in this BIOS that didn’t in other Aptio IV/V that I’ve done before

Hi, sorry been slammed with Work & Home life over last couple of days haven’t had a chance to go through these, will try to do it tonight.

Thanks.

Never a rush here, I’m always behind, so no worries, whenever you get there we’ll carry on with more test edits

Hi, I came across this old thread and figured i’d say hi as i also need a bifurcation bios for my trusty old board. Thank you for your wonderful work so far! I have tested all your last 3 posts in this thread with no success, unfortunately. The BIOS you posted has all features enabled and all menus functioning as far as i can tell. There is an extra menu under advanced called “IOH configuration”. I cannot seem to open in either of the three biosses you have submitted here. I would love to be of service for further testing if you are still up for the challenge. Looking forward to hearing from you.

I am using a 4-way adapter and would like the middle x16 slot divided into x4x4x4x4 if at all possible.

Ok i have done some messing about as i am mostly new to this.

Top PCIE 3.0 x16: IOU2
Middle PCIE 3.0 x16: IOU3
Lower PCIE 3.0 x8: IOU1

I now have the top slot (IOU2) in x4 mode, I had my GPU in there and gpuz said it was in x4 mode while it is a full x16 1080ti. However, I put that card in the middle slot (IOU3) and its now at x16 again.

I have put my card with 4 nvme drives in it into IOU2 and only one nvme device appear in windows and the uefi bios. All i did was change my 182B to x4x4x4x4 but i am unsure how to proceed.

@Lost_N_BIOS
Could you guide me in the right direction, please?



@Lost_N_BIOS do you still need help to figure this out? Maybe this is something I can do on Linux?

Is there anything else I can do to help with this mod?
I have the X79A-GD45 (8D), and the Asus Hyper M.2 x16 Gen 4.

By the way, thank you very much for all your effort so far!!!

@Lost_N_BIOS I hope you’re enjoying the new year! Any news about this mod?

@ModMyBIOS

Seems that your not around the forum lately…so you would know, the user Lost_N_Bios also last login was back in January 2021.