Linuxを使っていると、「このマシンのBIOSバージョンは?」「メーカーや型番はどうなってる?」と確認したくなることがあります。
Windows PCならBIOS画面を開けば見られますが、サーバーやリモート環境では画面を見られないことも多いですよね。
実はLinuxには、コマンド一つでBIOSやハードウェアの詳細情報を確認できるツールがいくつも用意されています。
今回は、LinuxでBIOSやUEFI情報を確認する様々な方法を、初心者の方にも分かりやすく解説していきます。
BIOS情報とは何か?

パソコンの「出生証明書」のような存在
BIOS(バイオス)やUEFI(ユーイーエフアイ)は、パソコンの電源を入れた時に最初に起動するプログラムです。
BIOS情報には、以下のような重要な情報が含まれています:
システム情報:
- メーカー名(Dell、HP、Lenovoなど)
- 製品名・型番
- シリアルナンバー
- BIOSバージョン
- リリース日
ハードウェア情報:
- マザーボードの型番
- CPUの種類
- メモリ容量
- ファームウェアのタイプ(BIOS/UEFI)
これらの情報は、トラブルシューティングやサポート依頼、アップデートなどで必要になります。
BIOSとUEFIの違い
最近のパソコンは、従来のBIOSからUEFIに移行しています。
BIOS(Basic Input/Output System):
- 古い方式
- 2TBまでのディスク対応
- 起動が遅い
- セキュリティ機能が限定的
UEFI(Unified Extensible Firmware Interface):
- 新しい方式
- 2TB以上のディスク対応
- 高速起動(Secure Boot)
- セキュリティ機能が充実
Linuxでは、どちらのタイプかも簡単に確認できます。
なぜBIOS情報の確認が必要なのか?
トラブルシューティング
ハードウェアの問題を調査する際、正確なモデル情報が必要になります。
例:
- ドライバのインストール
- ファームウェアのアップデート
- 互換性の確認
サポート依頼
メーカーのサポートに問い合わせる際、製品名やシリアル番号を求められることがあります。
サーバーが遠隔地にある場合、コマンドで確認できると便利ですね。
システム管理
複数のサーバーを管理している場合、各マシンの情報を把握する必要があります。
スクリプトで自動収集できると、管理が楽になります。
セキュリティ監査
企業環境では、導入されているハードウェアの正確なインベントリが求められることがあります。
dmidecode – 最も詳細な情報を取得
BIOS情報の決定版コマンド
dmidecodeは、DMI(Desktop Management Interface)テーブルから情報を読み取るコマンドです。
BIOSやハードウェアに関する最も詳細な情報が得られます。
基本的な使い方:
sudo dmidecode
大量の情報が表示されるので、通常はlessで見やすくします:
sudo dmidecode | less
BIOS情報のみ表示
タイプを指定して表示:
sudo dmidecode -t bios
出力例:
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.
Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
Vendor: American Megatrends Inc.
Version: F10
Release Date: 03/15/2023
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
BIOS ROM is socketed
EDD is supported
UEFI is supported
BIOS Revision: 5.17
重要な項目:
- Vendor:BIOSメーカー
- Version:BIOSバージョン
- Release Date:リリース日
- UEFI is supported:UEFI対応の有無
システム情報の取得
sudo dmidecode -t system
出力例:
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: Dell Inc.
Product Name: PowerEdge R740
Version: Not Specified
Serial Number: XXXXXXXX
UUID: 4c4c4544-0058-5810-8039-b2c04f58xxxx
Wake-up Type: Power Switch
SKU Number: 0704
Family: PowerEdge
サーバーのメーカーや型番が一目瞭然です。
マザーボード情報
sudo dmidecode -t baseboard
出力例:
Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: PRIME X570-PRO
Version: Rev X.0x
Serial Number: 200508000xxxxx
メモリ情報
sudo dmidecode -t memory
搭載されているメモリの詳細(容量、速度、スロット位置など)が表示されます。
CPUの詳細情報
sudo dmidecode -t processor
CPUのモデル、コア数、スピードなどが確認できます。
よく使うタイプ一覧
| タイプ番号 | タイプ名 | 内容 |
|---|---|---|
| 0 | bios | BIOS情報 |
| 1 | system | システム情報 |
| 2 | baseboard | マザーボード情報 |
| 3 | chassis | シャーシ情報 |
| 4 | processor | CPU情報 |
| 16,17 | memory | メモリ情報 |
複数タイプを同時指定:
sudo dmidecode -t bios,system
/sys/firmware – ファイルシステム経由でアクセス
sysfsからの情報取得
Linuxの/sys/firmwareディレクトリには、ファームウェア情報がファイルとして公開されています。
BIOS情報の確認:
cat /sys/class/dmi/id/bios_vendor
cat /sys/class/dmi/id/bios_version
cat /sys/class/dmi/id/bios_date
システム情報:
cat /sys/class/dmi/id/sys_vendor
cat /sys/class/dmi/id/product_name
cat /sys/class/dmi/id/product_serial
一括確認:
grep -r . /sys/class/dmi/id/
出力例:
/sys/class/dmi/id/bios_vendor:American Megatrends Inc.
/sys/class/dmi/id/bios_version:F10
/sys/class/dmi/id/bios_date:03/15/2023
/sys/class/dmi/id/sys_vendor:Gigabyte Technology Co., Ltd.
/sys/class/dmi/id/product_name:B550 AORUS ELITE
メリット:
sudo権限が不要- シンプルで高速
- スクリプト化しやすい
lshw – ハードウェア情報の総合ツール
階層的に表示
lshwは、ハードウェア構成を階層的に表示するツールです。
インストール(未インストールの場合):
# Ubuntu/Debian
sudo apt install lshw
# CentOS/RHEL
sudo yum install lshw
基本的な使い方:
sudo lshw
BIOS情報のみ表示
sudo lshw -class firmware
出力例:
*-firmware
description: BIOS
vendor: American Megatrends Inc.
physical id: 0
version: F10
date: 03/15/2023
size: 64KiB
capacity: 16MiB
capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer acpi usb biosbootspecification uefi
ショート形式で表示
sudo lshw -short
システム全体の構成を一覧表示します。
HTML形式で出力
sudo lshw -html > hardware.html
ブラウザで見やすい形式で保存できます。
inxi – ユーザーフレンドリーな情報表示
見やすく整形された出力
inxiは、システム情報を分かりやすく表示するツールです。
インストール:
# Ubuntu/Debian
sudo apt install inxi
# CentOS/RHEL(EPELリポジトリが必要)
sudo yum install epel-release
sudo yum install inxi
基本情報の表示
inxi -F
出力例:
System:
Host: myserver Kernel: 5.15.0-56-generic x86_64 bits: 64
Desktop: GNOME 42.5 Distro: Ubuntu 22.04.1 LTS (Jammy Jellyfish)
Machine:
Type: Desktop System: Gigabyte product: B550 AORUS ELITE v: -CF
serial: <superuser required>
Mobo: Gigabyte model: B550 AORUS ELITE v: x.x
serial: <superuser required> UEFI: American Megatrends v: F10
date: 03/15/2023
CPU:
Info: 8-core model: AMD Ryzen 7 5800X bits: 64 type: MT MCP
cache: L2: 4 MiB
Speed (MHz): avg: 2200 min/max: 2200/4850
BIOSとマザーボード情報
inxi -M
出力例:
Machine:
Type: Desktop
System: Gigabyte product: B550 AORUS ELITE v: -CF
Mobo: Gigabyte model: B550 AORUS ELITE v: x.x
UEFI: American Megatrends v: F10 date: 03/15/2023
詳細情報(フルスペック)
sudo inxi -Fxz
より詳細な情報が表示されます。-zオプションでプライバシー情報をマスクします。
BIOSかUEFIかを判別する

