[Request] How to Access Locked/Hidden BIOS Menu Settings

Hallo @Lost_N_BIOS , this is not a hassle for me, I apreciate very much your help. By the moment I send you a recopilation of Stock BIOS Images I have found in Internet. They are EXACTLY the same my Stock BIOS.

In any case, If you think you need the truly images, I have to wait untill to tonight to have access to my laptop.

Thanks again

Stock_BIOS_Images.zip (1.2 MB)

Thanks for your understanding! Yes, I need the images because I have to compare what I see in your BIOS, vs what’s in AMIBCP, and figure out which sections are actually there vs which are not in AMIBCP vs the BIOS, then use that in the setup module to find a long string of 0’s and 1’s that equal the actual enabled menu’s on the stock BIOS.
Once I see that, I can unlock all menus, like you see in AMIBCP, and a few are doubles which we’ll disable the ones with less in it (mainly boot, security, original Advanced)

I can use those images you attached, if you are 100% sure it’s all exact same as your stock BIOS.

If you prefer @Lost_N_BIOS I will upload the truly imeges tonight or tomorrow morning as very last

I can use those images @Haplo if you are sure they are same ones. Looking at BIOS now, I think I will leave 2 x Advanced menu, since your default one has a few settings that aren’t in any of the large advanced sections. And exit, I will disable your default one, and enable the currently hidden one, it has all the same settings + more options.
Security menu, I am not sure, both look a lot alike, but many of each is useless password entries for secondary drives you’ll probably never use. The current hidden one shows a lot more info for the drives status vs the currently visible one you have now, so I’d probably go with that one personally. Both for Boot menu too I think.
I will enable Main and Chipset too.

So this is your current BIOS layout vs what you can see in AMIBCP - 00 means disabled/not visible to you - 01 means your current menu/enabled/visible to you now.
main = 00
advanced = 00
chipset = 00
boot = 00
security = 00
save & exit = 00
SysInfo = 01
Advanced = 01
Security = 01
Boot = 01
Exit = 01

Considering best changes would be this (All/most settings in each menu will become visible to you like you see in AMIBCP, some need setting above changed from auto before one directly below will become visible, so you don’t have to set user on all that)
And, some settings you may still need to enable via AMIBCP once I send you BIOS, main thing is once the root menu is enabled some automatically appear and do not need “User” set in AMIBCP, so I will leave that up to you to double check and further enable, since I can’t test on my end and it’s not ideal to set all “User” when you don’t have to for the ones that would automatically show up anyway. So please before you edit anything I send you with AMIBCP, flash the BIOS and look at all the pages, sections, then decide/check what you need to further enable (Don’t jump right into AMIBCP to set things to “User” first when you see I haven’t, you may not need to)

Change BIOS menus to (These are the menus you see in AMIBCP, in that same order)

main = 01
advanced = 01
chipset = 01
boot = 01
security = 01
save & exit = 01
SysInfo = 01
Advanced = 01
Security = 00
Boot = 01
Exit = 00

Sound good to you?

Ok @Lost_N_BIOS , it is perfect for me. With all the menus enabled, and the possibility to show/hide its options by me, trough AMIBCP, its prefetly Ok.

One more thing, only to learn for future. In this list, Where are thoses codes "00" and "01" seen?. In AMIBCP, in AMI Setup…?

Thanks again

I have successfully edited the menu structure of aptio V and checked on hardware bios. Text and visibility are stored in the IFR, the structure and links “menu->submenu” are stored separately in the AMITSESetupData module ($SPF signature at the beginning of the file)
Now “cpu-configuration”, “pch-fw”, “system agent”, “pch-io” are submenu of Peripherals, three useless “trusted computing” submenus are replaced by the desired


2 Likes

That’s cool @Mov_AX_0xDEAD was it that easy, just re-arrange in AmitSESteupData?

@Haplo - OK, I will make mod BIOS how I mentioned, then if further need enabled you can then do in AMIBCP after you first check to see what all is enabled by default once I make visible root menu sections.

Those 00 and 01’s with the menu entries in post #15 I wrote down in notepad, so I would know which is enabled in stock BIOS and which is not vs what all menu’s shown in AMIBCP or IFR output of the setup module (Entire compressed module section too, not just the PE32 or the numerical SubGUID)
That is why I wanted the stock BIOS images, to be able to put that list together. I will show you tonight how this is used once I have time to do the mod.

