BIOS updates are actually done via the hidden
HP_TOOLS service partition which
you can get to by pressing F2 after switching on the notebook or from
the Startup Menu. The update you download from the hp service page merely
copies the new BIOS files to that partition.
However, if you deleted that partition or switched to Linux for your operating system, things get a little bit complicated.
Hidden partition deleted
So you deleted the hidden
HP_TOOLS partition when setting up your new
operating system. The only effect you’ll notice is that the System Diagnostics
option in the BIOS (F2) will look a bit dull:
But don’t worry, this can easily be fixed. You only need a spare USB flash drive and a Windows 7 (or newer) VM or PC. Then do this:
- Download HP PC Hardware Diagnostics from the hp support page (first item, ~23 MiB, formerly known as HP UEFI Support Environment)
- Run your Windows 7+ VM or get to a Windows 7+ PC.
- Plug in the empty flash drive (or connect it to your VM).
- Run the downloaded installer and choose to Install to USB.
That’s it. You now have a
HP_TOOLS flash drive which contains the same as the
hidden partition you deleted. And this includes a tool to update your BIOS
You can check if everything went correctly by plugging the flash drive to your Spectre, rebooting and pressing F2 before the operating system loads.
Now, the System Diagnostics should look way different:
Updating the BIOS firmware
Now to the actual updating of the BIOS firmware. Of course, you first have to download the BIOS firmware from the Spectre’s support page.
Find a PC (or VM) with Windows XP (or newer) and proceed as follows:
- Plug the flash drive to the Windows machine.
- Run the downloaded installer and select the Install to USB stick option when asked.
- Eject the flash drive and plug it into your Spectre.
- Switch on the Spectre and press F2 a few times until you end up in the HP PC Hardware Diagnostics UEFI tool.
- Click on Firmware Management.
Now you should be seeing this screen:
Click on BIOS Update, confirm that you really want to update the BIOS and that the new version is newer than your current one. Then just wait for it to finish and the Spectre to boot up again.
No Windows available
In the case there’s no Windows VM or PC available to you whatsoever, you could try unpacking the installers manually.
HP PC Hardware Diagnostics
7za to unpack the downloaded
SP123456.exe file. This will give you
setup.exe from that package, because hp wraps the actual installer in another
setup.exe, you can run
wine setup.exe /a to run it in admin mode.
Select your language and watch the Extracting HP PC Hardware Diagnostics UEFI.msi
progress bar. Now the important part: As soon as the dialog finishes, press
Ctrl+C to abort the process so the installer doesn’t
delete its temporary folder again.
Now search the windows temp folders for some folder like
(differs each time). This could be in
~/.wine/profile/Local Settings/Temp/. In there, you’ll find a file
HP PC Hardware Diagnostics UEFI.msi.
This can be unpacked with
7z x "HP PC Hardware Diagnostics UEFI.msi" (
won’t work!), but it won’t restore the proper file names. Luckily, there’s also
Data1.cab in there, which you can extract with
cabextract Data1.cab. This
one contains the proper filenames.
Now, on your empty vfat formatted flash drive, create the following directory structure:
(Yes, that’s a
Hewlett-Packard directory in the root folder,
SystemDiags below that and
Previous below the
From the extracted files, copy
SystemDiags. Copy all the
HPBios* files to the
SystemDiags* files go to the
This should be sufficient to make it work. (No guarantees!)
Here, you can unpack the installer from the
I can’t find a way to unpack the extracted installer file as this seems to be
some custom application. Also it uses some specific driver (probably to access
the BIOS) which breaks wine.
So for this, you’d definitely need access to some Windows XP (or newer) PC or VM. However, since you already have the prepared flash drive, it’s only a matter of plugging that in, running the installer and selecting the Install to USB stick option.
You can also use the Advanced option to extract the BIOS files to a separate directory and copy those manually onto your flash drive to this directory:
The files are named
0804F.*. Each as