SMBIOS 学习内容

符合SMBIOS规范的计算机的系统信息获取方法

对于符合SMBIOS规范的计算机,可以通过访问SMBIOS的结构获得系统信息,共有两种办法可以访问:

1.通过即插即用功能接口访问SMBIOS结构,这个在SMBIOS2.0标准里定义了,从SMBIOS 2.1开始这个访问方法不再被推荐使用。

2.基于表结构的方法,表内容是table entry point数据,这个访问方法从SMBIOS 2.1以后开始被使用,从2.1开始,以后的版本都推荐使用这种访问方式。在2.1版本中允许支持这两种方法中的任意一种和两种都支持,但在2.2已经以后的版本,必须支持方法2

鉴于市场上计算机已经均支持SMBIOS2.3标准,所以只考虑方法2,基于表结构的访问方式。

基于表结构访问SMBIOS的过程是先找到Entry Point StructureEPS表,然后通过Entry Point StructureEPS表的数据找到SMBIOS数据表。

访问SMBIOS EPS表的操作过程如下:

1  从物理内存0xF0000-0xFFFFF间寻找关键字“ _SM_

2  找到后再向后16个字节,看后面5BYTE是否是关键字“_DMI_”,如果是,EPS表即找到。

注:按照SMBIOS规范说明,找到关键字”_SM_”后就可以确定此处就是EPS表结构,但我在实际操作中发现有为数不少的计算机的指定64K内存中有不只一个“_SM_”,所以不能仅用找到”_SM_”来确定,需要继续判断16个字节后是否是“_DMI_”。

SMBIOS EPS表结构如下:

位置

名称

长度

描述

00H

关键字

4BYTE

固定是”_SM_”

04H

校验和

1BYTE

用于校验数据

05H

表结构长度

1BYTE

Entry Point Structure表的长度

06H

Major版本号

1BYTE

用于判断SMBIOS版本

07H

Minor版本号

1BYTE

用于判断SMBIOS版本

08H

表结构大小

2BYTE

用于即插即用接口方法获得数据表结构长度

0AH

EPS修正

1BYTE

 

0B-0FH

格式区域

5BYTE

存放解释EPS修正的信息

10H

关键字

5BYTE

固定为“_DMI_

15H

校验和

1BYTE

Intermediate Entry Point Structure (IEPS)校验和

16H

数据表长度

2BYTE

SMBIOS数据表的长度

18H

数据表地址

4BYTE

SMBIOS数据表的真实内存位置

1CH

数据表结构数

2BYTE

SMBIOS数据表的结构数目

1EH

Smbios BCD修正

1BYTE

 

     通过EPS表结构中的12H以及14H处,得出数据表长度和数据表地址,即可通过地址访问结构表。从EPS表中的1CH处可得知结构表结构的总数,其中TYPE 0结构就是BIOS informationTYPE 1结构就是SYSTEM Information

每个结构的头部是相同的,格式如下:

位置

名称

长度

描述

00H

TYPE

1BYTE

结构的TYPE

01H

长度

1BYTE

本结构的长度,就此TYPE号的结构而言

02H

句柄

2BYTE

用于获得SMBIOS结构,使用方法未知

每个结构都分为格式区域和字符串区域,格式区域就是一些本结构的信息,字符串区域是紧随在格式区域后的一个区域。结构01H处标识的结构长度仅是格式区域的长度,字符串区域的长度是不固定的。

下面以TYPE 0BIOS information)为例说明格式区域和字符串区域的关系

TYPE 0BIOS information)格式区域如下:

位置

名称

长度

描述

00H

TYPE

1BYTE

结构的TYPE号,此处是0

01H

长度

1BYTE

TYPE 0格式区域的长度,一般为14H,也有13H

02H

句柄

2BYTE

一般为0000H

04H

Bios厂商信息

1BYTE

此处是bios卖方的信息,可能是OEM厂商名,一般为01H,代表紧随格式区域后的字符串区域的第一个字符串

05H

BIOS版本

1BYTE

BIOS版本号,一般为02H,代表字符串区域的第二个字符串

06H

Bios开始地址段

2BYTE

用于计算常驻BIOS镜像大小的计算,方法为

10000H-BIOS开始地址段)×16

08H

BIOS发布日期

1BYTE

一般为04H,表示字符区第三个字符串

09H

BIOS rom size

1BYTE

计算方法为(n1)×64Kn为此处读出数值

0AH

BIOS特征

8BYTE

Bios的功能支持特征,如PCI,PCMCIA,FLASH

12H

Bios特征扩展

不定

 

紧随TYPE 0BIOS information)结构区域之后的就是TYPE 0BIOS information)字符串区域,如下所示:

db System BIOS Vendor Name,0 ;  字符串以零结尾,第一个字符串:卖方信息