*Edit
This is called “Magic String” edit by many people, I am not sure of the “Official” name if there is one, but some BIOS store the menu enable/disable values in Boolean fashion in the BIOS “setup” module.
Sometimes you will use the PE32, other times in the SubGUID, sometimes best to extract the entire compressed module such as this case due to some menu sections missing from IFR output if using either PE32 or SubGUID.
Sometimes this is forwards in the module, other times backwards, always check both ways once you figure out the string you will use. If you cannot find the string, it’s usually due to having the values for something incorrect, recheck stock BIOS images vs AMIBCP or IFR to verify correct string or not.
Sometimes this is not used at all, and other method is required along with enable root in AMIBCP - this method does not apply to your BIOS here so we wont get into that.

The “Magic String” is all the 00’s and 01’s I showed you previously, put in a long string, in order that they appear in IFR output or AMIBCP (top to bottom). 00 is disabled menu entry, not visible in stock BIOS, 01 is enabled menu that is visible in stock BIOS
Extract the Setup PE32 Module, SubGUID module if there is one, and the entire “Compressed” section as well. Run each through IFR extractor, then check each text output to see which one is most correct (ie all menu entries are there) match to AMIBCP menu layout.
Then, from that file and or AMIBCP, compare main sections/entries vs what actual BIOS sections are, this is how you get the 00 or 01 values I showed you, this is then used to make the string of all the 00 and 01’s in exact order from top to bottom.

For your BIOS, this was the string
0000000000000101010101 - Forward >> found at 00009585
0101010101000000000000 - Reverse

Changing to this
0101010101010101000100

If you change each to 01, you get all menus enabled, which is too many duplicates, that’s why I asked about disabling some to be replaced with others.
Ideally you’d want to disable any dupes, but sometimes there is a setting or two in one that’s not in the other, so you may want a dupe section.
Now, if you find a dupe I left you don’t want, you can do re-edit this module in BIOS, and remove that section (AMIBCP cannot make these changes usually)
I also go ahead and enable Root of each section enabled this way using AMIBCP too, in case it’s also needed, so you may need to disable there as well for some sections, if you remove them later

Here is an image showing all this in the various tools mentioned, I think if I explain anymore it will only get more confusing, hopefully with the above description and this image you can catch onto how to do the mod

Mod-Info.png



For IFR output, see posts 28+29 here for two IFR extractors, these only give valid output on certain modules, files etc.
Add option in AMI UEFI bios menu (how to?) (2)

UEFITool, see releases tab - UEFITool NE Alpha can only be used for viewing or extracting, you want regular UEFITool to insert/modify/save
https://github.com/LongSoft/UEFITool


And here is your mod BIOS, I only set User on “Root” of each new addition to be enabled, if their sections are empty, edit again with AMIBCP and set User to each sub-menu root, then recheck in BIOS again and see if individual settings are enabled.
Usually you only need to set “User” to root and sub-menu root, then all setting appear (95% show up then most of the time)
https://www.sendspace.com/file/nv8itn
http://www.filedropper.com/06wdm-bcp


that was no easy, AMITSESetupData is binary file, i manually found offsets to menus (pages) and offsets to each element.
page contains pageid and parentid, i’ve replaced parentid to pageid of "Peripherals".
element contains link to sub-pageid, textreference and texthelpreference, i’ve replaced all three fields.
then need to modify IFR like i did in post Accessing Locked BIOS Menu Settings (14) because IFR works in real bios, amibcp fully ignore ifr.

i specialy did not use amibcp v.5 to save edited bios because this program is overkill, it change/rebase/increase size of many modules, i dont accept this behavior

GUUUUAAAAUUUUUUU!!! SUPERB @Lost_N_BIOS

I do not know how to thank you, either the mod as you tutorial… Thanks again. I have a long journey now to understand all the options, but that is my job . From now on, all will be much more easy for me. Thanks to you again

Is there a way to share the mod in the forum? If so, it can be done by yourself

Well, I didn’t mean easy as in easy to do, but more simple method I meant. I assumed it would be a little bit involved and tedious hex work to do it
Thanks for further details, I will have to try this sometime soon on a Z170N I have!

