microcode update with bigger block ?

Hello everybody,

Trying to update microcode in bios for Lenovo B590 version H1ET85WW(1.23) . Dumped bios with fptw64.exe -bios -d biosregion.bin. Then UBU with MC Extractor to find location of microcode in bios.
My cpu (000306A9) microcode is located in biosregion.bin at offset 2B6C00 and is 3000 in size for version 1A. When replacing it with bigger block for new microcode version 21 (which is 3800 in size) can I go past the current “boundary” of 2B9C00 . 2B9C00 until 2C0FF0 is filled with FF. Can I paste the values from cpu306A9_plat12_ver00000021_2019-02-13_PRD_A8DF9213.bin at beginning offset for 306A9 (2B6C00) and go past the the 2B9C00 boundary or do I need to go to previous microcode (306A8) in table and paste it at start of previous microcode and fill with FF until 2B9C00 ? Any real advantage of having updated microcode directly in bios instead of having OS loading updated microcode ? I hope someone has time to answer…
Sometimes I feel like an idiot because my level is medium to good in a lot fields of IT but not a specialist in 1 thing unless building pc’s (but that not’s very hard: just finding best parts for best price). And bios modification unfortunately does not leave a lot of room for mistakes…and assembly code is not my cup of tea yet but will have to be to get that damned whitelist out of my bios because broadcom wifi drops constantly (driver 6.30.223.256 for VEN_14E4&DEV_4727)





Thank you

edit: just found [GUIDE] AMI INTEL CPU Microcode Update Guide
So can I conclude that I can just remove 800 length(difference with old block) of FF after boundary of newly pasted block to keep same file size ?

edit bis: just did it and MC Extractor shows 306A9 as version 21. Will this work when flashing this back with fptw64 ?

First you need to see if you can even flash BIOS region back with FPT, before you worry about if your edit is OK or not.
I can’t understand the way you explained your question or edit, but if you can flash back your original dumped BIOS region with FPT, send to me and I will do the microcode edit for you that way you know it’s OK

Test flashing back the BIOS region you dumped, what error # do you get? >> FPTw.exe -bios -f biosreg.bin

And no, if you are letting OS load newer microcode, then there is no actual need to have updated one in BIOS (unless you can’t boot with xxx CPU, then it would be needed at BIOS level)

Hi Lost_N_BIOS, sorry it was a question maybe not very precise with correct terminology and intertwined with small talk.
Did not test if I could flash back immediately the bios region. Is it normal if I do dump with same command couple of times it does not have same file hash ? It does however have same file size.
Being able to dump bios does not automatically mean you can flash it back again (even if unmodified) ?

btw: bios type is Phoenix SCT

Steps I did to edit microcode:
1) dump bios region: fptw64.exe -bios -d biosregion.bin
2) open up biosregion with UBU to get microcode location in bios
3) open biosregion with HxD. Go to offset of microcode that needs replacing. Select block for old microcode (3000 bytes)
4) open new microcode bin file in HxD and copy everything
5) paste insert at beginning of old microcode block
6) remove 800 bytes of FF after new block (because old microcode is 3000 bytes, new code is 3800 bytes)

It’s mainly that I wasn’t looking at your BIOS, and it’s easier for me to just do vs trying to check what you asked (vs checking a file you edited etc)

Yes, it’s normal file does not match due to checksums change because of dates, timestamps etc. Dump BIOS region with FPT, then immediately try to flash it back, what error do you get?
Yes, this is why we check this, you may not be able to write back with FPT, without first doing some other stuff (or at all possibly).
So, this why we check this, before doing any mods, because you need to know if you are even able to write back mod BIOS anyway, before doing the mods.

That is “A way” you could edit microcodes, in general, but not the correct way usually.
It may be fine, but I can’t answer for sure without you sending me your BIOS region dump, so I can look at the BIOS.

OK, I will send you the biosregion file tonight. Haven’t tried to flash the unmodified dump back yet. Will try that tonight as well.

Yes, please try dumping then reflash right after that, so we can see where you stand with even being able to flash a mod BIOS.
Sometimes I can help you get around any blocks, other times its not possible and you’d need hardware flash programmer

Result from fptw64.exe -F biosreg.bin -bios :
C:>fptw64.exe -F biosreg.bin -bios

Intel (R) Flash Programming Tool. Version: 8.1.60.1561
Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.

