[Guide] Manual AMI UEFI BIOS Modding

Hi, just wondering if it may be possible to add a module for an external PCI card; I have a USB 3.1 add-in card with ASM2142 chipset and what I’d like is to be able to boot off from it, right now the usb ports are not loaded until Windows enables them; my board (Z87) is “ancient” for today standards, I already have flashed a BIOS, from this forum, with the NVME module and it works pretty fine. Any ideas?

I want to replace the Intel microcode from a previous bios version of the same board. The motherboard has q flash plus, which I have used successfully to update the bios once already. The main problem is, how do I find the specific section of code I’m looking for? Can I look through a bios that I downloaded, or do I have to extract the bios module from bios installed on the board? I’m planning to use mm tool or whatever it is to view the bios modules, but I’m not sure how to find the code I’m looking for.

Thank you.

So i suspect that you want older cpu mcodes from old bios revision on new bios revison.
What kind of bios AMI/PHOENIX/INSYDE…
There are several tools that can extract the mcodes like MCextractor and even a repository of older mcodes.

Do please provide further information on hardware, bios and actions to be made, on this post and in future requests on this forum, users are not “wizzards” to guess it, so providing the best info is half way to a better comprehension of a user request.

1 Like

Ok my bad I thought there was only one “Intel microcode” per bios, and that all the tools were basically the same.

The board is Gigabyte B660m Gaming X AX. Current bios versions have Intel microcode that blocks undervolting. I am on F20, I would like to replace the microcode on F20 with the Intel microcode on F4 which from other user reports does not block undervolting.

Thank you.

General guides, not all steps applies to all bios systems:

[GUIDE] AMI INTEL CPU Microcode Update Guide - Special Topics / CPU Microcodes - Win-Raid Forum (level1techs.com)
[GUIDE] Update CPU Microcode + Fix FIT Using UEFITool / Hex - Special Topics / CPU Microcodes - Win-Raid Forum (level1techs.com)
MC Extractor: Intel, AMD, VIA & Freescale Microcode Extraction Tool Discussion - Special Topics / CPU Microcodes - Win-Raid Forum (level1techs.com)
Intel, AMD, VIA & Freescale CPU Microcode Repositories Discussion - Special Topics / CPU Microcodes - Win-Raid Forum (level1techs.com)
[OFFER] Intel CPU Microcode Archives - Special Topics / CPU Microcodes - Win-Raid Forum (level1techs.com)

I could use some help with unlocking settings on Gigabyte Alder Lake platform (Z690 Aorus Elite DDR4). The problem is that I only see cherry-picked items in BIOS because Gigabyte uses a custom menu. No matter how many settings I unlock, I cannot see them in BIOS. For instance, I could unlock all settings in ‘chipset’ but it wouldn’t matter because I can’t see ‘chipset’ at all and therefore, I cannot see any of its settings, except for the few handpicked settings that the custom menu gives me. See my attached screenshot.

How can I get rid of the custom menu?

So far, it is only possible to change it on your choose by picking other setting to be shown. That’s it because of that highly customized setup screen.

The view available in UEFIEditor doesn’t match what actually displayed. I wish I could know how to fix this.

1 Like

How much research have you done into the Aorus Elite motherboard? I could be mistaken, but I think that’s the one that’s horribly broken and the bios is barely held together with the coding equivalent of duct tape… that might be why certain settings are hidden - those settings either don’t work or will break things.

You should check for bad reviews on Amazon, Newegg, etc. I could be wrong though.

Ok thanks for the guides, I will check them out.

Since I have q flash plus, would that save me in the case that I didn’t edit the bios correctly and it got corrupted? Just wondering.

Thanks again!

It should, as long as no EC/TPM/ME fw is not messed around, meaning the purpose here is to mod the bios_region area and so Q-Flash plus should correclty recover it.

Now…this is the kind of question that should never be made in “MOD world”…as no one can assure you of nothing and its the user ONLY, choice of proceeding in such “adventures”, we cant guess how all the models/brands of motherboard/bioses deal with it, even when a user with same hw and action reports is been successful, it can go wrong for us, im not “painting” it as a dark scenario, it IS as it IS, good luck.