db 4.04,0 ;                     第二个:BIOS版本

db 00/00/ 0000 ,0 ;               第三个:发布日期

db 0 ;                               O为整个字符区域的结尾,所以要找下一个TYPE,只要在字符区域找到连续的OOOOH即可

注:当有EPS表中得到结构表的开始地址后,可以直接按结构来寻找相应的TYPE号,找到后直接读取就是该TYPE对应的结构的格式区域信息,然后向后移动结构区域长度(机构区域长度由该结构的O1H处读出)个BYTE,即是该TYPE机构的字符串区域。

 

由上面介绍可知,获得BIOS信息的办法就是:

1   通过EPS表的12H14H数据找到TYPE结构表,然后找到TYPE 0的内存地址。(不一定是首个)

2   TYPE 0结构区域中得出相应BIOS信息是否存在(存在则是上面所述的   01H,02H,03H依次排布,不存在则是相应的位置上为00H)。

3   如存在信息,则从字符串区域中读取对应BIOS信息。

获得SYSTEM信息方法同上,只是TYPE结构区域有所不同,请参照SMBIOS Reference Specification


符合SMBIOS规范的计算机的系统信息获取方法
SMBIOS,DIM
在阅读SMBIOS spec之前先看看这两篇文章,有个感性认识,再去阅读规范文档,可以帮助理解.
================================
DMI
是英文单词Desktop Management Interface的缩写,也就是桌面管理界面,它含有关于系统硬件的配置信息。计算机每次启动时都对DMI数据进行校验,如果该数据出错或硬件有所变动,就会对机器进行检测,并把测试的数据写入BIOS芯片保存。所以如果我们在BIOS设置中禁止了BIOS芯片的刷新功能或者在主板使用跳线禁止了 BIOS芯片的刷新功能,那这台机器的DMI数据将不能被更新。如果你更换了硬件配置,那么在进行WINDOWS系统时,机器仍旧按老系统的配置进行工作。这样就不能充分发挥新添加硬件的性能,有时还会出现这样或那样的故障。

在介绍什么是DMI之前,先说说SMBIOS (System Management BIOSSMBIOS)的概念。 SMBIOS是主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范。 DMI (Desktop Management Interface, DMI)就是帮助收集电脑系统信息的管理系统,DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行。 SMBIOSDMI是由行业指导机构Desktop Management Task Force (DMTF)起草的开放性的技术标准,其中,DMI设计适用于任何的平台和操作系统。 DMI充当了管理工具和系统层之间接口的角色。它建立了标准的可管理系统更加方便了电脑厂商和用户对系统的了解。DMI的主要组成部分是 Management Information Format (MIF)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过DMI,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。为了提供更为友好的用户工作环境,AOpen开发了实用的WinDMI工具,它采用Windows界面,能够用于多款AOpen主板,完全兼容 Windows 98SE/98/2000/XP操作系统。 WinDMI分为几种功能,首先,默认的[Normal Mode]功能让用户可以获取包括BIOS、操作系统、主板、内存、扩展槽及扩展接口的所有详细系统信息。 第二种功能为[Dump Memory],它可以让用户转储内存数据,因为它显示了当前DMI的结构数据,所以可以帮助高级用户及软件设计人员处理内存数据。此外,对DMI结构有兴趣的用户也可以使用此项功能进行初步的问题诊断。第三,WinDMI还可以让用户以普通或raw模式保存DMI数据,如果用户需要保存DMI信息,只需按下[Save As]即可。此项功能会在用户指定的文件夹下创建一个 .txt文件,用户就可以在此文本文件中找到所有所需的系统信息

DMI充当了管理工具和系统层之间接口的角色。它建立了标准的可管理系统更加方便了电脑厂商和用户对系统的了解。DMI的主要组成部分是 Management Information Format (MIF)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过DMI,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。

