HP Bios Update Application - HP Revolve 810 G1/G2/G3

I've recently taken a little time to automate the Updates of our HP Laptops. I've found that HP Has different Bios Update programs based on the age of the machine.  Documentation was a bit lacking as well.  I'm assuming that other HP machines will fall into one of these two methods I'm using. I'm creating this using the Application Model instead of a package, however you can easily change this into a package with minimal changes.

AppModel Pros: Application Catalog, Detection Methods, Works in a TS
AppModel Cons: Can't use in WinPE

Package Pros: Simple, less time to setup, works in WinPE in a TS.
Package Cons: Simple, no detection, can't make available via Catalog.

Here is a run down of things we'll cover

  • Create your Content Folder Structure. (or download mine HERE)
  • Download & Extract Bios from HP
  • Create Bios Password File
  • Create Bios Update batch File
    • Suspend Bitlocker
    • Add runonce regkey to enable bitlocker after reboot
    • Apply Bios Update
    • Restart Machine with 2 Minute User Notification Popup.
  • Deploy
  • Add to TS Info

 

  1. Create your Package Content Structure.
    image
  2. HP Revolve 810 G1\G2\G3- Get the Bios HERE
    1. Save it to your 810G1 folder and Extract with 7zip
      image
    2. It should now look like this:
      image
    3. Repeat for the G2 and G3 Models, your folders should now look like: image
  3. Time To create the Password File.
    1. from the 810G2 folder, launch HpqPswd64.exe
      image
    2. Type in your Bios Password and Save the BIN file to your Password File Folder
    3. Copy that file from the Password File folder into each Bios Folder like so:
      image
      Always keep a copy on hand, if you ever run the process manually, the bios update will delete the password file from the folder. A security feature I'm sure.
  4. Lets write a simple batch file that will repair the bitlocker mof, suspend bit locker, add a Run once key to turn it back on after restart, update the bios and give a two minute warning for reboot.

    ----------

    1. REM Fix Bitlocker MOF if needed
      mofcomp.exe c:\windows\system32\wbem\win32_encryptablevolume.mof

      REM Suspend Bitlocker
      Manage-bde.exe -protectors -disable c:

      REM Add RunOnce key to Enable Bitlocker after Restart if it doesn't automatically via GPO / MBAM
      reg.exe ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v EnableBitlocker /T REG_SZ /D "Manage-bde.exe -protectors -enable c:" /F

      REM Update Bios
      hpqFlash64.exe -s -pHPBiosPassword.bin -lc:\Cabs\InstallLogs\HPBiosUpdate.log

      REM Reboot Computer (Does not affect WinPE, as it can't use shutdown.exe)
      shutdown.exe /r /f /t 120 /c "Updating Bios, please save your work, Computer will reboot in 2 minutes"

      ----------

      image

      1. -s = Silent
      2. -p = Calls Password File
      3. -l = Log File (You can remove this or add your own logfile path)
    2. Ok, lets do one for the 810 G2\G3, as it's a little different, as they've added some features and changed syntax.
    3. REM Fix Bitlocker MOF if needed
      mofcomp.exe c:\windows\system32\wbem\win32_encryptablevolume.mof

      REM Suspend Bitlocker (Not needed on the G2 / G3 Models, they have the "-b" option to disable bitlocker)
      REM Manage-bde.exe -protectors -disable c:

      REM Add RunOnce key to Enable Bitlocker after Restart if it doesn't automatically via GPO / MBAM
      reg.exe ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v EnableBitlocker /T REG_SZ /D "Manage-bde.exe -protectors -enable c:" /F

      REM Update Bios
      HPBIOSUPDREC64.exe -s -r -b -pHPBiosPassword.bin -lc:\Cabs\InstallLogs\HPBiosUpdate.log

      REM Reboot Computer (Does not affect WinPE, as it can't use shutdown.exe)
      shutdown.exe /r /f /t 120 /c "Updating Bios, please save your work, Computer will reboot in 2 minutes"
      ----------------
      image

      1. -s = Silent
      2. -r = NO Reboot
      3. -b = Suspend Bitlocker
      4. -p = Password file
      5. -l = logfile
    4. Time to Create an Application to deploy the Bios
      1. image
      2. image
      3. image
    5. Deployment Types
      1. image
        Name your Deployment, I do Model & Bios Version
      2. image
        Point to your Source Content
      3. image
        Program = your Script File
      4. image
        Detection = Registry Setting for the Bios Version
      5. image
        Set to Install for System - Whether or not
      6. image
        Set your Requirements to Computer Model (Blogged here)
      7. image
        Set 0 to Hard Reboot, so it will reboot, then run detection.
        If you want to add more return codes, you can find a list here... I have not tested them.
      8. It's pretty much identical for the other two systems, just change the content to the correct folder, and the detection to the bios version. - Tip: Update one, then point to that when you're getting your detection method.
  5. Deploy, seeing it in action.  I've deployed mine to "all users" so it shows up in the Catalog
    1. Installing from the Application Catalog:
      image
    2. Once it finishes the process, it give the 2 minute reboot warning. The software center will say "Requires restart"
      image
  6. You can also deploy to a Computer collection you've created.  This is how I typically do pushes, send out communications, then push to a collection.  But for awhile during testing, I like to make it available so I can run it from the catalog.
  7. Adding to Task Sequence.  So I was excited that HP bios support being updated in WinPE... but yet I was having it fail, saying it needed a full OS.  I thought "LAIR", I've tested the script in PE and it worked fine!  Then I realized, I was running it as an application, not a package... and that's what wouldn't work in PE.  So... I had to add this Bios Update Step later in my TS, after it was in Windows, just like I do with my Dell Bios Updates. - I've tried to leave some steps around it for Context as to where I've added the HP Bios Update Step.
    1. Note, in the script I call shudown.exe, which gives a two minute delay.  In the TS, there is a restart right after it the Application Runs, which will restart the system right away instead of waiting for the two minute timeout.  If you do decide to make this into a package, remove the shutdown.exe part of out if, as that is not available in WinPE.

      image

As always, I welcome comments and feedback.  I only set this up a few days ago, and tested on a couple machines, so there might be scenarios that need tweaking.  I'll update this if I find anything.  - @gwblok

14 thoughts on “HP Bios Update Application - HP Revolve 810 G1/G2/G3”

  1. Hey Gary, thanks for this blog. I was curious if you've ever ran into the HP laptops that have two CAB or ROM files. There are also two other files named hpqRun.exe and map.ini. It looks like the map.ini directs to the correct cab file. Here is an example of the ini:

    [SYSTEM_ID]

    1619=hpqflash.exe -f68SCE.CAB
    1618=hpqflash.exe -f68SCF.CAB
    1621=hpqflash.exe -f68SCE.CAB
    161C=hpqflash.exe -f68SCF.CAB
    161D=hpqflash.exe -f68SCE.CAB
    1620=hpqflash.exe -f68SCF.CAB
    177C=hpqflash.exe -f68SCE.CAB

    What I'm wondering is if hpqflash automatically detects this map.ini and uses it, or do I need to run the hpqRun.exe? I can't find any documentation on it and I don't have a model here to test with.

  2. Gary were you able to test the hpqFlash64.exe in WinPE64? I ran it and it did not do anything for me. If I run it in the full OS it creates a log file even if there is no ROM file, but in WinPE there's not even a log file.

    • Hey Chris, I never tested old HP's in WinPE, and I barely even tested Bios Updates in WinPE. We did BIOS update for HP after OS loaded using SSM for years, and I never took time to change it. We only had 3 models that we were updating. I never encountered your scenario, sorry Chris, can't help you on this. Please do respond with any updates. I'd recommend hitting up your HP rep, or https://twitter.com/nkofahl (@nkofahl), who has helped me with HP things in the Past.

      • Thanks Gary, I will do that. I did find one post that says the boot image needs the "WMI, scripting, and HTA" options for it to work. I'm not really familiar with all the boot options because I don't have permissions to credit/edit them.

        • I was in contact with some HP people and they told me to use DosFlash. Well, that doesn't work in WinPE x64. So then I tried hpqFlash64.exe with a HTML(HTA) enabled boot image and it worked! That is so weird. Now I just have to figure out a solution for the models that use hpqRun.exe.

  3. hello,
    i need to update Bios of HP Z Book 15 G3 using sccm.
    all the machines are pre installed by windows 10.
    i'm not using sccm for windows deployment.
    is it possible to update the bios like the step mentioned above as an application model using script installer or task sequence.
    is it really required the boot image if i do this job as a task sequence ?
    Please clarify.
    Regards,

    • Yes, you can use the App Model to update your HP BIOS, or a TS. If you use a TS, you do not need to assign a boot image, as you'll be running the TS post-OSD.

  4. Bit of a newbie question here possibly. In the download that you provide Gary, in each folder you include Installer.exe for HP System Diagnostics Installer UEFI , could you tell me the reason why? Just trying to understand why that is in there and what does it do in the updating process? Thanks!

    • Those files are there as part of the extracted BIOS update supplied by HP. When I started, the Folder only contained the BIOSUpdate provided by HP, when extracted, it creates those files & the additional BIOSUpdate folder. Unsure if that is the same for all models, or updated BIOS versions HP supplies, but at the time I wrote this, that is how it looked after extracting the HP provided BIOS.

      • Ahh I see, thank you for the clarification Gary! I am working to deploy this now. Thanks much for all your efforts and feedback here thus far.

  5. Hi Gary & others,

    I modified some of the work you have produced here. Does anyone see why this wouldn't update the BIOS of a HP Elitebook Folio 9470? It shows as "successful" in SCCM reporting but the BIOS is not updated. I thought maybe the failure was the BiosConfigurationUtility64.exe command but I am not sure? I need to update the BIOS before I flash it to disable a setting so thats why I've added it. I have used this on several other systems with no issues including Elitebook 840 G3, Elitebook X360 1030 G2, Elitebook Folio 9480M

    Begin File:

    REM Fix Bitlocker MOF if needed
    mofcomp.exe c:\windows\system32\wbem\win32_encryptablevolume.mof

    REM Suspend Bitlocker (Not needed on the G2 / G3 Models, they have the "-b" option to disable bitlocker)
    Manage-bde.exe -protectors -disable c:

    REM Set the values from the input file that match the settings on that particular model
    BiosConfigUtility64.exe /set:config.txt /verbose /cpwdfile:hpbiospassword.bin /log

    REM Update Bios
    hpqflash64.exe -s -phpbiospassword.bin -fROM.cab -a -lc:\AdminTools\HPBiosUpdate.log

    REM Reboot Computer (Does not affect WinPE, as it can't use shutdown.exe)
    shutdown.exe /r /f /t 120 /c "Hello, the BIOS upgrade process will begin in 2 minutes, please save all your work and close applications now."

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.