解析SMBIOS信息详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解析SMBIOS信息详解
1.SMBIOS简介
SMBIOS是System Management BIOS的概念,SMBIOS是主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范,显示有关系统管理BIOS主板的信息。SMBIOS使您能够找出有关的计算机制造商的详细信息、模型类型、序列号和 BIOS版本、处理器数量、物理内存,等等。
对一些特殊制定需求,如只能针对某一厂商机器使用,往往需要通过获取SMBIOS 内容解析得到该信息,添加到代码中,实现该自定义定制需求。本章主要介绍windows API获取SMBIOS信息的方法
2.SMBIOS结构信息
从SMBIOS 2.3版本开始,兼容SMBIOS的实现必须包含以下10个数据表结构:BIOS信息(Type 0)、系统信息(Type 1)、系统外围或底架(Type 3)、处理器信息(Type 4)、高速缓存信息(Type 7)、系统插槽(Type 9)、物理存储阵列(Type 16)、存储设备(Type 17)、存储阵列映射地址(Type 19)、系统引导信息(Type 32)。
其他的结构表则可根据实际来决定是否需要实现。最新的SMBIOS 2.7.0版中定义的所有结构表包括Type 0-Type 42,其中Type 5、Type 6和Type 10已经废弃。另外还有Type 126和Type 127两个特殊结构表。
BIOS信息(Type 0)、系统信息(Type 1)、基板(或模块)信息(Type 2)、系统外围或底架(Type 3)、处理器信息(Type 4)、存储控制器信息(Type 5,已废弃)、存储模块信息(Type 6,已废弃)、调整缓存信息(Type 7)、端口连接器信息(Type 8)、系统插槽(Type 9)。板载设备信息(Type 10)、OEM字符串(Type 11)、系统配置选项(Type 12)、BIOS语言信息(Type 13)、组相联(Type 14)、系统事件日志(Type 15)、物理存储阵列(Type 16)、存储设备(Type 17)、32-bit内存错误信息(Type 18)、存储阵列映射地址(Type 19)。存储设备映射地址(Type 20)、内建指针设备(Type 21)、便携式电池(Type 22)、系统重置(Type 23)、硬件安全(Type 24)、系统电源控制(Type 25)、电压探针(Type 26)、冷却设备(Type 27)、温度传感器(Type 28)、电流探头(Type 29)。越界远程访问(Type 30)、引导完整性服务(BIS)入口点(Type 31)、系统引导信息(Type 32)、64-bit内存错误信息(Type 33)、管理设备(Type 34)、管理设备组件(Type 35)、管理设备门槛数据(Type 36)、存储信道(Type 37)、IPMI设备信息(Type 38)、系统供电电源(Type
39)。附加信息(Type 40)、板载设备扩展信息(Type 41)、管理控制器主机接口(Type 42)。
不活动指示(Type 126)、表格结束指示(Type 127)。
SMBIOS的大部分结构表数据在CIM模型中都有对应的实现,比如底架信息对应CIM_Chassis,处理器信息对应CIM_Processor,内存信息对应CIM_Memory 等。下面介绍主要的结构表。
1、BIOS信息(Type 0):
BIOS特征域表示BIOS对一些特性的支持情况,Bit 1和Bit 1保留,Bit 2未知,Bit 3
表示本BIOS特征域是否被支持。
Bit 4-Bit 19分别表示是否支持ISA、MCA、EISA、PCI、PCMCIA、PnP、APM、BIOS刷新、BIOS影像(把 BIOS的只读内容拷贝到快一些的内存中)、VL-VESA、ESCD、从CD引导、可选择的引导、BIOS ROM是否被插装、从PCMCIA引导、EDD规范。
Bit 20-Bit 25表示对各种型号的软盘支持情况(均为中断Int 13h),包括NEC 9800 1.2MB 软盘、Toshiba 1.2MB软盘、5.25”/360KB软盘、5.25”/1.2MB软盘、3.5”/720KB软盘、3.5”/2.88MB软盘。
Bit 26-Bit 29表示是否支持中断Int 5h(PrintScreen屏幕截取服务)、Int 9h(8042键盘服务)、Int 14h(串口服务)、Int 17h(打印机服务)、Int 10h(CGA/Mono视频服务)、NEC PC-98。
Bit 32:47保留给BIOS厂商使用。
Bit 48:63保留给计算机系统厂商使用。
BIOS特征扩展字节1(偏移12h处)表示对另外一些设备的支持情况,Bit 0-Bit 1分别表示是否支持ACPI、USB遗留、AGP、I2O引导、LS-120 SuperDisk引导、ATAPI ZIP驱动器引导、1394引导、智能电池。
BIOS特征扩展字节2(偏移13h处)表示对一些高级特性的支持情况。Bit 1-Bit3表示是否支持功能键初始化网络服务引导、激活目标内容分发、UEFI规范。Bit 4表示SMBIOS表描述的是一台虚拟机,Bit 5:7保留。
2、系统信息(Type 1):SMBIOS实现只关联一个单一的系统实例,并且包含且只包含一个系统信息结构。
UUID为128 bit长,是一个穿越时间和空间的唯一标识符,不需要集中的注册过程。它的格式在RFC 4122有详细的描述,内容比较繁锁,但SMBIOS并不关注这个,它只关注字节序。UUID的字节顺序以及在RFC 4122中对应域的名字如下:
time_low:偏移00h处,4BYTEs,为时间戳的低位域部分。
time_mid:04h处,2BYTEs,为时间戳的中间域部分。
time_hi_and_version:06h处,2BYTEs,为时间戳的高位域,同时还包含版本号。