Our utility to allow for BIOS upgrades in a native 64-bit environment (WinPE) is now available.
Download it HERE
- Download the BIOS executable for the specific system that you are going to update and place it in a directory of your choice.
- Download Flash64W.exe and place it in the same directory as the BIOS executable.
- Open a Windows command prompt and go to the directory above
- Run Flash64W.exe /b=BIOSExecutableName.exe
NOTE: This is for Client systems only.
Please leave questions in the comment area below.
Is there any documentation for this for things like exit codes, or a list of compatible systems?
To save others the hassle, I found an exit code of 2 in the log file created. If you're using SCCM/OSD, just add 2 to the list of success codes on the option tab and the TS item won't error out and give you the 15 minute countdown.
I created a package with Flash64W.exe in the root, and then the latest BIOS for each model in a subfolder. The Run Command Line item to flash looks like this:
Flash64W.exe /b=.\XPS9360\XPS_9360_1.3.2.exe /s
Because we have some really old BIOS versions out there on older models, I couldn't get too fancy with detection (the CCTK and PowerShell modules require certain levels of BIOS to function properly). I just use wmi queries to look for make/model/BIOS version and then install the appropriate BIOS. Immediately after I use a "wpeutil reboot" step to restart immediately.
The syntax for this tool can be found on:
Does this utility support 32-bit OS systems and WinPE? And what benefits it gives over just running BIOS_verXX.exe (downloaded from the web)?
@Emil B. This tool allows you to run Bios-Updates in 64-Bit WinPE. Normal Bios.exe would fail.
This does not appear to run silently in MDT 2013 with the /s switch.
Running Flash64W.exe /b=biosfile.exe the UI appears and awaits input to proceed with the flash.
Running Flash64W.exe /b=biosfile.exe /s results in the following errors:
Litetouch deployment failed, Return Code = -2147467259 0x80004005
Failed to save environment to (80070057)
Failed to run the action: 03020 BIOS TEST #1.
The environment is incorrect. (Error. 000000oA; Source: Windows)
The execution of the group (Initialization) has failed and the execution has been aborted. An action failed.
Operation aborted (Error. 80004004; Source: Windows)
Failed to run the last action: 03020 BIOS TEST #1. Execution of task sequence failed.
The environment is incorrect. (Error. 0000000A; Source: Windows)
Task Sequence Engine failed! Code: enExecutionFaiI
Task sequence execution failed with error code 80004005
RegQueryVaIueExW is unsuccessful for Software\Microsoft\SMS\Task Sequence, SMSTSEndProgram
GetTsRegVaIue() is unsuccessful. 0x80070002.
Error Task Sequence Manager failed to execute task sequence. Code 0x80004005
Has anyone been able to get this to run suppressed successfully in MDT?
After some further testing this error is being caused as the BIOS flash was unable to proceed. I had yet to actually test clicking OK manually with the UI visible and on doing so now see the following error:
Unable to locate a BIOS Update Payload in /b=
This test system is an OptiPlex 3020 attempting to flash from BIOS A05 to A15 so it is possible it may be unsupported/too old to use this method? As mentioned in the first comment - a list of supported hardware would be useful.