Is there anything to know before updating a BIOS when running Linux?

I have a MSI PRO X870-P WIFI and there have been a couple of new BIOS versions released since I built my system so was looking to update to the latest version.

When updating a BIOS and running Windows it is sometimes necessary to disable Bitlocker or to re-enter the Bitlocker key after a BIOS update. Is there something similar to be aware of when doing the same when running Linux?

I am currently running Fedora 44 KDE with secure boot and drive encryption enabled. Do I need to do anything special before hand like getting a recovery key, disabling something before I update the BIOS?

This is because windos stores disk encryption keys in the (firmware) tpm, which can get reset during bios update.

Afaik linux distros dont do this and jusk ask you the disk encryption password when you start the pc. If this is your case you should be ok.

The answer is, as usual: it depends. I have a LUKS-encrypted system, and never had an issue after a BIOS update, but I enter a password at every boot, and I don’t use Secure Boot. If you do anything different, my advice is: read the BIOS release notes for any gotchas; check if your Linux setup installed any encryption keys in the TPM, and if so, back them up (your Linux distro will have docs for that).

If you have NVIDIA + Secure Boot, you might need to re-import your key in MOK after the update. The official driver will fail to boot until you do that.

And in general, you will probably need to re-configure your BIOS settings, as they are often wiped by these updates.

Certainly the first thing you want on hand is a bootable rescue CD/DVD. One thing MSI loves to do when you install a new BIOS is to wipe out your Linux EFI boot and switch everything over to the MSWindows boot (if you have dual-boot). Oh, and they’ll re-enable InSecure Boot even though you INTENTIONALLY disabled it. I suspect either Microsoft is paying MSI off, or MSI is just grossly incompetent (I know the second is true, but the first may be as well).

Are you talking about the UEFI boot entries in the NVRAM? Incompetent indeed if they delete/rearrange them but easy enough to fix (if MSI’s UEFI has a menu to do that manually, anyway, like Dell laptops do). Otherwise, boot from your distro’s live medium, mount/chroot your disk, and reinstall the boot loader.

Yeah, some uefi firmware go “above and beyond” to try booting windos like that.

The hands off solution is to have your linux efi bootloader in the “fallback efi bootloader” location.
Many distros do this by default already because reasons, Debian does not but can be set to do so

1 Like

Solid advice. Will do that as I do have secure boot enabled.

I am AMD and secure boot. I will check if there are any MOK keys to import.

No dual boot. Totally separate drive but I have checked grub.cfg and I can see an entry for my windows drive.

I actually have that enabled myself.

The point is MSI should not be messing with such things. If they wanted to give you an option to reset everything to defaults (in case you’ve totally messed up your settings)? Sure, that would be a smart and user-friendly thing to do. But resetting everything to a Microsoft-oriented configuration is not the user-hostile results I should expect in a motherboard I paid for.

I don’t think MSI was ever known for being user-friendly. That aside, it sounds like the BIOS update includes a mandatory reset to defaults, which would indeed wipe all UEFI boot entries, and boot the SSD from the fallback loader in /EFI/BOOT, which is likely to be the Windows bootloader.

Thanks all. Update went smoothly. Had to have the BIOS update on a USB though as even though the BIOS update tool could see my NTFS drive and navigate to the directory and see the new BIOS update it would not show it as “selected”.

Either way, update done and no issues so far and booted straight back into Fedora.