Platform: Intel(R) HM77 Express Chipset
Reading HSFSTS register… Flash Descriptor: Valid

— Flash Devices Found —
W25Q64BV ID:0xEF4017 Size: 8192KB (65536Kb)
W25Q32BV ID:0xEF4016 Size: 4096KB (32768Kb)

PDR Region does not exist.
GBE Region does not exist.

- Reading Flash [0xC00000] 4096KB of 4096KB - 100% complete.
- Erasing Flash Block [0xB0B000] - 100% complete.
- Programming Flash [0xB0B000] 12KB of 12KB - 100% complete.
- Erasing Flash Block [0xB3E000] - 100% complete.
- Programming Flash [0xB3E000] 4KB of 4KB - 100% complete.
- Verifying Flash [0xC00000] 4096KB of 4096KB - 100% complete.
RESULT: The data is identical.

FPT Operation Passed

So, no errors when flashing unmodded bios back.

bios region dump: here
my bios edit with new microcode: here

@Lost_N_BIOS thank you for having a look

Hey, that’s great to see, so no problem to flash back mod then either, nice!

I will check your BIOS mod, and or redo and send you new mod tonight when I get back, please wait

Something strange happened…tried getting into bios from windows > advanced restart > restart to uefi. Just black screen and fan is on…
Guess bios didn’t like getting reflashed…
Will have to look for some recovery procedure with usb on the net.

@lowrider2025 - So, you flashed mod BIOS then? I said to wait
If not, and this happened from flashing your original dump back, must be issue due to using FPTw64 (I suggest never to use for this and other reasons). Best done from DOS in this kind of situation (OEM BIOS).
That or you forgot to include -bios flag possibly? You will most likely need flash programmer to fix (CH341A + SOIC8 test clip with cable)

I checked your mod BIOS, and it looks OK

@Lost_N_BIOS only flashing I did was the flashing back of original dump with the command I posted…

Do you have knowledge of crisis procedure for Phoenix UEFI ? Found the zip file on internet with “copy machine” ,crisis and dos folders. Renamed the bios file to bios.cap. But the hot key combination to start bios recovery not working for now. FN+ESC , FN+R,FN+B. Inserted in usb 2.0 port.
SPI programmer and clip was already ordered just to have backup solution if something went wrong…and so it did.

Followed this procedure https://www.bios-mods.com/forum/Thread-REQUEST-Lenovo-B590-H9ETxxWW-Whitelist-Removal?pid=96632#pid96632
and until now did not work. Will try to do the same with cd and the bios file. Don’t know if it’s needs to be bootable or not. Some contradictory information about that (at least for usb)…

Sorry, no, I don’t know about recovery with this model (it would be model specific, generic Phoenix fixes may not apply)
Did you forget the -bios flag when you flashed back BIOS region? This is common mistake. If you did that, recover will only be possible with flash programmer, if you didn’t and you are sure of that, other fixes if you find them may work.

Good luck, hope you can get it,if not, don’t spend too much time, just wait on programmer to arrive!
Once it arrives DUMP contents and WAIT!!! << Do not try to fix, send me your dump and wait, I will fix it for you so it gets done properly

Hi @Lost_N_BIOS this was the exact command: fptw64.exe -F biosreg.bin -bios . C’mon Ali you can do it…in 2 months or less << SPI Programmer

But my microcode edit was okay so if I would have flashed from DOS all would have been okay (most likely)

I dislike FPTw64 for random issues, and I always put flag before file, but as long as no random glitch that should have been OK. It’s possible this BIOS is internally signed, but I doubt it since I see a HUGE mod thread for this model at BIOS-mods forum
They do advise to flash from DOS though, so there may be some issue with flashing from windows with FPT? I didn’t see it mentioned, but I did not read entire thread, only first page or two, and they always commented be sure to flash from DOS.

I don’t know if FPTW64 or windows flash was the issue here, or could just have been some random glitch, hard to say for sure.
They may also be advising to flash with AFU from DOS, I don’t know, you’d have to download some package someone recieve3d and check, if any links are valid still and or posted publicly (most got mod BIOS in PM)

Back from the dead
Have 2 bios chip dumps taken with CH341A with software 1.18
My 8MB bios file: https://www.sendspace.com/file/y1r0ka (W25Q64BV.bin)
My 4MB bios file: https://www.sendspace.com/file/snam5z (W25Q32V.bin)

How can I repair it ? Thanks