02-12-2019 10:41 AM
I'm looking to see if I can get some support in writing a custom splash screen to BIOS.
It seems from the M82 BIOS update readme, that doing so should be an allowable function, but I can't get it to work.
* 3. Flash Program Options *
* wflash2.exe [option1] [option2] ... [optionX] *
* [OPTIONS] *
* /h Show help messages. *
* /rsmb Preserve all SMBIOS structures. *
* /clr Clear BIOS settings. *
* /ign Ingore BIOS version check. *
* /sn:nnnnnnn Update system serial number (up to 20 characters). *
* /csn:nnnnnnn Update chassis serial number (up to 20 characters). *
* /mtm:nnnnnnn Update machine type and model number (up to 25 *
* characters). *
* /tag:nnnnnnn Update system asset tag (up to 25 characters). *
* /uuid The flash utility will generate an Universally *
* Unique Identifier (UUID), replacing the one that *
* is currently in the system. *
* /logo:<filename> Change logo. The max supported size of logo file *
* is displayed on the screen during the compressing. *
* /cpu Update Intel CPU microcode. *
* /pass:nnnnnnn Input current system password. *
* /quiet Operating without physical presence. *
* The following example shows how to update system asset tag number *
* to "1234567" use command line: *
* wflash2.exe /tag:1234567 *
* The following example shows how to update bios and update system *
* asset tag number by one command: *
* wflash2.exe bios.cap /tag:1234567 *
* The following example shows how to change the power-on logo. *
* wflash2.exe /logo:myfav.bmp *
* Note: A flash update image using these program options should be *
* tested carefully before widespread usage. *
I perform that logo function but what I get an error "Child process failed. Return code: 74", see screen capture. I am running cmd as administrator. I have also tried a number of different image formats; png, bmp, gif. It seems to accept the image fine, compresses within limits, but fails whatever the next step is. Another thing I tried was performing this on a 32 bit instance of Windows 7. Originally tried on Windows 10 64bit. The image is a 640x480 image.
I have no problem flashing the bios otherwise, but this option does not work for me. Really hoping to get it to work. Seems to be a common practice with lenovo laptops. Any help would be greatly appreciated.
Solved! Go to Solution.
02-13-2019 02:49 PM
My first guess is that the image resolution may be too large, or possibly your file size.
Hope this helps.
02-13-2019 05:06 PM
Thank you for the reply!
Yeah, I've seen what you've linked before. Doesn't really seem to differ from what i'm doing. I don't seem to have any issues with the size.
When it runs the compression routine, it says its fine and well below the limit. So the image portion is fine it seems like it's doing its job, but whatever happens next seems to fail. Presumably the next part would be to write the image to the Rom.
I also noticed that a .cap file is used to run instead of a .bin or .rom. Seems like some other platforms use those.
I really would just like to know if this is even possible. I just don't want to waste my time if its not.
02-14-2019 09:45 PM
Well I've tried again and this time on a Lenovo M73. Downloaded the bios package followed the steps (the image file is a .rom for the M73).
Same error "Child Process Failed: Return Code 74"
I wish someone could tell me what the Return Code meant.
02-19-2019 02:01 AM
I have the same problem on M83 and M93.
I can see that when you run wflash2.exe i creates an "out_1.bin" file and then run:
"afuwin.exe" out_1.bin /hole:05CA02010FC111DC901100173153EBA8
If you run that, you get this error:
4a - Error: Platform data is not empty, And data address is not Alignment Block Address.
If you look at "afuwin.exe /?" there is a parameter /HOLEOUT:
If you run that you get a bin file but it only contains FF's
So I think Lenovo has changed how logo i stored in Bios, but not opdatede the documentation or the bios update util.
02-22-2019 10:51 AM
Thanks for the relevant reply. I think you are right, it suspected that maybe the flash software was lagging the actual boot roms. Unfortunate, but I guess I'll just move on.
03-02-2019 09:45 AM
03-04-2019 03:17 PM
I found a solution, but it may not be for the feint of heart.
Summary of steps
Determine Intel Management Engine Version (HWinfo64 works well)
Download the matching Intel ME tools (section C):
Intel Management Engine: Drivers, Firmware & System Tools
Run the Flash Programming Tool (FPTw.exe or FPTw64.exe) inside the Flash Programming Tool folder, inside that a Windows or Win/Win32 folder, select that Win folder, hold shift and press right click, choose open command window here (not power shell). If no option to run cmd, run cmd as administrator and navigate to the directory (cd C:\*directory tree containing FPTw.exe)
At the command prompt run the following command >> FPTw.exe -bios -d biosreg.bin (this will dump current bios image)
Import biosreg.bin into UEFItool (must be an older version, the newer version disables the "replace body" function.
To modify the splash screen search for GUID address that contains the splash screen images. For Lenovo M82, these images are stored as .raw files in the following GUID addresses:
Extract the .raw files (right click, extract body in UEFItool) and save them.
Open the .raw in paint and edit the image. Make the image fit in the existing space/resolution. Save your new file and make sure it saves as a .raw file.
You may notice that the original .raw file and your edited .raw file are two different sizes (in my case my edited .raw file was smaller).
Using a hex editor, you can add empty space to your edited .raw file as "00"s. An easy way to do this is open up both the original and modded .raw files in a hex editor. Copy any addition "00"s from the original .raw and add them to the edited .raw to make them the same size. Save and verify the edited files are the same size as the original. (I'm not 100% sure this step is necessary, but i recommend it).
In UEFItool, navigate to the GUIDs and replace the .raw files with the edited ones (right click, replace body and select your edited files)
Save your modified bios modbiosreg.bin
Attempt to flash the modified bios using FPT by following command
>>FPTw.exe -bios -f modbiosreg.bin
If write protected, the bypass trick works for the Lenovo M82. Put the computer to sleep (sleep state 3) for 1 minute. Wake the computer and immediately flash in FPT with the same command:
>>FPTw.exe -bios -f modbiosreg.bin
The flash should suceed
04-30-2019 04:07 PM
Your only mistake was trying to flash a custom logo from a windows command prompt using wflash2.exe. The Lenovo BIOS engineering team has already done the hard work for you by including the necessary DOS application tools with the BIOS firmware download.
You only needed to download the USB drive UEFI BIOS flash package version of the firmware. Create a bootable DOS pendrive. Copy the contents of the ZIP download to the pendrive. Switch the boot mode from UEFI to LEGACY BIOS. Then boot the system using the pendrive into DOS then from the prompt execute:
Once finished, set back the boot mode to UEFI.
08-22-2019 10:07 AM - edited 08-22-2019 10:15 AM
I'm having the same problem as odelay171. Having the same error message. It happens on both Windows and DOS.
I have several units of ThinkCentre E73 and they all have the same problem... I can't change the Bios logo
Can someone help me? thanks... The posted "solution" is too complicated...