dmidecode 解析 SMBIOS/DMI 表,是獲取主板、CPU、記憶體、機箱、BIOS 等硬件資產信息的標準工具。本文說明提取序列號、UUID、資產標籤等關鍵字段方法。
# 完整輸出(需 root)
dmidecode
# 按類型過濾(-t type)
dmidecode -t system # 系統級:製造商、產品名、版本、序列號、UUID
dmidecode -t baseboard # 主板:製造商、產品名、版本、序列號、資產標籤
dmidecode -t chassis # 機箱:類型、製造商、序列號、資產標籤
dmidecode -t processor # CPU:插槽、型號、核心數、最大頻率
dmidecode -t memory # 記憶體:插槽、容量、速度、製造商、序列號
dmidecode -t bios # BIOS:廠商、版本、發布日期、特性
# 系統序列號(通常等同主板序列號)
dmidecode -s system-serial-number
# 主板序列號
dmidecode -s baseboard-serial-number
# 機箱序列號
dmidecode -s chassis-serial-number
# 所有關鍵字段
dmidecode -s system-manufacturer
dmidecode -s system-product-name
dmidecode -s system-version
dmidecode -s system-uuid
dmidecode -s baseboard-manufacturer
dmidecode -s baseboard-product-name
dmidecode -s baseboard-asset-tag
不同廠商 DMI 表填寫規範性不同:
#!/bin/bash
collect_asset() {
local type=$1
dmidecode -t $type 2>/dev/null | awk -F': ' '/Manufacturer|Product Name|Version|Serial Number|Asset Tag|UUID/ {print $1": "$2}'
}
echo "=== System ==="; collect_asset system
echo "=== Baseboard ==="; collect_asset baseboard
echo "=== Chassis ==="; collect_asset chassis
| 工具 | 特點 |
|---|---|
lshw | 更豐富層級輸出,支援 JSON/XML,lshw -json |
lscpu | 專注 CPU 拓撲、架構、旗標 |
lsblk | 塊設備樹、大小、掛載點 |
lspci -nn | PCI 設備、廠商/設備 ID |
ipmitool fru | IPMI 管理卡視角 FRU 信息(遠程無需 OS) |
/sys/class/dmi/id/ | 核心暴露的只讀文件,無需 root:cat /sys/class/dmi/id/product_serial |