---
title: "How to update your computer's BIOS/EFI/firmware in Linux"
url: 'https://ra1ahq.blog/en/kak-v-linux-obnovit-proshivku-kompyutera-bios-efi-firmware'
markdown: 'https://ra1ahq.blog/en/kak-v-linux-obnovit-proshivku-kompyutera-bios-efi-firmware.md'
lang: en
date: '2026-02-10'
description: 'How to flash BIOS from Linux? Instructions for updating the BIOS/EFI/firmware of a personal computer from Linux. Introd'
taxonomy:
  archives_month:
    - feb_2026
  archives_year:
    - '2026'
---

# How to update your computer's BIOS/EFI/firmware in Linux

10 

 February 

 2026 

 ![How to update your computer's BIOS/EFI/firmware in Linux](https://ra1ahq.blog/images/1/6/6/5/7/16657ddd7c56a2abc69f2e489675f11d8d837441-bios.png)15:11

### How to update your computer's BIOS/EFI/firmware in Linux

10 February 2026 15:11

How to flash BIOS from Linux? Instructions for updating the BIOS/EFI/firmware of a personal computer from Linux.

### Introduction

Updating your computer's BIOS is necessary to support new processor models. For example, updating the BIOS must be done before installing a more modern, powerful processor that is not supported by the original BIOS version.

Sometimes the developer company releases new BIOS versions to eliminate errors or add new functions (for example, the ability to “overclock” the processor).

The update is always available on the motherboard manufacturer's website on the Internet in the form of a self-extracting archive (EXE) file, which contains the utility (executable EXE file) for the firmware, the firmware itself (binary file) and autoexec.bat (command file).

The usual method of updating the BIOS with a DOS boot disk has now become inconvenient, as it takes a long time:

- First you need to buy a flash drive,
- download FreeDOS,
- burn the FreeDOS IMG file using Rufus to a USB drive,
- then extract the utility EXE file and the firmware file from the archive with the BIOS firmware onto a bootable USB flash drive,
- boot from a USB flash drive with firmware, and the EXE utility will automatically flash the computer's ROM.

If your PC has LInux installed, there is a time-saving way to flash a new BIOS version into the computer ROM from a Terminal window.

### 1. Preparation

#### 1.1 Find out the motherboard model

You can find out the motherboard model in two ways:
1\) hardware. Open the computer case, find the motherboard and read the inscription - manufacturer and model of the motherboard,
2\) software - install the lshw package and run the utility of the same name with the "-C system" switch.

```
sudo apt install lshw
sudo lshw -C system | head -7
```

Where "head -7" limits the output to the first 7 lines.

```
sudo lshw -C system | head -7
green-pro
Description: Desktop computer
product: H55M-S2H
manufacturer: Gigabyte Technology Co., Ltd.
bit depth: 64 bits
capabilities: smbios-2.4 dmi-2.4 smp vsyscall32
configuration: boot=normal chassis=desktop uuid=...
```

In my case, the product is H55M-S2H from Gigabyte Technology Co., Ltd..

#### 1.1 Find out the BIOS firmware version number

The dmidecode utility with the -t bios switch shows the BIOS firmware version.

```
sudo apt install dmidecode
sudo dmidecode -t bios | head -12
```

