dmidecode 是一个在 Linux/Unix 系统中用于读取 DMI(Desktop Management Interface,桌面管理接口)或 SMBIOS(System Management BIOS,系统管理 BIOS)表信息的工具。DMI/SMBIOS 标准定义了一组“类型”(Types),用于表示不同类型的硬件和系统信息。
根据 DMI/SMBIOS 规范(目前主流为 SMBIOS 3.x 和 DMI 2.x/3.0),以下是 完整的 DMI/SMBIOS 类型列表(共 0~47 及一些保留/新增类型,不同版本略有差异):
✅ DMI/SMBIOS 设备类型编号与名称(完整列表)
| 类型号 | 类型名称 | 描述 |
|---|---|---|
| 0 | BIOS Information | BIOS 厂商、版本、发布日期等 |
| 1 | System Information | 系统制造商、型号、序列号、UUID 等 |
| 2 | Baseboard (or Module) Information | 主板/模块信息(制造商、产品名、版本等) |
| 3 | Chassis Information | 机箱信息(类型、制造商、序列号、锁状态等) |
| 4 | Processor Information | CPU 信息(类型、速度、核心数、制造商等) |
| 5 | Memory Controller Information | 内存控制器(较老系统使用,现代系统多为类型 16/17) |
| 6 | Memory Module Information | 内存模块(已废弃,被类型 17 取代) |
| 7 | Cache Information | CPU 缓存信息(L1/L2/L3 缓存大小、类型等) |
| 8 | Port Connector Information | 端口连接器(如 USB、PS/2、串口、并口等) |
| 9 | System Slots | 系统扩展槽(PCI、AGP、PCIe 插槽等) |
| 10 | On Board Devices Information | 板载设备(如显卡、声卡、网卡是否集成) |
| 11 | OEM Strings | OEM 自定义字符串信息 |
| 12 | System Configuration Options | 系统配置选项(如启动模式、硬件开关) |
| 13 | BIOS Language Information | BIOS 支持的语言 |
| 14 | Group Associations | 设备分组关系 |
| 15 | System Event Log | 系统事件日志访问信息 |
| 16 | Physical Memory Array | 物理内存阵列(内存插槽集合、最大容量等) |
| 17 | Memory Device | 单个内存条信息(大小、类型、速度、制造商、序列号等) |
| 18 | 32-bit Memory Error Information | 32位内存错误信息(已废弃) |
| 19 | Memory Array Mapped Address | 内存映射地址范围(物理内存映射到系统地址空间) |
| 20 | Memory Device Mapped Address | 单个内存设备的映射地址 |
| 21 | Built-in Pointing Device | 内置指点设备(如触摸板、轨迹球) |
| 22 | Portable Battery | 便携式电池信息(笔记本电池) |
| 23 | System Reset | 系统复位能力(看门狗、复位类型等) |
| 24 | Hardware Security | 硬件安全设置(密码、TPM、安全芯片等) |
| 25 | System Power Controls | 电源控制(如定时开机、软关机) |
| 26 | Voltage Probe | 电压探针(监控电压传感器) |
| 27 | Cooling Device | 冷却设备(风扇、温度传感器) |
| 28 | Temperature Probe | 温度探针(CPU、主板等温度监控) |
| 29 | Electrical Current Probe | 电流探针(电流监控) |
| 30 | Out-of-Band Remote Access | 带外远程访问(如 IPMI、BMC) |
| 31 | Boot Integrity Services Entry Point | 引导完整性服务入口(如 Secure Boot 相关) |
| 32 | System Boot Information | 系统启动信息(启动状态、失败原因) |
| 33 | 64-bit Memory Error Information | 64位内存错误信息(更详细的内存错误记录) |
| 34 | Management Device | 管理设备(如智能平台管理控制器) |
| 35 | Management Device Component | 管理设备的组件(如传感器所属模块) |
| 36 | Management Device Threshold Data | 管理设备阈值数据(告警阈值) |
| 37 | Memory Channel | 内存通道信息(多通道内存拓扑) |
| 38 | IPMI Device Information | IPMI 设备信息(基板管理控制器) |
| 39 | System Power Supply | 系统电源供应器信息(功率、状态、位置等) |
| 40 | Additional Information | 附加信息(OEM 扩展) |
| 41 | Onboard Devices Extended Information | 板载设备扩展信息(更详细的集成设备描述) |
| 42 | Management Controller Host Interface | 管理控制器主机接口(如 KCS、SMIC、BT 接口) |
| 43 | TPM Device | 可信平台模块(TPM)信息(版本、特性等) |
| 44 | Processor Additional Information | 处理器附加信息(架构、微码版本等) |
| 45 | Firmware Inventory Information | 固件清单信息(BIOS、ME、EC 等固件版本) |
| 46 | String Property | 字符串属性(键值对形式的自定义数据) |
| 47 | Inactive | 非活动设备(已被禁用或移除的设备) |
🔚 特殊类型说明:
- 类型 126:End-of-Table(SMBIOS 表结束标记)
- 类型 127:End-of-Table(DMI 中常用,表示表结束)
- 类型 128–255:OEM 保留区域(可由厂商自定义)
⚠️ 注意:某些类型(如 5、6、18)在现代系统中已不再使用或被新类型替代。例如:
- 类型 5(Memory Controller)→ 被类型 16/17 取代
- 类型 6(Memory Module)→ 被类型 17 取代
- 类型 18 → 被类型 33 取代
📌 查看方式(Linux):
sudo dmidecode -t <type>
# 示例:查看所有内存设备
sudo dmidecode -t 17# 查看所有类型
sudo dmidecode -q# 按关键词过滤
sudo dmidecode | grep -A 10 "Type 4"
或使用 dmidecode --type指定多个类型:
sudo dmidecode --type 0,1,2,3,4,17,39
📚 参考标准:
-
DMTF SMBIOS Specification
当前最新:SMBIOS 3.9.0(2025)
-
DMI 2.8+ 与 SMBIOS 基本兼容,dmidecode 主要解析 SMBIOS 表
✅ 总结:完整支持的设备类型
DMI/SMBIOS 定义了从 0 到 47 的标准类型,加上 126/127 作为表结束标志,以及 128–255 为 OEM 扩展。这些类型覆盖了:
- 系统基本信息(BIOS、主板、机箱)
- 处理器与缓存
- 内存系统(阵列、设备、映射)
- 扩展槽与端口
- 电源、冷却、传感器
- 电池、TPM、IPMI/BMC
- 固件与安全管理
- OEM 自定义数据
因此,dmidecode能识别和支持上述所有标准类型的设备信息。