2,903 瀏覽數

SMBIOS / DMI

SMBIOS

在計算機系統中,System Management BIOS (SMBIOS) 定義的數據結構規範(以及其存取方法),主要存取為 存儲在計算機中的 BIOS 資訊.

大約在 1999年, SMBIOS 成為 Distributed Management Task Force(DMTF)協會管理的一部分, 所以在整合之前,SMBIOS 有另外一個名字 DMIBIOS,因為它與 Desktop Management Interface(DMI)互相作用.

目前 DMTF 所公佈為版本 2.8.0 ,原本 SMBIOS 在規範中定義了二種方法存取 SMBIOS 的方式(Plug-and-Play function interface 與 Table-base method) 但在版本 2.3.2 就不建議使用 Plug-and-Play function interface 存取,從版本 2.7 之後就只剩下 Table-base method 的方式做存取 SMBIOS 資料.

DMI

DMI 通常會跟 SMBIOS 混淆 (SMBIOS 的第一版名稱為 DMIBIOS) ,SMBIOS 與 DMI 規範皆是由 Desktop Management Task Force (DMTF) 所擬定的.

DMI 主要是顯示系統數據(包括系統管理BIOS(SMBIOS)的數據)管理軟件.

DMI (Desktop Management Interface, DMI) 主要是搜集電腦系統訊息, 在遵照SMBIOS規範下,DMI適用於任何平台與操作系統透過DMI,作業系統與應用軟體和用戶無須透過實際的硬體控制就能獲得電腦廠商名稱及硬體元件訊息.DMI的訊息收集一般是由BIOS在POST過程中,將所偵測到的系統硬體資訊存在 DMI Table 中.(轉帖至 : https://sites.google.com/site/thebackofdaniel/computer/bios/smbios-introduction)

dmidecode

常用 Linux 的人都知道一個指令 dmidecode 可以看關於系統的資訊,但這些資料是儲存在哪裡,透過什麼方式去讀取的呢!!其實我們可以利用 man 來看一下關於 dmidecode 的解釋.

# man dmidecode

NAME
dmidecode – DMI table decoder

DESCRIPTION
dmidecode is a tool for dumping a computer DMI (some say SMBIOS) table contents in a human-readable format. This table contains a description of the system’s hardware components, as well as other useful pieces of information such as serial numbers and BIOS revision. Thanks to this table, you can retrieve this information without having to probe for the actual hardware. While this is a good point in terms of report speed and safeness, this also makes the presented information possibly unreliable.

看起來資料是儲存在一個叫做 DMI 也可以稱為 SMBIOS 的 Flash Rom 空間 (BIOS會在開機時把 SMBIOS 的進入點寫到F000:0000~FFFF之間的任意位址裡),裡面主要存了硬體的資訊.

The DMI table doesn’t only describe what the system is currently made of, it also can report the possible evolutions (such as the fastest supported CPU or the maximal amount of memory supported).

除了系統資訊外,連可支援的硬體也會被記錄下來.

SMBIOS stands for System Management BIOS, while DMI stands for Desktop Management Interface. Both standards are tightly related and developed by the DMTF (Desktop Management Task Force).

SMBIOS 是 System Management BIOS 縮寫, 而 DMI 是 Desktop Management Interface 縮寫,都是由 DMTF (Desktop Management Task Force) 所制定.

#dmidecode [OPTIONS]

其實單用 #dmideocde 會太多資料,可以使用參數 -t 來單看你想看的資料.

-t, –type TYPE

這些是我們常用的 : BIOS, system, baseboard, chassis, processor, memory, cache, connector, slot .其他需要依據 DMI TYPES.

重點整理

  • SMBIOS 資料儲存在哪裡 -> BIOS 裏面
  • SMBIOS 需要透過什麼方式去讀取 -> Table-base method
  • Linux 要透過什麼指令來讀取 -> dmidecode
  • 為什麼叫做 dmiedcode -> 只要是透過 DMI 去存取 SMBIOS (SMBIOS 的第一版名稱為 DMIBIOS)
  • DMI 與 SMBIOS 差別是 -> DMI 主要是搜集電腦系統訊息,SMBIOS 儲存資料的結構.

2 個網友的想法 “SMBIOS / DMI

  1. 自動參照通知: Biosdevname – Linux 下一致性的網絡設備命名 | Benjr.tw

  2. 自動參照通知: 硬體裝置 | Benjr.tw

發表迴響