How to check the BIOS version or name in Linux through a command prompt?

Learn how to check the bios version or name in linux through a command prompt? with practical examples, diagrams, and best practices. Covers linux, terminal, bios development techniques with visual...

How to Check Your BIOS Version and Name in Linux via the Command Line

Hero image for How to check the BIOS version or name in Linux through a command prompt?

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.

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.

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.

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.