[Guide] How to update the CPU microcodes on a non-UEFI Award/Phoenix BIOS

Hi MiesMosel,

I am actually on a different 1366 platform. Heres the CBRom dump:

Update ID CPUID | Update ID CPUID | Update ID CPUID | Update ID CPUID
------------------| SLOT2 08 000206E6-| SLOT1 0A 000106A4-| SLOT1 0F 000106A4SLOT1 16 000106A5
SLOT1 0D 000106A4| SLOT1 0B 000106A1 | SLOT1 19 000106A2 | SLOT1 16 000206C0
SLOT1 06 000206C1| SLOT1 14 000206C2 | SLOT1 32 000206F2 |


Since I have a 920-D0 in my old X58 all I really need is the 106A5, but out of a point of curiosity I wonder why the manufacturer would
included 4 different microcode revisions for the same 106A4 CpuId? Were they just lazy I am guessing that after every MC release
they just appended it on to the list?

Thanks

@davidm71

I can make some comments on this using my GA-X58A-UD9 bios as an example as shown in the spoiler.

First, if you take a look at the 106A4 microcodes before and after the change i made, you will notice that both microcodes were not for the same platform in the original one (Platform 0 and 1). But when you make a research to update those microcodes, you realise that a microcode including both (platform 03, 0+1) didn’t exist untill the year 2015 and manufacturers had no other choice than to include both microcodes in the bios up to that point in time.

Second, the original bios included 2 microcodes for the exact same platform for 206C2. So yes, sometimes manufacturers are really lazy and do things that don’t make sense at all.

CPU microcode update:

Before update:
±---------------------------------------------------------------------------------------------------+
| Intel |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| # | CPUID | Platform | Version | Date | Release | Size | Checksum | Offset | Latest |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| 1 | 106A2 | 03 [0, 1] | FFFF0019 | 2008-07-14 | PRE | 0x2C00 | D990B74E | 0x1D37DF | Yes |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| 2 | 106A4 | 02 [1] | A | 2008-09-19 | PRD | 0x2400 | 6D0F43C1 | 0x1D63DF | No |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| 3 | 106A4 | 01 [0] | D | 2008-11-26 | PRD | 0x2800 | E9811522 | 0x1D87DF | No |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| 4 | 106A5 | 03 [0, 1] | 11 | 2009-04-14 | PRD | 0x2000 | C2D891C3 | 0x1DAFDF | No |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| 5 | 206C0 | 13 [0, 1, 4] | FFFF0016 | 2009-08-20 | PRE | 0x2000 | 764EEA44 | 0x1DCFDF | No |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| 6 | 206C1 | 03 [0, 1] | 6 | 2009-12-22 | PRD | 0x1800 | 45E27C49 | 0x1DEFDF | Yes |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| 7 | 206C2 | 03 [0, 1] | 14 | 2011-03-11 | PRD | 0x1C00 | 67223A59 | 0x1E07DF | No |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| 8 | 206C2 | 03 [0, 1] | F | 2010-06-18 | PRD | 0x1C00 | FECACCE7 | 0x1E23DF | No |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+

After update:
±---------------------------------------------------------------------------------------------------+
| Intel |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| # | CPUID | Platform | Version | Date | Release | Size | Checksum | Offset | Latest |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| 1 | 106A2 | 03 [0, 1] | FFFF0019 | 2008-07-14 | PRE | 0x2C00 | D990B74E | 0x1D57E0 | Yes |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| 2 | 106A4 | 03 [0, 1] | 13 | 2015-06-30 | PRD | 0x3800 | 35DDB232 | 0x1D83E0 | Yes |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| 3 | 106A5 | 03 [0, 1] | 1B | 2015-06-27 | PRD | 0x2800 | B57A8827 | 0x1DBBE0 | Yes |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| 4 | 206C0 | 13 [0, 1, 4] | FFFF001C | 2009-12-14 | PRE | 0x2000 | 77BBF9A7 | 0x1DE3E0 | Yes |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| 5 | 206C1 | 03 [0, 1] | 6 | 2009-12-22 | PRD | 0x1800 | 45E27C49 | 0x1E03E0 | Yes |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+
| 6 | 206C2 | 03 [0, 1] | 1D | 2015-08-04 | PRD | 0x2400 | F7DC758B | 0x1E1BE0 | Yes |
±–±------±-------------±---------±-----------±--------±-------±---------±---------±-------+

@Phoenix48

Ok Thanks! It makes sense now. Guess I have to start over…

Practice makes perfect…

Hi guys, I have a Dell XPS17 L702X laptop I carefully followed the guide to update the cpu microcodes but in the last passage with cbrom after pressing enter, the cursor remains flashing … where am I wrong?



Whenever using CBRom always check your mod by running a ‘/d’ to verify the contents of the bios file. Also success can vary depending on the version of CBRom. Might want to try running your mod through modbin and see if it crashes.

if I run cbrom with / d I get the same result, it would seem that cbrom has compatibility problems or does not recognize the bios file in WPH format, please help me

Award bios?? Share your bios file please.

this should be phoenix…thank you

BIOS1_original.zip (1.86 MB)

Hello Dexter1983,

for me it seems to be encoded or so by the manufacturer.
I cannot open this file with any of cbrom version.

Only with MCE … it shows the microcodes.

Edit: Phoenixtool256 says: "EFI/Insyde BIOS" and: "Pubkey and marker (2.1) (DELL QA09 ) (x2)".


Regards, MiMo

this is a modded bios but with old microcodes…can you watch this please?

bios1.zip (1.86 MB)



I also noticed that. Not only that UefiTool throws a whole lot of errors on this one. I would consult with Coderush on this one. High brick warning.

Edit: Only way to mod this safely is to cut out the compressed microcode file manually with a hex editor and paste it back in keeping file size the same.
Assuming you know the compression method. You could use PhoenixTool and select ‘No Slic’ but I find Phoenix Tool to have moderate risk if you
don’t know how to use it properly.


same here … cbrom199 couldn’t open it.

Dell BIOSes are proprietary - that’s the problem, I think. Or the modding was not allright. Do you have an unmodded version?

Well the microcodes are not compressed in the main bios file, so assuming the new one is the same size you could copy paste it back in there.

Edit: May not work because that could throw off the check sum. So you would have to fix the checksum.

Bios1_original should be unmodded, dell packs the bios into an .exe file, is it impossible to extract the true file containing bios

how the hell did they modify this bios (i mean the second one )?

Not impossible if you have the right tools.

of course thank you all for your help, i hope to update that bios…i will stay tuned here and keep searching!

I would make sure you fix the check sum of any copy-paste. I don’t think that will work.

Are you advising me against the Hex editor option?



No not really because the microcodes are in your bios each individually. Not wrapped in an FFS file which has a checksum. I think you should be ok IF the filesizes are the same…

In anycase I would love to see the original EXE bios file. Yours has checksum errors all over the place. Amazing you were able to use it before!

https://downloads.dell.com/FOLDER00950751M/1/L702X_A19.exe

i opened the microcode.dat and i can read the contents, the ios file instead appers like packed or encrypted, i cannot simply paste the microcodes there without brick