13

I have a HP Spectre XT netbook. The installed BIOS is F14 and the latest one on their website is F26. I'd like to do an upgrade but they only provide a Windows executable. I tried booting with FreeDOS (using the Ultimate Boot CD), but the executable won't run in DOS, only Windows. I don't want to install Windows anywhere (I don't have it, I replaced it off the system disk with Ubuntu). So how can I upgrade with only Ubuntu installed on my system ? I haven't tried Wine, does it work for that purpose ?

  • 1
    I would not upgrade the bios using wine but it's probably doable. But if anything goes wrong you could be out a computer. – Daniel Oct 19 '14 at 20:45
  • 1
    @daniel: Usually that doesn't work as wine can't give direct hardware access which a BIOS update needs. If it does, I fond it dangerous as many things work differently with Wine than Windows, which the updater was tested against. – David Foerster Oct 19 '14 at 20:48
  • My apologies I figured it would – Daniel Oct 19 '14 at 20:48
  • 1
    That windows executable is a self-extracting archive and you do NOT need Windows for it; freedos is enough. All it holds is a .BIN file. So the procedure would be: download file, unzip it, put .BIN file on a fat32 partition. Use that to have it update. – Rinzwind Oct 19 '14 at 20:58
  • 1
    It depends on the BIOS, some "modern" bios will not upgrade outside of windows. In that event you may have to write your own - see bios-mods.com – Panther Oct 20 '14 at 2:37
8

You can use file-roller (in Nautilus: right click > open with… > archive manager) or cabextract to unpack HP's BIOS update packages. The one I just tried contains two identical MS-DOS executables that are in turn self-extracting archives. They contain a .bin files which is the BIOS update you're looking for. Put it on a USB drive and you should be able to instruct the EFI BIOS to update itself from that drive.

  • 3
    I used cabextract and obtained 1888F26.exe, but when I tried to run it in FreeDOS, it only says "Test.". Trying cabextract on it again doesn't work but 7z extracts a whole bunch of files: 01888.bin FlsHook.exe FlsHookDll.dll FWUpdLcl.exe InsydeFlash.exe iscflash.dll iscflash.sys iscflashx64.sys platform.ini xerces-c_2_7.dll, now I'm not sure what to do with those. There's no way to directly load the bin file from the current BIOS – dargaud Oct 21 '14 at 21:15
  • 1
    Note that the Hewlett-Packward/BIOS/New/ files may have to be renamed for the update to work: h30434.www3.hp.com/t5/Notebook-Hardware-and-Upgrade-Questions/… – Ivan Kozik Nov 26 '17 at 0:07
7

This method worked fine on an HP EliteDesk 800 G2 TWR when I tested. I guess this method is not supported by HP, so I add this warning: a BIOS upgrade, if failed, can break your computer!

Requirements

  • Operating system: Ubuntu (installed in UEFI mode)
  • Hardware: HP EliteDesk 800 G2 TWR (L1G77AV)

Maybe this method might work for other HP computer models too?

Note: A USB stick is not required.

Method

Detect information about your computer

This was done on an Ubuntu 18.10 computer.

linux@desktop:~$ lsb_release -d
Description:    Ubuntu 18.10
linux@desktop:~$ 

Most computers nowadays use UEFI

linux@desktop:~$ if [ -d /sys/firmware/efi ]; then echo UEFI is active; fi
UEFI is active
linux@desktop:~$ 

Check that there is enough disk space free under /boot/efi to be able to store the BIOS binary file.

linux@desktop:~$ df -h /boot/efi/
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       1,9G   23M  1,9G   2% /boot/efi
linux@desktop:~$ 

Detect the HP serial number

linux@desktop:~$ sudo cat /sys/class/dmi/id/product_serial
XXXXXXXXXX
linux@desktop:~$ 

(In this example the HP serial number was replaced by XXXXXXXXXX)

Detect the current BIOS version and date

linux@desktop:~$ sudo cat /sys/class/dmi/id/bios_version
N01 Ver. 02.36
linux@desktop:~$ sudo cat /sys/class/dmi/id/bios_date
07/18/2018
linux@desktop:~$ 

Download the latest BIOS

To download the latest BIOS from hp.com:

  1. Click Support
  2. Click Support & troubleshooting
  3. In the web form copy and paste the previously detected HP serial number (XXXXXXXXXX) and search for it.
  4. Click Software and Drivers.
  5. As operating system select Windows.
  6. As operating system version select Window 10 (64-bit).
  7. Check that the latest available BIOS version is newer than what is already installed on the computer.
  8. Download the latest BIOS. (For me the BIOS file was called sp90164.exe)

Extract the BIOS binary file

linux@desktop:~$ which 7z
linux@desktop:~$ sudo apt-get install -y p7zip-full
linux@desktop:~$ which 7z
/usr/bin/7z
linux@desktop:~$ mkdir /tmp/test
linux@desktop:~$ cd /tmp/test
linux@desktop:/tmp/test$ 7z e ~/Downloads/sp90164.exe
linux@desktop:/tmp/test$ sudo mkdir -p /boot/efi/EFI/HP/BIOS/New
linux@desktop:/tmp/test$ ls /boot/efi/EFI/HP/BIOS/New | wc -l
0
linux@desktop:/tmp/test$ sudo cp *.bin /boot/efi/EFI/HP/BIOS/New
linux@desktop:/tmp/test$ ls /boot/efi/EFI/HP/BIOS/New | wc -l
1
linux@desktop:/tmp/test$ 