浅谈DMI data数据区

 

              --作者:耗子

 

  前此时间,网站公布了关于修改BIOS使用联想XP的文章,其中一种方法是使用DMICFG.exe文件修改,使用DMICFG修改,直接修改BIOSDMI区域,不但修改方便,而且不用象修改BIOS文件那样,需要重新刷新;这样又降低了修改的风险。
  但对此,网友也提出了疑问,那就是DMI区域在BIOS中起到什么作用,我的主板中有DMI区域吗?

  DMI又称为(Desktop Management Interface)桌面管理接口,就是帮助收集电脑系统信息的管理系统,用来让系统保存自身及外围设备相关数据。通过DMI可以在操作系统级查询到包括CPU、内存、IO扩展槽等在内的系统配置信息(不用进入BIOS)。DMI通常将上述信息存储在BIOS中一个4KB大小的DMI数据区中,这一数据区通常被称为MIFDManagement Information Format Database)。DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行。SMBIOSDMI是由行业指导机构Desktop Management Task Force (DMTF)起草的开放性的技术标准,其中,DMI设计适用于任何的平台和操作系统。是由行业指导机构(Desktop Management Task Force[DMTF])起草的开放性技术标准,

  DMI充当了管理工具和系统层之间接口的角色。它建立了标准的可管理系统更加方便了电脑厂商和用户对系统的了解。DMI的主要组成部分是Management Information Format (MIF)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过DMI,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。

  DMI被设计为一个能够在任何平台和操作系统下实现的接口规范,它允许操作人员在该数据区中手工添加一些BIOS不能探测到的诸如使用者姓名、销售商和计算机编号等额外的控制信息,因此我们也可以在不需要对BIOS进行操作的情况下使用DMIMIFD数据库中的系统配置情况进行修改以适应不同环境下的系统要求。
  我们使用DMICFG修改BIOS,实现联想XP免激活,就是修改的DMI区域。
  对于DMI区域,我们在备份BIOS,可对其保存或清除,这一点可通过BIOS刷新程序所提供的参数来操作。

 

  目前DMI有多个版本,大多为2.02.12.2,对于我们主板BIOS中所使用的DMI版本,可使用WINXX自带的DEBUG程序来测试。
  在WINXXMSDOS模式下,键入DEUBG
  c:/debug
    -s f000:0 ffff '_SM_'(SM
必须大写)  回车
  f000:13e0   (如果显示了一个地址, 则此 BIOS 支持至少 DMI 2.1. 如果没有, 再试试)

  
c:/debug
    -s f000:0 ffff '_DMI_'(DMI
必须大写) 回车
  f000:13e0   (如果显示了一个地址, 则此 BIOS 仅支持 DMI 2.0. 如果没有, 那么 DMI 2.0 都不支持)

  确认 BIOS 支持 DMI 2.10 DMI 2.20, 进行以下操作
:
  