起動モードの確認
EFIディレクトリの存在確認:
ls /sys/firmware/efi
結果:
- ディレクトリが存在する → UEFI モード
- エラーが表示される → Legacy BIOS モード
efibootmgrコマンド
インストール:
sudo apt install efibootmgr # Ubuntu/Debian
sudo yum install efibootmgr # CentOS/RHEL
実行:
sudo efibootmgr
UEFI の場合:
ブートエントリが表示されます。
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0000,0002
Boot0000* ubuntu
Boot0001* Windows Boot Manager
Boot0002* UEFI: SanDisk
Legacy BIOS の場合:
エラーが表示されます。
dmesgログでの確認
dmesg | grep -i efi
EFI関連のメッセージがあれば、UEFIで起動しています。
biosdecode – BIOSの構造情報
より低レベルな情報
biosdecodeは、BIOS構造体をデコードして表示します。
インストール:
sudo apt install dmidecode # biosdecodeも含まれる
実行:
sudo biosdecode
出力例:
# biosdecode 3.3
SMBIOS 3.2.0 present.
Structure Table Length: 4096 bytes
Structure Table Address: 0x000E0000
Number Of Structures: 64
Maximum Structure Size: 512 bytes
ACPI 2.0 present.
OEM Identifier: ALASKA
RSD Table 32-bit Address: 0x000F0000
XSD Table 64-bit Address: 0x00000000DCFFC000
通常はdmidecodeの方が分かりやすいですが、より詳細な構造情報が必要な場合に使います。
スクリプトでの活用
システム情報の自動収集
シンプルな情報収集スクリプト:
#!/bin/bash
echo "=== BIOS情報 ==="
echo "ベンダー: $(cat /sys/class/dmi/id/bios_vendor)"
echo "バージョン: $(cat /sys/class/dmi/id/bios_version)"
echo "リリース日: $(cat /sys/class/dmi/id/bios_date)"
echo ""
echo "=== システム情報 ==="
echo "メーカー: $(cat /sys/class/dmi/id/sys_vendor)"
echo "製品名: $(cat /sys/class/dmi/id/product_name)"
echo "シリアル: $(sudo cat /sys/class/dmi/id/product_serial)"
echo ""
echo "=== ブートモード ==="
if [ -d /sys/firmware/efi ]; then
echo "UEFI モード"
else
echo "Legacy BIOS モード"
fi
実行:
chmod +x system_info.sh
./system_info.sh
CSV形式での出力
複数サーバーの情報を管理する場合に便利です。
#!/bin/bash
# ヘッダー
echo "Hostname,Vendor,Product,BIOS Version,BIOS Date"
# データ
echo "$(hostname),$(cat /sys/class/dmi/id/sys_vendor),$(cat /sys/class/dmi/id/product_name),$(cat /sys/class/dmi/id/bios_version),$(cat /sys/class/dmi/id/bios_date)"
出力例:
Hostname,Vendor,Product,BIOS Version,BIOS Date
server01,Dell Inc.,PowerEdge R740,2.10.0,01/15/2023
トラブルシューティング
権限エラー
エラー例:
/dev/mem: Permission denied
原因:
多くのコマンドは、ハードウェア情報にアクセスするためsudo権限が必要です。
対処法:
sudo dmidecode
コマンドが見つからない
エラー例:
command not found: dmidecode
対処法:
必要なパッケージをインストールします。
Ubuntu/Debian:
sudo apt update
sudo apt install dmidecode lshw inxi
CentOS/RHEL:
sudo yum install dmidecode lshw
sudo yum install epel-release
sudo yum install inxi
情報が表示されない
原因:
- 仮想マシンの場合、一部情報が取得できないことがあります
- 古いハードウェアではDMI情報が不完全な場合があります
対処法:
複数のコマンドを試してみましょう。
sudo dmidecode -t bios
sudo lshw -class firmware
inxi -M
文字化けする
原因:
ロケール設定の問題。
対処法:
export LANG=C
sudo dmidecode
よくある質問
仮想マシンでも使える?
はい、使えます。
ただし、表示される情報はホストマシンではなく、仮想ハードウェアの情報になります。
例(VMware):
System Information
Manufacturer: VMware, Inc.
Product Name: VMware Virtual Platform
Version: None
シリアル番号は見られる?
sudo権限があれば確認できます。
sudo dmidecode -t system | grep Serial
または:
sudo cat /sys/class/dmi/id/product_serial
セキュリティ上、一般ユーザーには非表示になっています。
BIOSアップデートは必要?
以下の場合は検討しましょう:
アップデートが推奨される場合:
- セキュリティ脆弱性の修正
- ハードウェア互換性の改善
- 新しいCPUのサポート
- 既知のバグ修正
リスク:
- アップデート失敗時、起動不能になる可能性
- 安定動作している場合は無理に更新しない
メーカーのリリースノートを確認してから実施してください。
リモートサーバーでも確認できる?
はい、SSHでログインして実行できます。
ssh user@server "sudo dmidecode -t bios"
複数サーバーの情報を一括収集するスクリプトも作成可能です。
まとめ:状況に応じて最適なコマンドを選ぼう
LinuxでBIOS情報を確認する方法は、複数用意されています。
この記事のポイント:
- BIOS/UEFI情報はコマンドラインで簡単に確認可能
- dmidecodeが最も詳細で汎用的
- /sys/firmwareはsudo不要で軽量
- lshwは階層的で見やすい
- inxiはユーザーフレンドリー
- /sys/firmware/efiでUEFI判別
- スクリプト化で自動収集が可能
- 仮想マシンでも使用可能
- シリアル番号はsudo権限が必要
- トラブル時はパッケージのインストールを確認
推奨コマンド:
# 詳細情報
sudo dmidecode -t bios
# 手軽に確認
cat /sys/class/dmi/id/bios_version
# 見やすく表示
inxi -M
用途に応じて使い分けることで、効率的にシステム情報を管理できます。
サーバー管理やトラブルシューティングの際に、ぜひ活用してください!


コメント