Спецификация SMBIOS: управление системой через BIOS
System Management BIOS
SMBIOS: стандарт для получения информации об оборудовании ПК через BIOS. DMTF разработала спецификацию, используемую в 2 млрд систем. Версия 3.6.0 (2022).
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Спецификация вычислительной техники
Computing specification
В вычислительной технике спецификация системного управления BIOS (SMBIOS) определяет структуры данных (и методы доступа), которые могут использоваться для чтения управляющей информации, генерируемой BIOS компьютера. Это устраняет необходимость для операционной системы напрямую опрашивать аппаратное обеспечение для определения установленных в компьютере устройств. Спецификация SMBIOS разрабатывается организацией Distributed Management Task Force (DMTF) – некоммерческой организацией по разработке стандартов. По оценкам DMTF, два миллиарда клиентских и серверных систем используют SMBIOS. DMTF опубликовала версию 3.6.0 спецификации 20 июня 2022 года. Изначально SMBIOS называлась Desktop Management BIOS (DMIBIOS), поскольку она взаимодействовала с интерфейсом управления рабочим столом (DMI).
In computing, the System Management BIOS (SMBIOS) specification defines data structures (and access methods) that can be used to read management information produced by the BIOS of a computer. This eliminates the need for the operating system to probe hardware directly to discover what devices are present in the computer. The SMBIOS specification is produced by the Distributed Management Task Force (DMTF), a non profit standards development organization. The DMTF estimates that two billion client and server systems implement SMBIOS. The DMTF released the version 3.6.0 of the specification on June 20, 2022. SMBIOS was originally known as Desktop Management BIOS (DMIBIOS), since it interacted with the Desktop Management Interface (DMI).
История
Версия 1 спецификации Desktop Management BIOS (DMIBIOS) была разработана компанией Phoenix Technologies в 1996 году или ранее. Версия 2.0 спецификации Desktop Management BIOS была выпущена 6 марта 1996 года компаниями American Megatrends (AMI), Award Software, Dell, Intel, Phoenix Technologies и SystemSoft Corporation. Она представила 16-битные функции Plug and Play, используемые для доступа к структурам из Windows 95. Последней версией, опубликованной непосредственно поставщиками, была версия 2.3, выпущенная 12 августа 1998 года. Авторами были American Megatrends, Award Software, Compaq, Dell, Hewlett Packard, Intel, International Business Machines (IBM), Phoenix Technologies и SystemSoft Corporation. Около 1999 года Distributed Management Task Force (DMTF) взяла на себя ответственность за спецификацию. Первая версия, опубликованная DMTF, была 2.3.1, выпущенная 16 марта 1999 года. Примерно в то же время Microsoft начала требовать от OEM-производителей и поставщиков BIOS поддержки данного интерфейса/набора данных для получения сертификации Microsoft. Версия 3.0.0, представленная в феврале 2015 года, добавила 64-битную точку входа, которая может сосуществовать с ранее определенной 32-битной точкой входа. Версия 3.4.0 была выпущена в августе 2020 года. Версия 3.5.0 была выпущена в сентябре 2021 года. Версия 3.6.0 была выпущена в июне 2022 года.
Version 1 of the Desktop Management BIOS (DMIBIOS) specification was produced by Phoenix Technologies in or before 1996. Version 2.0 of the Desktop Management BIOS specification was released on March 6, 1996 by American Megatrends (AMI), Award Software, Dell, Intel, Phoenix Technologies, and SystemSoft Corporation. It introduced 16 bit plug and play functions used to access the structures from Windows 95. The last version to be published directly by vendors was 2.3 on August 12, 1998. The authors were American Megatrends, Award Software, Compaq, Dell, Hewlett Packard, Intel, International Business Machines (IBM), Phoenix Technologies, and SystemSoft Corporation. Circa 1999, the Distributed Management Task Force (DMTF) took ownership of the specification. The first version published by the DMTF was 2.3.1 on March 16, 1999. At approximately the same time Microsoft started to require that OEMs and BIOS vendors support the interface/data set in order to have Microsoft certification. Version 3.0.0, introduced in February 2015, added a 64 bit entry point, which can coexist with the previously defined 32 bit entry point. Version 3.4.0 was released in August 2020. Version 3.5.0 was released in September 2021. Version 3.6.0 was released in June 2022.
Содержание
Таблица SMBIOS состоит из точки входа (определены два типа: 32-битная и 64-битная) и переменного числа структур, описывающих компоненты и характеристики платформы. Эти структуры иногда называют "таблицами" или "записями" в сторонней документации.
The SMBIOS table consists of an entry point (two types are defined, 32 bit and 64 bit), and a variable number of structures that describe platform components and features. These structures are occasionally referred to as "tables" or "records" in third party documentation.
Доступ к данным SMBIOS
Таблица конфигурации EFI (EFI CONFIGURATION TABLE) содержит записи, указывающие на таблицы SMBIOS 2 и/или SMBIOS 3. Доступ к данным возможен несколькими способами, в зависимости от платформы и операционной системы.
The EFI configuration table (EFI CONFIGURATION TABLE) contains entries pointing to the SMBIOS 2 and/or SMBIOS 3 tables. There are several ways to access the data, depending on the platform and operating system.
Из UEFI
В оболочке UEFI команда позволяет получить и отобразить данные SMBIOS. Войти в оболочку UEFI обычно можно, войдя в настройки системной прошивки, а затем выбрав оболочку как вариант загрузки (вместо DVD-привода или жесткого диска).
In the UEFI Shell, the command can retrieve and display the SMBIOS data. One can often enter the UEFI shell by entering the system firmware settings, and then selecting the shell as a boot option (as opposed to a DVD drive or hard drive).
Из Unix
Для Linux, FreeBSD и т.д. можно использовать утилиту dmidecode.
For Linux, FreeBSD, etc., the dmidecode utility can be used.
Из окна
Microsoft определяет WMI как предпочтительный механизм для доступа к информации SMBIOS в Microsoft Windows. На системах Windows, поддерживающих эту функцию (XP и более поздние версии), часть информации SMBIOS можно просмотреть с помощью утилиты WMIC с параметрами "BIOS", "MEMORYCHIP", "BASEBOARD" и аналогичными, либо просмотрев реестр Windows по адресу HKLM\HARDWARE\DESCRIPTION\System. Различные программные утилиты, такие как FirmwareTablesView и AIDA64, могут извлекать необработанные данные SMBIOS.
Microsoft specifies WMI as the preferred mechanism for accessing SMBIOS information from Microsoft Windows. On Windows systems that support it (XP and later), some SMBIOS information can be viewed with either the WMIC utility with 'BIOS'/'MEMORYCHIP'/'BASEBOARD' and similar parameters, or by looking in the Windows Registry under HKLM\HARDWARE\DESCRIPTION\System. Various software utilities can retrieve raw SMBIOS data, including FirmwareTablesView and AIDA64.
Создание данных SMBIOS
Создание таблиц и структур обычно выполняется системной прошивкой/BIOS. Спецификация UEFI Platform Initialization (PI) включает протокол SMBIOS (EFI SMBIOS PROTOCOL), который позволяет компонентам предоставлять структуры SMBIOS для включения, а производителю – создавать таблицу SMBIOS для платформы. Программное обеспечение для виртуализации платформы, такое как QEMU, также может генерировать таблицы SMBIOS для использования внутри виртуальных машин. Если данные SMBIOS не генерируются и не заполняются корректно, машина может работать непредсказуемо. Например, Mini PC, указывающий в информации о шасси тип "Планшет", может вести себя некорректно при использовании Linux. Менеджер рабочего стола, например GNOME, будет пытаться отслеживать несуществующую батарею и отключать экран и сетевые интерфейсы при достижении порогового значения заряда этой отсутствующей батареи. Кроме того, если информация о производителе в данных о шасси заполнена неверно, обходные решения для проблемы неправильного типа "Планшет" не могут быть применены.
Table and structure creation is normally up to the system firmware/BIOS. The UEFI Platform Initialization (PI) specification includes an SMBIOS protocol (EFI SMBIOS PROTOCOL) that allows components to submit SMBIOS structures for inclusion, and enables the producer to create the SMBIOS table for a platform. Platform virtualization software can also generate SMBIOS tables for use inside VMs, for instance QEMU. If the SMBIOS data is not generated and filled correctly then the machine may behave unexpectedly. For example, a Mini PC that advertises Chassis Information | Type = Tablet may behave unexpectedly using Linux. A desktop manager like GNOME will attempt to monitor a non existent battery and shut down the screen and network interfaces when the missing battery drops below a threshold. Additionally, if the Chassis Information | Manufacturer is not filled in correctly then work arounds for the incorrect Type = Tablet problem cannot be applied.