How to check the BIOS version or name in Linux through a command prompt?
Categories:
How to Check Your BIOS Version and Name in Linux via the Command Line

Discover multiple command-line methods to quickly retrieve your system's BIOS/UEFI version and manufacturer details on Linux, essential for troubleshooting and updates.
Understanding your system's BIOS (Basic Input/Output System) or UEFI (Unified Extensible Firmware Interface) version is crucial for various tasks, including troubleshooting hardware issues, applying firmware updates, or verifying compatibility with new components. While Windows users might typically check this information through system utilities, Linux offers several powerful command-line tools to extract these details directly from your system's DMI (Desktop Management Interface) data. This article will guide you through the most common and effective methods.
Understanding BIOS/UEFI and DMI
Before diving into the commands, it's helpful to understand what we're looking for. The BIOS/UEFI is the firmware that initializes your computer's hardware during the boot process. DMI, also known as SMBIOS (System Management BIOS), is a standard that defines how system information (like manufacturer, model, serial number, and BIOS version) is stored and accessed. Linux utilities often query this DMI table to provide the information you need.
The DMI table is a structured way for hardware manufacturers to provide details about the system's components. It's a rich source of information, and the tools we'll use are designed to parse this data efficiently.
flowchart TD A[Linux System] --> B{Query DMI Table} B --> C[dmidecode command] B --> D[sysfs filesystem] C --> E["BIOS Vendor, Version, Date"] D --> E
Flowchart illustrating how Linux queries DMI for BIOS information.
Method 1: Using dmidecode
(Recommended)
The dmidecode
utility is the most comprehensive and widely used tool for extracting DMI information on Linux. It reads the DMI table and presents its contents in a human-readable format. This command requires root privileges because it accesses low-level system information.
sudo dmidecode -t bios
Command to display detailed BIOS information using dmidecode
.
When you run this command, you'll see output similar to this:
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: American Megatrends Inc.
Version: 080015
Release Date: 07/02/2015
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 16 MB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
EDD is supported
Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
8042 keyboard services are supported (int 9h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Targeted content distribution is supported
UEFI is supported
Firmware Revision: 5.12
Look for the Vendor
, Version
, and Release Date
fields to get the information you need. The -t bios
option specifically filters the output to show only BIOS-related entries, making it easier to parse.
sudo dmidecode | grep -A4 "BIOS Information"
to quickly filter the output for the most relevant lines without displaying the entire DMI table.Method 2: Checking the /sys/class/dmi/id/
Directory
Linux exposes much of the DMI information through the /sys
filesystem, specifically under /sys/class/dmi/id/
. This method doesn't require sudo
privileges for reading, making it a quick and easy way to get specific pieces of information.
cat /sys/class/dmi/id/bios_vendor
cat /sys/class/dmi/id/bios_version
cat /sys/class/dmi/id/bios_date
Commands to retrieve BIOS vendor, version, and date from sysfs.
These commands will directly output the respective values. For example:
$ cat /sys/class/dmi/id/bios_vendor
American Megatrends Inc.
$ cat /sys/class/dmi/id/bios_version
080015
$ cat /sys/class/dmi/id/bios_date
07/02/2015
This method is particularly useful for scripting or when you only need one specific piece of information without parsing a larger output.
Method 3: Using lshw
The lshw
(list hardware) command provides a detailed overview of your system's hardware configuration. While it's more general-purpose than dmidecode
, it can also display BIOS information.
sudo lshw -short | grep BIOS
sudo lshw -class system
Commands to find BIOS information using lshw
.
The first command (lshw -short | grep BIOS
) will give you a concise line about the BIOS:
$ sudo lshw -short | grep BIOS
/0/0 firmware BIOS
This might not be detailed enough. For more comprehensive information, use sudo lshw -class system
and look for the firmware
section:
*-firmware
description: BIOS
vendor: American Megatrends Inc.
physical id: 0
version: 080015
date: 07/02/2015
size: 16MiB
capacity: 16MiB
This output provides the vendor, version, and date, similar to dmidecode
but within the broader hardware listing.
dmidecode
or lshw
installed. On Debian/Ubuntu, use sudo apt install dmidecode lshw
. On Fedora/RHEL, use sudo dnf install dmidecode lshw
.Summary of Methods
Each method has its advantages. dmidecode
is the most direct and detailed for DMI information. The /sys
filesystem approach is lightweight and doesn't require sudo
for reading specific files. lshw
offers a broader hardware overview, including BIOS details.
1. Open your terminal
Launch your preferred terminal application on your Linux distribution.
2. Choose your command
Decide which command best suits your needs:
- For detailed BIOS/UEFI info:
sudo dmidecode -t bios
- For quick, specific details (vendor, version, date):
cat /sys/class/dmi/id/bios_vendor
,cat /sys/class/dmi/id/bios_version
,cat /sys/class/dmi/id/bios_date
- For a broader hardware overview including BIOS:
sudo lshw -class system
3. Execute the command
Type the chosen command into the terminal and press Enter. Provide your password if prompted for sudo
.
4. Locate the information
Review the output to find the 'Vendor', 'Version', and 'Release Date' (or 'Date') fields for your BIOS/UEFI firmware.