Update the BIOS

  1. Reboot the computer and go into the BIOS (usually by pressing the Esc key soon after the computer is starting up).
  2. Select BIOS Setup
  3. Select Update System BIOS
  4. Select Update BIOS Using Local Media.
  • You also need to copy the BIOSUpdate folder as stated in this solution. Thanks Arch Wiki (I'm not using Arch, btw). – Sufian Jun 8 '19 at 6:38
  • OK, fine, except... what if the system is not UEFI ? Can you still update the BIOS in UEFI mode if the system is in legacy mode ? – dargaud May 11 '20 at 20:17
  • Also there is no such thing as "Update System BIOS" in the BIOS setup. – dargaud May 12 '20 at 14:52
0

In my case, for a HP ProDesk 400 G4 Desktop Mini PC with Ubuntu 20.04 on it, I had to unzip the .exe (7z x spxxx.exe) file and move the *.bin to: /boot/efi/EFI/HP/DEVFW/firmware.bin. I had to rename the *.bin file to firmware.bin. After restart the bios update worked. I should mention that moving the *.bin to /boot/efi/EFI/HP/BIOS/New did not worked for me. Hope this helps someone.

  • Yes, I tried that method, but it doesn't apply to my model. There's no automated update from the BIOS itself done by providing a file at a given location. Booting with the full HP Bios Configuration Utility fails too (errors, model not supported). Only method: reinstall Windows. Shame on HP for that. I've given up and that should be my marked answer. – dargaud Jun 8 '20 at 9:05
0

Here's what I did to update the bios on my HP x2 210 G2 running only Ubuntu 20.04 LTS.

Note that this does require another windows pc to open the bios-update executable, but there is no need to install windows on the target pc, nor do you need a windows recovery disk or windows-pe or any such thing.

The solution is based on this HP support answer, the HP docs for creating a bios recovery drive, and a bit of trial-and-error with fingers crossed.

  1. Use a separate Windows system to download the correct bios-update executable for your system from the HP support site. In my case the file was called sp95703.exe (HP Notebook System BIOS Update, version F.35 Rev.A).

  2. Run the executable on the Windows system. Don't worry, it will not try to install the update, but it will open a utility that creates a bios recovery drive, as explained on the HP site. Follow the steps to create the USB recovery drive.

  3. Turn off the target system, in my case an HP X2 210 G2, insert the recovery USB drive, and start it up again.

  4. In my case, the device did not boot from USB automatically, so I hit esc immediately after turning on, to enter the "startup menu". Here I chose F9 "Boot Device Options", then "Boot from EFI file". Select the file system named HP_TOOLS, navigate to Hewlett-Packard, BIOSUpdate, and finally select the HpBiosMgmt.efi.

This started the update process.

-2

You need the HP PC diagnostics tool. Link?

  • Ensure the PC is plugged into the mains power!
  • Install it to USB stick How?
  • Power on
  • Enter the BIOS with F2 or F10
  • go to boot options and move usb key / usb cd boot to the top.
  • Get all system info (all details needed are on hp support page for particular model)
  • plug in the HP Diagnostic tool USB
  • boot up
  • access bios
  • select F2 (system diagnostics) this will run the hp tool.
  • enter 2 codes (you can find them online) Where?
  • choose firmware managementbiosupdate
  • select the drive containing the update .bin file
  • Enter the system board number ,

The rest is automatic and will reboot your machine and you will have upgraded the BIOS.


PART 1 OF 3 IN 1 TOOL Here's how to with links Go here and check that an update for your exact model is available (Has to be exact or could damage/Brick PC)

http://support.hp.com/us-en/drivers download the latest bios update

Here are the tools ,you have a choice of 3 but the 3rd is the one i went with

http://www8.hp.com/us/en/campaigns/hpsupportassistant/pc-diags.html?jumpid=va_r602_us/en/any/pps/pl_ot_ob_ds_pd/HP_PC_Hardware_Diagnostics_cc/dt

Please see next answer as i'm limited to 2 links per answer


PART 2 OF 3 IN 1 TOOL

Here is how to put on USB and use the tool outside of Windows (or on none booting pc) ,you'll need a second PC and a Blank USB drive of 4gb min

http://support.hp.com/gb-en/document/c00042629

Please see next Answer for the next 2 links / Plenty of topics covering thisin the forums on hp site but the 3 in 1 tool is new 2015

The 2 numbers needed to use the 3 in 1 tool are here for all to see

http://www.tenforums.com/attachments/general-discussion/7223d1413825867-bootup-takes-two-tries-hp-pc-diagnostics-usb-key-user-guide-rev-4-oct-2014-release-english.docx (Office Doc ,i opened in Wordpad Just fine)

Google and Coffee got me there ,i don't mind adding links but was hoping giving the name of the Tool would set you up to google what you needed which in turn would make sure you read and absorbed the important info and warnings HP wrote

Happy Flashing Regards Matt :)

  • 1
    Will you give a link to "hp PC diagnostics tool" and how to install it to USB? – Pilot6 Jul 13 '15 at 21:48
  • Please update... – Fabby Jul 14 '15 at 11:01
  • Hi ,sorry for Delay but had to get to my own PC – MATT W Jul 14 '15 at 11:39
  • POSTED ALL LINKS NEEDED ,FEEDBACK ON HOW YOU GET ON WELCOME :) – MATT W Jul 14 '15 at 12:18
  • 2
    1/ DON'T SHOUT! 2/ Don't post links! Look at my edited answer of yours and then fit it in there... Edit, don't add... This is still a terrible answer. Please look at the site and have a close look at how answers are written. – Fabby Jul 14 '15 at 14:06

Not the answer you're looking for? Browse other questions tagged or ask your own question.