![before_flashing](https://ra1ahq.blog/images/7/a/4/c/3/7a4c380885836b4639b2a474583088d0c92e6aed-beforeflashing.png "before_flashing")

#### 1.2 Download the firmware version from the manufacturer’s website

On the Internet, go to the website of the manufacturer of your motherboard - section Support, enter or find your model - download the BIOS update.
Naturally, you need to download the latest version of the BIOS firmware.

![gigabyte](https://ra1ahq.blog/images/3/a/1/8/b/3a18b65334961385f3d92c79ab79f6451531a417-gigabyte.png "gigabyte")

#### 1.2 Extract the binary firmware file from the update archive

Right-click on the EXE file - Extract here.
![unzip1](https://ra1ahq.blog/images/7/0/9/2/e/7092e938e16a86d7a4321cdbdbe00f7f1d907edc-unzip1.png "unzip1")
Go to the folder
![unzip2](https://ra1ahq.blog/images/1/b/8/9/9/1b8992db21bc1b130902a77fb2f94ef82cc950c8-unzip2.png "unzip2")
We notice the firmware file. His **name** can be copied to the clipboard. Using the right mouse button - "Rename" - select the file name - copy to the clipboard.
![unzip3](https://ra1ahq.blog/images/2/e/f/3/f/2ef3fce1d874323190e2b46a073855b1adefbffd-unzip3.png "unzip3")

#### 1.3 Installing the firmware utility

Need to install package **`flashrom`**.

```
sudo apt install flashrom
```

**Flashrom application description:**

*Identify, read, write, erase and test BIOS/ROM/flash memory chips.
**flashrom** is a tool for identifying, reading, writing, checking and erasing flash memory chips.
It is often used to flash BIOS/EFI/coreboot/firmware/optionROM images on a system using a supported motherboard, but also supports flashing network interface cards (NICs), SATA controllers, and other external devices that can program flash memory chips.*

*It supports a wide range of DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32/40/48 and BGA chips using various protocols such as LPC, FWH, parallel flash or SPI.*

*The tool can be used, for example, to flash BIOS/firmware images - be it proprietary BIOS images or coreboot images (formerly known as LinuxBIOS).*

*It can also be used to read the current existing BIOS/firmware from the flash memory chip.*

*Home page:<http://www.flashrom.org>.*

### 2. BIOS/EFI/firmware

#### 2.1 Reading from ROM and saving an old version of BIOS/EFI/firmware to disk

ROM is the read-only memory or flash memory of a computer. I read the old version of the firmware using the utility **`flashrom`**:

```
cd Downloads
sudo flashrom -p internal -r h55ms2h.f1
```

where `h55ms2h.f1`- the name of the firmware file of the first version in this case is “F1” (for simplicity, you can use the file name “bios.old”).

![read](https://ra1ahq.blog/kak-v-linux-obnovit-proshivku-kompyutera-bios-efi-firmware/read.png "read")

#### 2.2 Writing a new version of BIOS/EFI/firmware to ROM

In my case, the firmware version F7 has the file name h55ms2h.f7

Before writing the firmware to ROM, make sure that the firmware file matches **models** motherboard.

If the PC has a small amount of RAM, close all unnecessary programs except Terminal so that swapping does not occur, i.e. dumping the contents of memory onto the hard disk into the swap file.

**Launching the firmware using the flashrom utility:**

```
sudo flashrom -p internal -w h55ms2h.f7
```

We will never turn off the computer during the firmware installation! We are waiting for the inscriptions “Erase/write done” and “Verifying flash... VERIFIED” to appear.
![write](https://ra1ahq.blog/images/5/8/0/8/0/580800ff9acaafe9d52517d7598f8cad21079944-write.png "write")

### 3. Reboot the PC

```
sudo reboot
```

or

```
sudo shutdown -r now
```

### 4. Check the BIOS/EFI/firmware version

```
sudo dmidecode -t bios | head -12
```

Result:
![after_flashing](https://ra1ahq.blog/images/8/f/d/b/6/8fdb69ec46a3f03a62254a4d8f6c9482b4a2f56a-afterflashing.png "after_flashing")

### 5. Problems and solutions

#### 5.1 Flashrom error: mmap "Operation not permitted"

Depending on the memory chip with the BIOS, when reading the ROM with the read command
`sudo flashrom -p internal -r bios.old`
an error may occur **"mmap failed: Operation not permitted"**.

`Found chipset "Intel ICH7/ICH7R".<br></br>Enabling flash write... Error accessing ICH RCRB, 0x4000 bytes at 0x00000000fed1c000<br></br>/dev/mem mmap failed: Operation not permitted<br></br>FAILED!<br></br>FATAL ERROR!<br></br>Error: Programmer initialization failed.`

**Solution:**

Add a kernel parameter

**`iomem=relaxed`**

To do this, after the message on the screen "Grub loading." and "Welcome to Grub",
in the Grub2 menu, press "e" and add the linux kernel parameter:

`linux /boot/vmlinuz-x.xx.xx ... ro quiet iomem=relaxed`

And click **F10** to continue loading Linux.

#### 5.2 If the BIOS has two chips, how to flash both chips

For the "shadow" shadow-BIOS, two ROM chips are used.
The flashrom -p utility will report this when called without the -c parameter.
To read or write, you need to specify the additional key -c "chip name".
I flashed both chips.

Example:

```
sudo flashrom -p internal -w 1394.ROM -c "Pm25LD040(C)" 
sudo flashrom -p internal -w 1394.ROM -c "Pm25LV040" 
```

---

Free illustration: [publicdomainvectors.org](https://publicdomainvectors.org/en/free-clipart/BIOS-chip-vector-graphics/13475.html).

[ Backward](https://ra1ahq.blog/en/radio-mariya-vosstanovilo-veshanie-na-chastote-1053-kgc-s-radiocentra-v-olgino "Previuous page")

[ Forward ](https://ra1ahq.blog/en/nezavisimyi-ot-distributiva-menedzher-paketov-pkcon "Next page")

## Languages

- [Русский](https://ra1ahq.blog/posts/kak-v-linux-obnovit-proshivku-kompyutera-bios-efi-firmware)
- [English](https://ra1ahq.blog/en/kak-v-linux-obnovit-proshivku-kompyutera-bios-efi-firmware)
- [Deutsch](https://ra1ahq.blog/de/posts/kak-v-linux-obnovit-proshivku-kompyutera-bios-efi-firmware)
- [Français](https://ra1ahq.blog/fr/posts/kak-v-linux-obnovit-proshivku-kompyutera-bios-efi-firmware)
- [中文 (简体) (cn)](https://ra1ahq.blog/zh-cn/posts/kak-v-linux-obnovit-proshivku-kompyutera-bios-efi-firmware)

## Theme

## RSS feeds

 [ Atom 1.0](https://ra1ahq.blog/en/.atom) [ RSS](https://ra1ahq.blog/en/.rss) 

## Popular tags

 [APRS](https://ra1ahq.blog/en/tag:APRS) [CW](https://ra1ahq.blog/en/tag:CW) [DX](https://ra1ahq.blog/en/tag:DX) [FM](https://ra1ahq.blog/en/tag:FM) [Linux](https://ra1ahq.blog/en/tag:Linux) [VHF](https://ra1ahq.blog/en/tag:VHF) [antennas](https://ra1ahq.blog/en/tag:antennas) [firefox](https://ra1ahq.blog/en/tag:firefox) [morse](https://ra1ahq.blog/en/tag:morse) [soundtrack](https://ra1ahq.blog/en/tag:soundtrack) [video](https://ra1ahq.blog/en/tag:video) [windows](https://ra1ahq.blog/en/tag:windows) [youtube](https://ra1ahq.blog/en/tag:youtube) [КВ](https://ra1ahq.blog/en/tag:%D0%9A%D0%92) [ТВ](https://ra1ahq.blog/en/tag:%D0%A2%D0%92) [УКВ](https://ra1ahq.blog/en/tag:%D0%A3%D0%9A%D0%92) [антенны](https://ra1ahq.blog/en/tag:%D0%B0%D0%BD%D1%82%D0%B5%D0%BD%D0%BD%D1%8B) [безопасность](https://ra1ahq.blog/en/tag:%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C) [длинные волны](https://ra1ahq.blog/en/tag:%D0%B4%D0%BB%D0%B8%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%B2%D0%BE%D0%BB%D0%BD%D1%8B) [путешествия](https://ra1ahq.blog/en/tag:%D0%BF%D1%83%D1%82%D0%B5%D1%88%D0%B5%D1%81%D1%82%D0%B2%D0%B8%D1%8F) [религия](https://ra1ahq.blog/en/tag:%D1%80%D0%B5%D0%BB%D0%B8%D0%B3%D0%B8%D1%8F) [соревнования](https://ra1ahq.blog/en/tag:%D1%81%D0%BE%D1%80%D0%B5%D0%B2%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) [спутники](https://ra1ahq.blog/en/tag:%D1%81%D0%BF%D1%83%D1%82%D0%BD%D0%B8%D0%BA%D0%B8) [средние волны](https://ra1ahq.blog/en/tag:%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D0%B5%20%D0%B2%D0%BE%D0%BB%D0%BD%D1%8B) [схемы](https://ra1ahq.blog/en/tag:%D1%81%D1%85%D0%B5%D0%BC%D1%8B) [тесты](https://ra1ahq.blog/en/tag:%D1%82%D0%B5%D1%81%D1%82%D1%8B) [трансивер](https://ra1ahq.blog/en/tag:%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%B8%D0%B2%D0%B5%D1%80) [управление](https://ra1ahq.blog/en/tag:%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5) [фотографии](https://ra1ahq.blog/en/tag:%D1%84%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%B8) 

## Random post

 [ I'll be lucky!](https://ra1ahq.blog/en/random) 

## Archive of posts

- [ October 2026 ✒ 1 ](https://ra1ahq.blog/en/archives_month:oct_2026)
- [ September 2026 ✒ 9 ](https://ra1ahq.blog/en/archives_month:sep_2026)
- [ August 2026 ✒ 6 ](https://ra1ahq.blog/en/archives_month:aug_2026)
- [ July 2026 ✒ 13 ](https://ra1ahq.blog/en/archives_month:jul_2026)
- [ June 2026 ✒ 8 ](https://ra1ahq.blog/en/archives_month:jun_2026)
- [ May 2026 ✒ 2 ](https://ra1ahq.blog/en/archives_month:may_2026)
- [ April 2026 ✒ 6 ](https://ra1ahq.blog/en/archives_month:apr_2026)
- [ March 2026 ✒ 3 ](https://ra1ahq.blog/en/archives_month:mar_2026)
- [ February 2026 ✒ 7 ](https://ra1ahq.blog/en/archives_month:feb_2026)
- [ January 2026 ✒ 8 ](https://ra1ahq.blog/en/archives_month:jan_2026)
- [ December 2025 ✒ 12 ](https://ra1ahq.blog/en/archives_month:dec_2025)
- [ November 2025 ✒ 9 ](https://ra1ahq.blog/en/archives_month:nov_2025)
- [ October 2025 ✒ 8 ](https://ra1ahq.blog/en/archives_month:oct_2025)
- [ September 2025 ✒ 5 ](https://ra1ahq.blog/en/archives_month:sep_2025)
- [ August 2025 ✒ 8 ](https://ra1ahq.blog/en/archives_month:aug_2025)
- [ July 2025 ✒ 6 ](https://ra1ahq.blog/en/archives_month:jul_2025)
- [ June 2025 ✒ 10 ](https://ra1ahq.blog/en/archives_month:jun_2025)
- [ May 2025 ✒ 4 ](https://ra1ahq.blog/en/archives_month:may_2025)
- [ April 2025 ✒ 4 ](https://ra1ahq.blog/en/archives_month:apr_2025)
- [ March 2025 ✒ 4 ](https://ra1ahq.blog/en/archives_month:mar_2025)
- [ February 2025 ✒ 11 ](https://ra1ahq.blog/en/archives_month:feb_2025)
- [ December 2024 ✒ 8 ](https://ra1ahq.blog/en/archives_month:dec_2024)
- [ November 2024 ✒ 2 ](https://ra1ahq.blog/en/archives_month:nov_2024)
- [ October 2024 ✒ 8 ](https://ra1ahq.blog/en/archives_month:oct_2024)
- [ September 2024 ✒ 3 ](https://ra1ahq.blog/en/archives_month:sep_2024)
- [ August 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:aug_2024)
- [ July 2024 ✒ 9 ](https://ra1ahq.blog/en/archives_month:jul_2024)
- [ June 2024 ✒ 6 ](https://ra1ahq.blog/en/archives_month:jun_2024)
- [ May 2024 ✒ 7 ](https://ra1ahq.blog/en/archives_month:may_2024)
- [ April 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:apr_2024)
- [ March 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:mar_2024)
- [ February 2024 ✒ 5 ](https://ra1ahq.blog/en/archives_month:feb_2024)
- [ January 2024 ✒ 6 ](https://ra1ahq.blog/en/archives_month:jan_2024)
- [ December 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:dec_2023)
- [ November 2023 ✒ 4 ](https://ra1ahq.blog/en/archives_month:nov_2023)
- [ October 2023 ✒ 8 ](https://ra1ahq.blog/en/archives_month:oct_2023)
- [ September 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:sep_2023)
- [ August 2023 ✒ 4 ](https://ra1ahq.blog/en/archives_month:aug_2023)
- [ July 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jul_2023)
- [ June 2023 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jun_2023)
- [ May 2023 ✒ 5 ](https://ra1ahq.blog/en/archives_month:may_2023)
- [ April 2023 ✒ 6 ](https://ra1ahq.blog/en/archives_month:apr_2023)
- [ March 2023 ✒ 5 ](https://ra1ahq.blog/en/archives_month:mar_2023)
- [ February 2023 ✒ 2 ](https://ra1ahq.blog/en/archives_month:feb_2023)
- [ January 2023 ✒ 5 ](https://ra1ahq.blog/en/archives_month:jan_2023)
- [ December 2022 ✒ 7 ](https://ra1ahq.blog/en/archives_month:dec_2022)
- [ November 2022 ✒ 8 ](https://ra1ahq.blog/en/archives_month:nov_2022)
- [ October 2022 ✒ 6 ](https://ra1ahq.blog/en/archives_month:oct_2022)
- [ September 2022 ✒ 9 ](https://ra1ahq.blog/en/archives_month:sep_2022)
- [ August 2022 ✒ 8 ](https://ra1ahq.blog/en/archives_month:aug_2022)
- [ July 2022 ✒ 4 ](https://ra1ahq.blog/en/archives_month:jul_2022)
- [ June 2022 ✒ 9 ](https://ra1ahq.blog/en/archives_month:jun_2022)
- [ May 2022 ✒ 7 ](https://ra1ahq.blog/en/archives_month:may_2022)
- [ April 2022 ✒ 3 ](https://ra1ahq.blog/en/archives_month:apr_2022)
- [ March 2022 ✒ 4 ](https://ra1ahq.blog/en/archives_month:mar_2022)
- [ February 2022 ✒ 6 ](https://ra1ahq.blog/en/archives_month:feb_2022)
- [ January 2022 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jan_2022)
- [ December 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:dec_2021)
- [ November 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:nov_2021)
- [ October 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:oct_2021)
- [ September 2021 ✒ 10 ](https://ra1ahq.blog/en/archives_month:sep_2021)
- [ August 2021 ✒ 6 ](https://ra1ahq.blog/en/archives_month:aug_2021)
- [ July 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jul_2021)
- [ June 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:jun_2021)
- [ May 2021 ✒ 7 ](https://ra1ahq.blog/en/archives_month:may_2021)
- [ April 2021 ✒ 4 ](https://ra1ahq.blog/en/archives_month:apr_2021)
- [ March 2021 ✒ 4 ](https://ra1ahq.blog/en/archives_month:mar_2021)
- [ February 2021 ✒ 3 ](https://ra1ahq.blog/en/archives_month:feb_2021)
- [ January 2021 ✒ 4 ](https://ra1ahq.blog/en/archives_month:jan_2021)
- [ December 2020 ✒ 8 ](https://ra1ahq.blog/en/archives_month:dec_2020)
- [ November 2020 ✒ 2 ](https://ra1ahq.blog/en/archives_month:nov_2020)
- [ October 2020 ✒ 3 ](https://ra1ahq.blog/en/archives_month:oct_2020)
- [ September 2020 ✒ 3 ](https://ra1ahq.blog/en/archives_month:sep_2020)
- [ August 2020 ✒ 5 ](https://ra1ahq.blog/en/archives_month:aug_2020)
- [ July 2020 ✒ 5 ](https://ra1ahq.blog/en/archives_month:jul_2020)
- [ June 2020 ✒ 8 ](https://ra1ahq.blog/en/archives_month:jun_2020)
- [ May 2020 ✒ 10 ](https://ra1ahq.blog/en/archives_month:may_2020)
- [ April 2020 ✒ 4 ](https://ra1ahq.blog/en/archives_month:apr_2020)
- [ March 2020 ✒ 2 ](https://ra1ahq.blog/en/archives_month:mar_2020)
- [ January 2020 ✒ 1 ](https://ra1ahq.blog/en/archives_month:jan_2020)
- [ December 2019 ✒ 2 ](https://ra1ahq.blog/en/archives_month:dec_2019)

## Search

## Weather forecast

[На 14 дней](https://world-weather.ru/pogoda/russia/saint_petersburg/14days/)
[world-weather.ru](https://world-weather.ru/)

---

## Navigation

- Parent: [RA1AHQ](https://ra1ahq.blog/en/index.md)
- Previous: [Distribution-independent package manager "pkcon"](https://ra1ahq.blog/en/nezavisimyi-ot-distributiva-menedzher-paketov-pkcon.md)
- Next: [Radio Maria has restored broadcasting on a frequency of 1053 kHz from the radio center in Olgino](https://ra1ahq.blog/en/radio-mariya-vosstanovilo-veshanie-na-chastote-1053-kgc-s-radiocentra-v-olgino.md)