In the link you gave, in the blog entry, he is using AMIBCP but I can’t open the BIOS in AMIBCP. I get something like ‘strings are too long’. Does anybody know how to open Z690 BIOS in AMIBCP? Is there a patched version out there?

How much research have you done into the Aorus Elite motherboard? I could be mistaken, but I think that’s the one that’s horribly broken and the bios is barely held together with the coding equivalent of duct tape… that might be why certain settings are hidden - those settings either don’t work or will break things.
You should check for bad reviews on Amazon, Newegg, etc. I could be wrong though.

Not sure, if this was addressed to me or which board you mean (the Z690 or the Z490).

As far as the Gigabyte Aorus Z690 BIOS goes, in my experience, it is fine. I don’t have any issues with it. There was one annoying bug in BIOS versions before F21, but that has since been fixed with a BIOS update. The bug was that if you enabled “Resizable BAR” but left “Above 4G Decode” disabled, the BIOS would not POST, and you had to do a CMOS reset via hardware jumper.

Hi MeatWar,

Apparently I am supposed to find a 0x104 Intel microcode and replace it into bios.

So I have opened the bios file (with the microcode I want to edit) into in UEFITool NE Alpha 51. I have opened every single section of the list and there is only one microcode file (and it matches the GUID(?) from the tutorial, so I’m sure I have the right thing. Per the tutorial, I right-clicked it and “extract body” and saved it as File_Raw_Microcode_body.raw.
The tutorial says to open the master microcode file in HxD editor, so I’m assuming that’s what this file is. I then have successfully opened it in HxD hex editor where I see all the hex values.

At this point I am the tutorial starts talking about a “CPU microcode repository” and I’m not sure whether that is even relevant to what I’m trying to do, which is to replace the newer bios microcode with the 0x104 microcode. ssIt also talks about checking whether the two microcode files are different sizes, and I’m supposed to be able to see this in the hex editor? I used the “fastforward” button in the data inspector window on the right in HxD, but I don’t see anything obvious indicating file size. Perhaps I am supposed to infer file size from the last offset line (which is 0014B400)? IT SEEMS I CAN CHECK THE SIZE IN UEFI TOOL… it gives “full size,” “header size,” and “body size,” and I’m not sure which is relevant.

Lastly, once I have both the new 0x104 microcode and the old microcode both open in HxD, how do I know what to replace? (I am currently trying to figure this out from these two tutorials:

[GUIDE] AMI INTEL CPU Microcode Update Guide)

I think I am supposed to replace certain hex values, but also I need to make sure everything “lines up” so that nothing else is pushed out of whack. Something I am very confused about is that the different bios version have different numbers of microcode addresses.
Please see this image:

(Duplicate image backup in case the other does not display large enough: Imgur: The magic of the Internet)

Please excuse my ignorance, I am not anything close to a programmer. I really appreciate your help!

Thank you.

“Some BIOS strings exceeds the maximum length”?

Unfortunatelly, I didn’t save the patched version in my cloud storage, so I have none to share.
Try using AMIBCP PRO.

Im no programmer also… but you lack severe understanding and advanced knowledge, so its very difficult and i have no time for extended lessons.

It could be easier for you using MMtool and replace on F22 with the F4 old mcodes extracted with MCextractor (Extracted folder), it may work as it is and you have Q-Flash to recover.
Do not use the older mcodes for other cpu’s, use the ones you need only.

Every mcode in their respective bios version has its own starting adress and length (length varies from mcode revisons), basically the new(old) mcode will have to be pasted in this block length using HEX manual editing.

But there is no download. The source is in the link is only a PDF file. I tried to google ‘AMIBCP Pro’, ’ ‘AMIBCP 5.14.0058’, etc. no success.

Since AMI doesn’t offer the AMIBCP tool for the customers, you cannot expect here a download link.
Nevertheless you will be able to find a link, if you do a Google search for “AMIBCP 5.02.0031” and choose the first of the offered options. Then you may have to scroll down.

I found nothing for the new AMIBCP Pro I was able to find older versions but none of them can open the BIOS. They all report something like: “Maximum number of strings exceeded.”

I have tested: 5.02.0031 and 5.02.0034.

A Forum like this one doesn’t offer a tool, which cannot be legally achieved by a private person.
What about asking the Company AMI? I am pretty sure, that AMI will be pleased about your request.