Get BIOS Information Using CLI

In Linux, there are many ways we can use to get BIOS information.

The first way is by reading the information from the /sys/class/dmi/id/. The command is look like this:

$ sudo head /sys/class/dmi/id/bios_*

==> /sys/class/dmi/id/bios_date <==
04/17/2019

==> /sys/class/dmi/id/bios_vendor <==
American Megatrends Inc.

==> /sys/class/dmi/id/bios_version <==
UX303UA.303

The other way is using dmidecode command. dmidecode read DMI/SMBIOS and displays system informations like hardware details, serial numbers and BIOS information etc. in human readable format.

To install dmidecode use the following command:

Ubuntu:

$ sudo apt-get install dmidecode

RHEL/CentOS

$ sudo yum install dmidecode

Fedora

$ sudo dnf install dmidecode

Arch based

$ sudo pacman -S dmidecode

Example:

$ sudo dmidecode -t bios // display bios information
 # dmidecode 3.3
 Getting SMBIOS data from sysfs.
 SMBIOS 3.0.0 present.
 Handle 0x0000, DMI type 0, 24 bytes
 BIOS Information
         Vendor: American Megatrends Inc.
         Version: UX303UA.303
         Release Date: 04/17/2019
         Address: 0xF0000
         Runtime Size: 64 kB
         ROM Size: 6016 kB
         Characteristics:
                 PCI is supported
                 BIOS is upgradeable
                 BIOS shadowing is allowed
                 Boot from CD is supported
                 Selectable boot is supported
                 BIOS ROM is socketed
                 EDD is supported
                 5.25"/1.2 MB floppy services are supported (int 13h)
                 3.5"/720 kB floppy services are supported (int 13h)
                 3.5"/2.88 MB floppy services are supported (int 13h)
                 Print screen service is supported (int 5h)
                 8042 keyboard services are supported (int 9h)
                 Serial services are supported (int 14h)
                 Printer services are supported (int 17h)
                 ACPI is supported
                 USB legacy is supported
                 Smart battery is supported
                 BIOS boot specification is supported
                 Targeted content distribution is supported
                 UEFI is supported
         BIOS Revision: 5.11
 Handle 0x0024, DMI type 13, 22 bytes
 BIOS Language Information
         Language Description Format: Long
         Installable Languages: 1
                 en|US|iso8859-1
         Currently Installed Language: en|US|iso8859-1
$ sudo dmidecode -t system // display system information
 # dmidecode 3.3
 Getting SMBIOS data from sysfs.
 SMBIOS 3.0.0 present.
 Handle 0x0001, DMI type 1, 27 bytes
 System Information
         Manufacturer: ASUSTeK COMPUTER INC.
         Product Name: UX303UA
         Version: 1.0
         Serial Number: GBN0CJIRR00T44B
         UUID: 36fd33de-88a0-7b43-8165-a1a579014e26
         Wake-up Type: Power Switch
         SKU Number: ASUS-NotebookSKU
         Family: UX
 Handle 0x000C, DMI type 32, 20 bytes
 System Boot Information
         Status: No errors detected
$ sudo dmidecode -t processor // display processor information
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.
Handle 0x0011, DMI type 4, 48 bytes
Processor Information
Socket Designation: U3E1
Type: Central Processor
Family: Core i5
Manufacturer: Intel(R) Corporation
ID: E3 06 04 00 FF FB EB BF
Signature: Type 0, Family 6, Model 78, Stepping 3
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
Voltage: 0.8 V
External Clock: 100 MHz
Max Speed: 8300 MHz
Current Speed: 2200 MHz
Status: Populated, Enabled
Upgrade: Other
L1 Cache Handle: 0x000E
L2 Cache Handle: 0x000F
L3 Cache Handle: 0x0010
Serial Number: To Be Filled By O.E.M.
Asset Tag: To Be Filled By O.E.M.
Part Number: To Be Filled By O.E.M.
Core Count: 2
Core Enabled: 2
Thread Count: 4
Characteristics:
64-bit capable
Multi-Core
Hardware Thread
Execute Protection
Enhanced Virtualization
Power/Performance Control

For another option run:

$ sudo dmidecode –help

Usage: dmidecode [OPTIONS]
Options are:
-d, --dev-mem FILE Read memory from device FILE (default: /dev/mem)
-h, --help Display this help text and exit
-q, --quiet Less verbose output
-s, --string KEYWORD Only display the value of the given DMI string
-t, --type TYPE Only display the entries of given type
-H, --handle HANDLE Only display the entry of given handle
-u, --dump Do not decode the entries
--dump-bin FILE Dump the DMI data to a binary file
--from-dump FILE Read the DMI data from a binary file
--no-sysfs Do not attempt to read DMI data from sysfs files
--oem-string N Only display the value of the given OEM string
-V, --version Display the version and exit

Leave a Reply