[PROBLEM] How to open/modify/flash an Intel mainboard BIOS?

Hmm, okay.
I will ask for help in the link posted before. Seems to be more complicated now…
Thanks
For your help

Steffen


They cannot help you. You cannot modify a .BIO image because no matter what you do you will break the digital signature used by Intel. You wouldn’t be able to flash it afterwards. Intel uses proprietary packaging and flasher. These .bio images can be extracted but not modified. The only way would be to use a hardware programmer to dump the contents of the SPI image which if I remember properly is a dead end as well due to another signature protecting the data there.

I have got a Hardware programmer, but if i open the BIO file, i dont find a file which Content seems to be for the Flash…
Thats my actual Dump:
backup_nuc.rar
Is it possible to see, if something in there is damaged?

Forget about the .BIO file, the modded BIOS cannot be flashed without a programmer in this case.

You can easily mod that dumped SPI image with UBU if that’s what you want. Then, flash it back via the programmer. If it doesn’t work, you can restore to your latest programmer dump (make sure you keep it safe!).

I don’t see anything weird with the SPI dump. I remember some older Intel SPI dumps were protected by something. I’m not an expert on this but @CodeRush can tell you for certain if it’s safe to mod that dump of yours. I’d wait for his reply.

The file is OK to mod and flash, there are no runtime-based protections. Newer .BIO files are not UEFI capsules or SPI flash images, but a specially crafted capsules to be used with Intel PFAT (or “BIOS Guard”, if you prefer marketing name). The .BIO file can’t be modded because it’s RSA-signed, but the underlying image is normally not protected by anything (it can be further protected by BootGuard with Verified Boot enabled, but it’s not the case here because FIT table has only microcode entries).

Okay, ist just because i cant update the usual way, i want to update via Hardware programmer.
My actual bios is Version 0026 and the newest ist 0040.

https://downloadcenter.intel.com/downloa…ng%2FWY0040.BIO

So mine is pretty old.
But i think there is no way to get 0040 out of BIO for Hardware programming?!

Just update normally and make an image to mod afterwards. There are ways to reconstruct an image from BIO, but it’s tricky as hell and requires much of unneded work only to get the same image as after 2 min normal update.

I cant update normally…thats my Problem. I dont know whats wrong with the NUC…

Tried this guide?

Yes, tried all Options, but it seems that the nuc immediately crashes freezes, when the Flash is accessed.
USB-Stick blinks…(Bios file reading) and then it turns off or the fan blows like hell.
No Screen indication…

@Exciter

I see at least 8 releases between 0026 and 0040. You should try to update in that order until one succeeds, try 0040 again, repeat the process from last success if 0040 fails.

@Jini

The files are already 32 bit, should work in any Windows system. Maybe it was a download error. The files Sonix uses are updated with latest patches and downloaded from here. It would be unwise to use older versions that could be bugged. Try again with latest files.

Hi and thx for the tips. Tried all versions but all failed. So far 32 fails in uefi log. Is there a way to dump the flash via software so I get flash content from a different unit and flash with my hardware programmer?

Do not use the dump from another system, you will lose some system-specific data like serial numbers, keys etc. To update to latter official BIOS versions you should ask Intel to help you.

Got it.
Used uefi tool to copy and paste GUID tables in my dump including 9.5 ME. Flashed via Hardware programmer.
Im now on 0040 :slight_smile:

@Exciter

I have made you a version of 0040 for programmer, for your system only. The update goes as following, if we compare it with 0025:

- Descriptor regions is the same, no update needed.
- GbE region is not present in update file, no update needed.
- ME region updated to 9.5.40.1892, but 0040.bio only has clean region. Settings transfer is needed or use older ME and update with FWUpdate.
- 1st, 2nd and 6th volumes are not present in update file. The first two store system variables, the 6th has the FIT structure.
- only 3rd, 5th and 7th volumes are present in update file.
- fixed FIT structure in 6th volume to accommodate all 3 microcodes.
- added FIT address in 7th volume, SecurityCore.

The problem is with the two volumes of NVRAM. If the update needed to change something in there, you might have issues. It is recommended to try flashing 0040 original again just to make sure everything is in order. The ME is another problem, as porting settings with FITC might not always work as expected. It is recommended to flash the first file and flash ME.bin with FWUpdate. If you have problems updating ME, use WY0040_ME.bin instead.

Link is here.

Edit: Saw you already did something on your own. I’m sure you didn’t fixed FIT structure and address, neither have you transferred ME settings. Flash 0040 original, but I’m not sure if it will touch these.

We overlapped :wink:
Thanks for your help. I will try it. So far my cut n paste Bin seems to work just fine…
But I’m still not quite sure why I was unable to update the usual way…
Maybe something is wrong with the Hardware anyway…

edit: yeah, you may be right :wink:
found a ME9.5 bin somewhere in the Forum and gave it a try…
Can I somehow prove whether its right or wrong?

The ME is just one thing. You should go here for latest ME, yours is 9.5.x generation. The other ones are FIT structure and address, NVRAM variables. But if you inserted any other ME but the one from your dump, and if you did so without FITC usage, then using FWUpdate will be useless, as you already deleted all your settings.

It is your hardware, you can do whatever you want. I already pointed out the problems and solutions. Flashing 0040 original is a must, but the 0040 modded must also be in perfect condition. This is not to be taken as advertising my work over yours, I am simple exposing some problems you might run into later.

I will try your file.
I still have my Settings in the 0026 Bios dump, or are they stored in a different Flash?
If I Flash your 0040.BIN I have all previous Settings dont I?

For ME, I suggest you do as lordkag says. That is, leave it as it is and then update later via FWUpdate which does not lose any settings.

Now, if you want to flash it via programmer because there is no other way I suggest that you:

1. Enable ME Read & Write Access at the Flash Descriptor (at 0x66 - 0x68 change 0D 0C to FF FF)
2. Flash the latest bios (the one from lordkag is probably better) + unlocked descriptor
3. Once at Windows, use FPT with -me command to flash the ME from your original dump
4. Then use FWUpdate to update to the latest 9.5 firmware while keeping your previous ME settings

Note: FPT, FWUpdate & the latest v9.5 firmware can be found at the ME Thread lordkag previously linked.

ME_DUMP_Exciter.rar (1.28 MB)

@Exciter

Flashing my file is at your own risk. But you need to flash your chip because of the ME. Compare my file with yours, just to see what is changed. Use BIOS region for comparison, just to make it easier, as I have used ME with the settings required by your board. Adding Plutomaniac’s suggestion on top, is another good thing, as I didn’t wanted to force something. But an unlocked descriptor will serve you good later, if you know how to safely use FPT.