Skip to content

BIOS Update Guide

Motherboard: MSI MAG X870E TOMAHAWK WIFI Bootloaders installed:

  • GRUB for Arch Linux
  • Windows Boot Manager for Windows 11

This is important because after updating the BIOS, the GRUB boot entry was removed from NVRAM (the Arch installation itself remained untouched). A fix for this issue is included at the end of the document. Restoring GRUB


Downloading the BIOS Update from MSI

Before downloading, review all available BIOS versions and read the changelogs. If multiple updates are available, install them incrementally, focusing on major or critical updates first.

MSI support page with drivers for MY motherboard:

https://www.msi.com/Motherboard/MAG-X870E-TOMAHAWK-WIFI/support


Preparing the USB Drive

Identify the USB device

lsblk

Example output:

sdX
├─sdX1

Unmount the USB

A device must not be mounted while modifying partitions or formatting.

sudo umount /dev/sdX*

Wipe Old Filesystem Signatures

Removes leftover ISO bootloader data, old partition tables, or corrupted signatures.

sudo wipefs -a /dev/sdX

Create a New GPT Partition Table

sudo parted /dev/sdX mklabel gpt

Create a New FAT32 Partition

sudo parted -a optimal /dev/sdX mkpart primary fat32 0% 100%

Explanation:

  • optimal – improves performance and reduces flash wear
  • primary – GPT treats all partitions as primary
  • 0%–100% range – uses the entire drive

Format the new partition as FAT32

sudo mkfs.vfat -F32 /dev/sdX1

(Optional) Assign a Label

sudo fatlabel /dev/sdX1 DRIVERS

Copy BIOS Files to the USB Drive

Drivers or BIOS updates are usually distributed as .zip archives.

sudo mount /dev/sdbX /mnt
cd ~/Downloads
unzip bios.zip
mv extracted_folder /mnt/
sudo umount /mnt

After copying the files, reboot the system and press F2, F12, or Del to enter BIOS (keys vary by motherboard).


Restoring GRUB

After a successful BIOS update, the GRUB entry may disappear from the boot menu. To fix this, you need a bootable USB with Arch Linux (or any Linux live environment with a shell).

Create a Bootable USB

Follow Arch Linux Installation - Preparing USB

Identify System Partitions

lsblk -f

Example layout:

  • nvme0n1p1 – EFI partition
  • nvme0n1p2 – swap
  • nvme0n1p3 – root filesystem

Mount the System

mount /dev/nvme0n1p3 /mnt 
mount --mkdir /dev/nvme0n1p1 /mnt/boot

Enter the Installed System

arch-chroot /mnt

Reinstall GRUB

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB-Arch

Regenerate GRUB Configuration

grub-mkconfig -o /boot/grub/grub.cfg