c:/debug
  -d f000:13e0   回车
  具体以你的主板BIOS为准。这里以技嘉6OXE F7BIOS为例。请参考以下屏幕图片:
  02 02 意味着 DMI 2.20
  02 01 意味着 DMI 2.10

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
System Management BIOS (SMBIOS) Reference 6 Specification 7 Supersedes: 3.1.1 8 Document Class: Normative 9 Document Status: Published 10 Document Language: en-US 11System Management BIOS (SMBIOS) Reference Specification DSP0134 2 Published Version 3.2.0 12 Copyright Notice 13 Copyright © 2000, 2002, 2004–2016 Distributed Management Task Force, Inc. (DMTF). All rights 14 reserved. 15 DMTF is a not-for-profit association of industry members dedicated to promoting enterprise and systems 16 management and interoperability. Members and non-members may reproduce DMTF specifications and 17 documents, provided that correct attribution is given. As DMTF specifications may be revised from time to 18 time, the particular version and release date should always be noted. 19 Implementation of certain elements of this standard or proposed standard may be subject to third party 20 patent rights, including provisional patent rights (herein "patent rights"). DMTF makes no representations 21 to users of the standard as to the existence of such rights, and is not responsible to recognize, disclose, 22 or identify any or all such third party patent right, owners or claimants, nor for any incomplete or 23 inaccurate identification or disclosure of such rights, owners or claimants. DMTF shall have no liability to 24 any party, in any manner or circumstance, under any legal theory whatsoever, for failure to recognize, 25 disclose, or identify any such third party patent rights, or for such party’s reliance on the standard or 26 incorporation thereof in its product, protocols or testing procedures. DMTF shall have no liability to any 27 party implementing such standard, whether such implementation is foreseeable or not, nor to any patent 28 owner or claimant, and shall have no liability or responsibility for costs or losses incurred if a standard is 29 withdrawn or modified after publication, and shall be indemnified and held harmless by any party 30 implementing the standard from any and all claims of infringement by a patent owner for such 31 implementations. 32 For information about patents held by third-parties which have notified the DMTF that, in their opinion, 33 such patent may relate to or impact implementations of DMTF standards, visit 34 http://www.dmtf.org/about/policies/disclosures.php. 35 This document’s normative language is English. Translation into other languages is permitted.DSP0134 System Management BIOS (SMBIOS) Reference Specification Version 3.2.0 Published 3 36 CONTENTS 37 Foreword ....................................................................................................................................................... 9 38 Introduction.................................................................................................................................................. 10 39 Document conventions........................................................................................................................ 10 40 Typographical conventions ....................................................................................................... 10 41 Document version number conventions ................................................................................... 10 42 1 Scope .................................................................................................................................................. 13 43 1.1 Supported processor architectures........................................................................................... 13 44 2 Normative references .......................................................................................................................... 13 45 3 Terms and definitions .......................................................................................................................... 15 46 4 Symbols and abbreviated terms.......................................................................................................... 15 47 5 Accessing SMBIOS information .......................................................................................................... 21 48 5.1 General ..................................................................................................................................... 21 49 5.2 Table convention....................................................................................................................... 21 50 5.2.1 SMBIOS 2.1 (32-bit) Entry Point.................................................................................. 22 51 5.2.2 SMBIOS 3.0 (64-bit) Entry Point.................................................................................. 23 52 6 SMBIOS structures.............................................................................................................................. 24 53 6.1 Structure standards................................................................................................................... 24 54 6.1.1 Structure evolution and usage guidelines.................................................................... 25 55 6.1.2 Structure header format............................................................................................... 26 56 6.1.3 Text strings .................................................................................................................. 26 57 6.2 Required structures and data ................................................................................................... 27 58 6.3 SMBIOS fields and CIM MOF properties.................................................................................. 28 59 7 Structure definitions............................................................................................................................. 29 60 7.1 BIOS Information (Type 0)........................................................................................................ 29 61 7.1.1 BIOS Characteristics.................................................................................................... 31 62 7.1.2 BIOS Characteristics Extension Bytes......................................................................... 32 63 7.2 System Information (Type 1) .................................................................................................... 33 64 7.2.1 System — UUID........................................................................................................... 34 65 7.2.2 System — Wake-up Type............................................................................................ 35 66 7.3 Baseboard (or Module) Information (Type 2) ........................................................................... 35 67 7.3.1 Baseboard — feature flags .......................................................................................... 36 68 7.3.2 Baseboard — Board Type ........................................................................................... 37 69 7.4 System Enclosure or Chassis (Type 3) .................................................................................... 37 70 7.4.1 System Enclosure or Chassis Types........................................................................... 39 71 7.4.2 System Enclosure or Chassis States........................................................................... 40 72 7.4.3 System Enclosure or Chassis Security Status ............................................................ 41 73 7.4.4 System Enclosure or Chassis — Contained Elements................................................ 41 74 7.5 Processor Information (Type 4) ................................................................................................ 42 75 7.5.1 Processor Information — Processor Type................................................................... 45 76 7.5.2 Processor Information — Processor Family ................................................................ 46 77 7.5.3 Processor ID field format ............................................................................................. 52 78 7.5.4 Processor Information — Voltage................................................................................ 52 79 7.5.5 Processor Information — Processor Upgrade............................................................. 53 80 7.5.6 Processor Information — Core Count.......................................................................... 55 81 7.5.7 Processor Information — Core Enabled...................................................................... 55 82 7.5.8 Processor Information — Thread Count...................................................................... 56 83 7.5.9 Processor Characteristics............................................................................................ 56 84 7.6 Memory Controller Information (Type 5, Obsolete) .................................................................. 57 85 7.6.1 Memory Controller Error Detecting Method................................................................. 58 86 7.6.2 Memory Controller Error Correcting Capability............................................................ 58 87 7.6.3 Memory Controller Information — Interleave Support................................................. 58System Management BIOS (SMBIOS) Reference Specification DSP0134 4 Published Version 3.2.0 88 7.6.4 Memory Controller Information — Memory Speeds .................................................... 59 89 7.7 Memory Module Information (Type 6, Obsolete) ...................................................................... 59 90 7.7.1 Memory Module Information — Memory Types .......................................................... 60 91 7.7.2 Memory Module Information — Memory Size ............................................................. 60 92 7.7.3 Memory subsystem example ....................................................................................... 61 93 7.8 Cache Information (Type 7) ...................................................................................................... 63 94 7.8.1 Cache Information — Maximum Cache Size and Installed Size ................................. 65 95 7.8.2 Cache Information — SRAM Type .............................................................................. 65 96 7.8.3 Cache Information — Error Correction Type ............................................................... 66 97 7.8.4 Cache Information — System Cache Type ................................................................. 66 98 7.8.5 Cache Information — Associativity.............................................................................. 66 99 7.9 Port Connector Information (Type 8) ........................................................................................ 67 100 7.9.1 Port Information example............................................................................................. 68 101 7.9.2 Port Information — Connector Types .......................................................................... 68 102 7.9.3 Port Types.................................................................................................................... 69 103 7.10 System Slots (Type 9)............................................................................................................... 70 104 7.10.1 System Slots — Slot Type ........................................................................................... 71 105 7.10.2 System Slots — Slot Data Bus Width.......................................................................... 73 106 7.10.3 System Slots — Current Usage................................................................................... 74 107 7.10.4 System Slots — Slot Length ........................................................................................ 74 108 7.10.5 System Slots — Slot ID ............................................................................................... 74 109 7.10.6 Slot Characteristics 1................................................................................................... 75 110 7.10.7 Slot Characteristics 2................................................................................................... 75 111 7.10.8 Segment Group Number, Bus Number, Device/Func
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值