[GUIDE] AMI INTEL CPU Microcode Update Guide



As mentioned earlier - at least in Windows 7 - there is a direct way to find out using Windows Registry Editor:
https://superuser.com/a/895447
(I don’t know if it is the same keys in Windows 10.)

And there is no need for a Microcode Revision "FF" to force a particular update - at least in Windows 7. Just identify the fix associated with the Microcode update (https://support.microsoft.com/help/3064209) and uninstall it.

You can then for example either use the Windows Update MiniTool (https://forums.mydigitallife.net/threads/windows-update-minitool.64939/) or - on Windows 10 - wushowhide.diagcab (https://support.microsoft.com/help/3183922) to prevent the fix from reinstalling.

Hello.
I’ve followed this tutorial to try to replace the micro-code in my BIOS, but I think I’m going wrong somewhere.
I would not dare attempt to flash the BIOS until I’m sure that I have got the technique spot on, which I doubt I have gotten the hand of.

The new micro-code found inside UBU Modules folder is: cpu306C3_plat32_ver00000023_2017-11-20_PRD_16535FE4.bin
The micro-code file above is 5C00 (‭23552) Bytes in size.

My original BIOS file contains 3 micro-codes in total.
The master micro-code is reported as 50000 Bytes by UEFITool NE.
After paste-inserting the new microcode on top of the old one in the raw body file, the body file increased by C00 (3072) Bytes
I then replaced the body file with the modded one and saved the BIOS. I opened the modded BIOS and shifted forward the 2nd and 3rd micro-codes’ FIT addresses by C00 (3072) Bytes each.

Upon reopening the final edited BIOS, the 2nd and 3rd micro-code addresses show no size or information whatsoever.
I suppose this result isn’t normal, is it?

Can someone take a quick look and tell me where I might be going wrong?
https://mega.nz/#!3xQkzQ7Z!HXnSw7jgtmabn…ywONOqzJCc42pRs

Many thanks!

@davidm71 Sorry to tag you, but you are probably the best person to help me out seeing as you authored the tutorial.
I would appreciate it a lot. Thank you!

@ner0

When I get home later tonight I’ll take a look but my gut feeling is you miscounted the bytes. Also you should refrain from using decimal fractions. Please post a link to your bios and we will take a look…

Thanks

@davidm71 I posted a link to all the files I used (original BIOS, new micro-code, raw body, modded raw body, modded BIOS)
It’s possible of course, but I don’t think I miscounted the bytes. Instead I think I may have misinterpreted some of the earlier steps.
For example, HWiNFO reports that my MC revision is 1E while the one present in my BIOS file is 19, and then the new micro-code file I got from UBU is revision 23.

Anyway, thank you for the reply. Looking forward to learn!

P.S: Duly noted, decimals will be no more :slight_smile:

@ner0

Probably Windows sneaked in another MC. As far as using HWinfo its best suited to show what the cpuid is so you know what microcode needs updating. As others have stated Windows can override the original installed microcode. Anyhow wish I could take a look right now.

Later

@ner0 ,

I got to tell you that you didn’t do anything wrong … But the arrangement of the bios modules and how they were configured made it all very unique and challenging to mod. This was definitely an advanced mod because of the location of the Microcode master file. Uefitool refused to accept the modded microcode body file and would butcher the whole volume when it attempted to replace the body of 17088572-377F-44EF-8F4E-B09FFF46A070. Anyhow I solved this little problem by leaving the old microcode file where it was and not touching it. This way it had minimal impact on the PEI modules that were downstream from it. From there I created a smaller FFS file containing just the one microcode and inserted it with a slightly different GUID downstream of most the PEI files and adjusted the FIT table to reference that file.

So here it is: http://www.mediafire.com/file/ipr12374eo…SUS-2103.CAP.7z

As with any mod use at your own risk.

@davidm
Thank you for taking the time to examine and mod the BIOS yourself.

On the one hand I’m happy that I was able to follow the “basic” part of the tutorial on my first attempt, on the other hand it worries me that because it is not so straight forward to handle and some mishap may brick the whole thing apart. Modding the BIOS alone is already a risk, of course, but having to take a more complex approach to do so is extra scary… I’ll read more of the documentation and analyse your mod to understand the rationale, just for the thrill :slight_smile:

Anyway, here’s a dumb question: having a motherboard which is “USB BIOS Flashback” capable makes me safer and able to unbrick the mobo in case it goes south or would I be taking a huge risk anyway?
I came here when researching ways of updating the BIOS microcode just because of Spectre (ASUS doesn’t seem to be making the move on my mobo); but I soon realized that I would be mostly safe if the kernel updated the MC on boot time (I’m on Windows). For those reasons I might want to avoid an unnecessary.

Not sure how it will go down, in I case I eventually lose it and flash a modded version I’ll report back.
Thank you.




I got to say its a good thing that you were cautious and did not use that file because I was having a great deal of difficulty using UefiTool Version 0.22.1. I looked over the file and it seems ok to me but I wouldn’t risk because I discovered a major flaw with how UefiTool 0.22.1 does its ‘Replace-Body’ function such that I recommend everyone to stay away from 0.22.1 !!!

Use 0.21.5 instead!

@ner0 ,

If your going to mod your microcodes yourself I just have to warn you that your Microcode master file can not change in file size at all! IF it does it will impact the location of crucial initialization PEI code the system needs to post and you may possibly have a brick. The best approach in your circumstance to play it safe would be to relocate the single microcode to the end of that volume with all the Pei files, or update the original 17088572-377F-44EF-8F4E-B09FFF46A071 (and correct the PeiCore info which is very risky according the Coderush), or place the updated microcode master file at the very top of the volume that holds all the DXE modules and correct your FIT table after. If you go the single file route you would have to enclose it in its own FFS GUID file thats unique, and no guarantee the new MC would be loaded even though UefiTool N40 did recognize all the microcodes however Ubu and MMTool did not. If you choose to expand the size of 17088572-377F-44EF-8F4E-B09FFF46A071 your going to have to correct the Peicore entry address at the very bottom of your rom file and I have been advised that is risky! In any case stay away from UefiTool 22.1 !!! Was up all night because of it!!

@davidm71
Thanks for the heads-up!
At least you found a bug in UEFITool v22 which may save some lives, sorry for the headache anyway.
Now I’m properly scared and pretty sure that I don’t want to fiddle with my BIOS anymore, still fascinated with BIOS modding though.

Yeah I talked to the developer and he said its a known issue. Kind of shocked he would leave it on his site for others to download. This is no trivial bug in my opinion. Glad I caught it. Just wish I didnt stay up so late on account of it!

Just wanted to let everyone know CodeRush updated UefiTool to version 0.22.3 which I tested with a number of rom files and found no faults with it at all. Seems to be working just fine without issue.

Want to send my thanks out to CodeRush for fixing this bug!!

Thank you!!!

It wasn’t me, as I have no way to contribute to the project now. Thanks to Dimytro and Alex who made that possible.

This guide work for AMI Aptio v4 as well?

I am honestly thinking at this point that I have other issues (only able to update Intel RST(e) OROM and EFI SataDriver, fails to update LAN OROM PXE and EFI UNDI - Intel, RTK, BCM, QCA, and doesnt show anything for some of the detected modules…)

already modified (Intel RST OROM only) link incase you wanted to look and call me a derp: https://puu.sh/zqP6f/038d9e51eb.bin
EDIT: sorry, thought I had also linked the unmodified version… https://puu.sh/zsSdc/c188d30ec2.rom


reference: trying to update the Microcode for my D2700, included is 2011 10D and the only outdated one on the thing… BLEH

Hello everyone and thank you for this detailed guide,

However I’m not an expert but tried to update my bios with no luck. :frowning:
The situation is the following:
I have an Intel 6400T ES QH8G A0 Intel Confidential cpu what basically an i7 6700T, but with different MC. The motherboard is an ASUS Z170 P; since 2016 non of the bioses supports this cpu, cannot get any further than bios settings which also shows nothing under cpu microcode. The only problem, that the last useable bios which i can install a fresh win10 with, crashes after finishing the install. The latest bios probably solve this issue, but doesn’t include my cpu’s MC.
My question is, how can i update my engineering sample cpu’s MC into a newer bios from and older?
Or a very humble and grateful question:
If i have the two files, can anyone do this for me?

Thank you very much and i appreciate any comments!

@DCarlos ,

Post your bios you want modded with the cpu-Id info for your cpu and the microcode you want added and ill try to take a look this afternoon after work.

David, thank you very much for your fast reply!

I try to attach a picture from CPUID, and a pic of the cpu.
Because of this is an ES cpu, i haven’t find an exact microcode at intel’s page, all i know this is a 6th gen i7 ES cpu, with 4cores and HT, stepping QH8G, rev. A0
Current bios says CPU Signature: 506e0 and Microcode Patch: 17
I cannot attach the bios files because of it’s size, i copy the links:

So the last working bios what contains the microcode is:

http://dlcdnet.asus.com/pub/ASUS/mb/LGA1…9763.1529665286

And the bios what doesn’t contain, but i like to use is:

http://dlcdnet.asus.com/pub/ASUS/mb/LGA1…9763.1529665286

I hope these infos are enough.

Again, thank you a million times!!!

QH8G-cpuid.jpg



QH8G-cpu.jpg

So its an Engineering Sample? Trying to find the right microcode will be tough. Might want to ask @Plutomaniac. If I had the right microcode I could enter in your bios no problem.

Yes, Engineering Sample. I don’t know if the current 1804 bios lines can help ( “Current bios says CPU Signature: 506e0 and Microcode Patch: 17” )
So, it’s not that simple to update all the codes from 1804 bios to 3805? :stuck_out_tongue: