Partial Images - ISpillMyDrink/UEFI-Repair-Guide GitHub Wiki

Often times complete UEFI images are not available from the manufacturer, as they are not necessary for the firmware update process. Some OEM updates only contain the BIOS Region, ME Region, or just the EC Region/Section. Even though we cannot flash those images directly, we may still be able to transplant the partial images to our original one. This is done easiest with the help of UEFITool.

Comparing Sections & Stitching

In this example we'll take a look at an Acer Aspire V5-132. This is what UEFITool parses from our original image. We take note of the full size of the BIOS region as well as the general amount and order of volumes.

Next we take a look at the update capsule we can extract from the firmware update available from Acer. We note that the structure of the original BIOS Region looks very similar to the content of the file we find within the sub-partition of the update capsule, only the FpNvStorage volume seems to be different, which we would expect as this volume contains the Non-Volatile RAM (NVRAM) and needn't be populated in a clean image. The size of the BIOS Region and the body of the file are also the same. We can extract the body of the file by right-clicking on the file in the Structure view and selecting Extract body...

We can now continue by replacing the BIOS region in our backup image with the one we have extracted from the capsule by right-clicking the BIOS Region in the Structure view, selecting Replace as is..., and choosing our just extracted file body. Saving will yield a new image containing the old Descriptor and ME region and the updated BIOS region.

If we are interested in retaining serial information and other settings stored in NVRAM, we can continue by extracting the entire NVRAM volume from our backup image.

Finally we are left with a firmware image with updated BIOS region but retaining NVRAM.

When faced with a no-POST situation as was the case in this particular example, it's a good idea to afterwards clean the ME Region of the image (on Intel platforms) to exclude ME firmware as well as UEFI/BIOS as problem sources.


In this next example, we'll look at an update for an ASUS FX705GM. The original image as parsed by UEFITool looks like this:

And the available update capsule from ASUS looks as follows. What is noticeable is the presence of an extra volume at the end of the image not contained in the backup.

To note here is that the image contained within the AMI capsule matches our original BIOS region both in size as well as structure up to that last volume at offset 0xC00000. This last volume contains an update for the Management Engine of this machine and is executed during the update procedure. As it isn't required for stitching together our backup with the update, we will cut it out of the image after extracting the image from the capsule by opening the resulting file in a hex editor and removing any content starting at offset 0xC00000 to the end of the file.

The resulting partial update image looks like this and can now be transplanted into the backup.

The final image containing the updated BIOS region looks like this:

Again it is recommended to afterwards clean the ME Region of the image (on Intel platforms) to exclude ME firmware as well as UEFI/BIOS as problem sources.