vBios Mod for Acer Aspire VN7 - MMTool/UEFI Tool/Checksum Problem

Hi everyone.

The bios of the Acer VN7 (.fd) has the real system bios (including additional roms) in vol 00 index 00 listed under a unique GUID.
This means it has to be extracted as uncompressed and then re-opened in MMTOOL
Then the vbios didnt show up under device/vendor-id.In fact nothing showed up there,so I searched each and every file until i found the correct vbios.
I replaced the vbios with the modded one.MMTool couldn’t replace a compressed file with an uncompressed one,so I used UEFI Tool to compress the file
and replace it finally in MMTool.
The question is now,what about the FFS Header/checksums?
The GUID-like things showing up in MMTool are all still the same.
I have been told that a new FFS Header needs to be generated.How can that be done?

Thank you for helping on this one!!

@ Flow999:
Welcome at Win-RAID Forum and thanks for your report.

I hope, that you will get an answer from anyone, who knows more about such details than me.

Dieter (alias Fernando)

Thank you for your post anyway :wink:

UEFITool managed FFS checksums for you, additional steps aren’t needed. BTW, why don’t use UEFITool to replace the file in the first place?

The author himself.I feel honored.Thanks for your reply :slight_smile:
I did try to replace it directly in UEFITool but I got the error message “Image reconstruction failed - Function called with invalid parameter” when saving the image.
Right from the start “Image parsing failed - Invalid UEFI Volume” showed up,but I read somewhere that any popups don’t matter.
When I replaced the Option ROM for the NVIDIA GTX 850M vBios via RAW section -> replace body, the entry “Raw section” is now showed twice (a display bug?)
In the message area the following info shows up:
"parseVolume: unknown file system FFF12B8D-7696-4C8B-A985-2747075B4F50
parseBios: one of volumes inside overlaps the end of data"
When saving the image file I get the error message “Image reconstruction failed” and afterwards another info appears in the message area of UEFITool
"reconstructRegion: reconstructed region size 8A02C0h (9044672) is smaller then original 8A31F8h (9044672)"

That’s why I did the replace procedure with MMTool and only used UEFITool to compress the uncompressed modded package from MMTool.
When I reopen my modded file all the GUIDs are the same (including FFS and DXE Core section).
Do those GUIDs contain checksum,or are those checksums non visible in UEFITool?
I just got the info that my modded bios will only work when FFS header is rewritten.

Thanks for your help!

PS: Is my guess correct,that UEFITool problems with reconstruction are related to “parseBios: one of volumes inside overlaps the end of data” message?

All that problems are caused by FD file being a malformed UEFI image in the first place. Please use InsydeImageExtractor on your FD file to get a proper BIOS region image and then you can mod it without issues you have mentioned.

So that’s why! Thanks!!! Any idea how to return the proper bios (modded) again into the “malformed” UEFI image?
Or is that not necessary when flashing with afudos?

It’s Insyde-based BIOS, so AFUDOS will not work there.
You can return the modified image to the FD file using hex editor, but I would recommend using a SPI programmer to dump the current BIOS and to flash the modded one. Yes, it’s harder, but it’s also much less risky.

In the .fd file, I found the hex offset values where the Insyde BIOS begins and ends, so I think I can mod it into a working file that way.
However MMTool does a good job in handling .fd files so my solution is to extract the Insyde bios,which I modify with UEFITool and then extract the FFS of the modified bios which I then open with MMTool,export it again and replace it in the .fd file.

Thanks again for helping coderush !