*Edit - @akm - I’m not sure if I ever wrote out more details on the menu string edit or not, but I remembered you asked about this method before and always like to learn, so came back here w/ update for you on that method.
I just posted small little info guide here, maybe helpful for you later to reference - Help yo unlock BIOS hidden settings in my Samsung RC530/730 (2)

You’re welcome! So, how did the initial BIOS look, lots of settings in Advanced and Chipset you had to further enabled, or was most/all already enabled by default?

What do you mean share the mod in the forum? Anyone can post files or guides here, if you want to post your final modified BIOS (Is that what you meant?), then you can here in this section of the forum - Offer: Already modded special BIOSes

Did I explain method good enough for you to understand? Hope so!

hallo @Lost_N_BIOS . By now I have not had many time to look all the options, but it seems to be activated by default ALL the options. I must inspect it more deeply



Yes, truly well…



Exactly. I will post it with the right credits

Well that is good! Sometimes it all is, without setting User on each individual setting, but not always, so you might find a few you want to enable still.

Glad you were able to understand the BIOS mod method! This way only applies to some BIOS, if you can’t find the sting, and you know it’s correct, it may not require that method only a change in AMIBCP or another much easier method (changing a few 47 02 hex bytes to 46 02, so much easier when that is all you have to do!)

OK, post away, and thank you for adding credit when you get to it too! Ohh, I see you posted already!
*Edit @Haplo - Sorry, I noticed you mentioned UBU, the BIOS I sent you was only modified by me in hex/AMIBCP for a few things, and it was the stock BIOS I used, you’ll need to run it through UBU again for all those updates. Sorry about that
Or, you can simply extract the “Setup” entire GUID module in UEFITool from the BIOS I sent you, and replace that one into the BIOS you modified with UBU.
If you need me to do that, let me know, and sorry again about not doing that for you already, I forgot while writing out that little how-to (And I just remembered, I could not download your mod BIOS, only jpeg and pdf on your link, no BIOS there still too.)

@Lost_N_BIOS You had already nicely explained to me that method and I have been using it. The extra information in the shared post is also very useful. Thank you again!

I couldn’t remember, I knew we covered a lot in this thread Well you’re welcome again too, thanks!
Did you look back and see the nice info @Mov_AX_0xDEAD just added here too!



Ah! I did not take that into account. No problem, I can modify this by myself . I will update the bios offer. Thanks again

Yes, I can get a hang of what Mov AX, 0xDEAD has been able to accomplish. Kudos to @Mov_AX_0xDEAD for the feat. But I really couldn’t understand the process. Personally, I don’t think I would be having any need to rearrange the Menus. But there are other interesting and useful things that might be done with his method, like fixing broken Menus. Do you remember that in one BIOS, there were ACPI settings in the Advanced Menu structure but no link to its page was there in Advanced Menu? As a result, I have no way to make those settings visible. Perhaps, through Mov AX, 0xDEAD’s approach it may be possible to make those settings accessible by fixing that broken Menu. What do you think?

I have received the hardware programmer that I ordered but still haven’t got the SOIC clip. As I receive it too, I will be trying some mods on an ASUS motherboard. It’s FD is locked. I plan to unlock the FD when I flash through programmer. Can you please describe that process too?

@akm - Maybe someday you will want to make similar changes in some BIOS. No, I don’t remember what you mention about the ACPI/Clevo BIOS. I think what he showed might be able to be used to fix this, show me in image what you mean, the missing stuff in AMIBCP for ACPI

Asus can usually be unlocked to flash MOD BIOS either by using USB Flashback, or this method and FPT or AFU if AMD board
[GUIDE] Grub Fix Intel FPT Error 368 - BIOS Lock Asus/Other Mod BIOS Flash

To unlock FD is easy, open the BIOS in hex and it’s right at the top. If BIOS is inside a capsule (cap BIOS) you will need to scroll down past the capsule header (+2KB down to 800h)
Then follow the guide image shown here in second spoiler in section B - [Guide] Unlock Intel Flash Descriptor Read/Write Access Permissions for SPI Servicing


I have shared the images here.



Oh, superb! Another very well explained guide. Thanks!



Cool. I will go through this too.