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

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

  • September 25, 2017 at 10:59 am
    Permalink

    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.

    Reply
    • September 25, 2017 at 11:09 am
      Permalink

      I didn't run into that. I only had those 3 models, so very limited test group. Sorry can't be of much help on this. Can you provide the models you seen that with? I might run into this in the future and will keep an eye out.

      Reply
        • September 26, 2017 at 9:10 am
          Permalink

          I found that the hpqRun.exe created a log file and it does look for the map.ini. Problem is, I tried it in WinPE 64, and of course it doesn't work so I need a 64-bit version of it.

          Reply
  • September 28, 2017 at 3:19 pm
    Permalink

    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.

    Reply
    • September 28, 2017 at 3:30 pm
      Permalink

      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.

      Reply
      • September 28, 2017 at 5:54 pm
        Permalink

        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.

        Reply
        • September 29, 2017 at 1:11 pm
          Permalink

          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.

          Reply
  • October 29, 2017 at 1:33 am
    Permalink

    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,

    Reply
    • October 31, 2017 at 9:29 am
      Permalink

      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.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *