Введение
При диагностике низкоуровневых аппаратных компонентов и аудите инициализации оборудования в Linux системным инженерам нередко требуется исследовать унаследованные структуры памяти BIOS. Для решения этой задачи служит утилита biosdecode. Ниже подробно рассмотрены практические приемы работы с этим инструментом, ключевые флаги запуска, а также эксплуатационные ограничения, с которыми приходится сталкиваться на современных платформах с UEFI.
Инсталляция пакета и проверка версии biosdecode
Утилита biosdecode распространяется в составе стандартного системного пакета dmidecode. Перед началом работы выполним синхронизацию списков репозиториев и установим необходимое ПО:

Убедиться в наличии исполняемого файла в системе и выяснить номер текущей сборки позволяет опция --version:
⚙️ [Ключевые параметры утилиты]
-d, --dev-mem : считывание данных из указанного файла дампа физической памяти вместо стандартного устройства /dev/mem.--pir full : подробное декодирование и развернутый вывод содержимого таблицы маршрутизации прерываний PCI (PIR).-h, --help : отображение встроенной справочной информации по доступным опциям с последующим завершением работы.-V, --version : вывод номера версии утилиты biosdecode и выход.

Полный перечень поддерживаемых аргументов командной строки доступен через вызов параметра --help:

Чтение структур памяти BIOS и парсинг метаданных
Прямой доступ к физической памяти требует повышенных привилегий, поэтому вызов утилиты выполняется через sudo. Программа сканирует диапазон адресов BIOS и извлекает обнаруженные дескрипторы системных таблиц.
В выводе зафиксировано присутствие структуры ACPI 2.0, отображен идентификатор OEM-производителя, а также определены 32-битные и 64-битные физические адреса указателя RSDP (Root System Description Pointer).

Извлечение таблицы маршрутизации прерываний (PIR)
Ключ --pir предписывает утилите отфильтровать системный поток и декодировать исключительно таблицу маршрутизации PCI IRQ.
Если при выполнении команды консоль ничего не вернула, это штатное поведение: на современных платформах с поддержкой ACPI устаревший механизм PIR полностью замещен более совершенными спецификациями, поэтому в памяти такая таблица попросту отсутствует.

Специфика UEFI и сбор сведений через dmidecode
Для полноценного сбора метаданных о микропрограмме в современных UEFI-системах предпочтительно использовать инструмент dmidecode. Команда sudo dmidecode -t bios запрашивает данные типа 0 (BIOS Information) из SMBIOS:
В отличие от прямого парсинга адресов памяти в biosdecode, этот подход обращается к SMBIOS через ядро и sysfs. Это гарантирует надежное и безопасное извлечение сведений о поставщике (Vendor), релизе прошивки, дате выпуска и поддерживаемых возможностях материнской платы в современных архитектурах.

Мы рассмотрели практическое использование biosdecode в Ubuntu, изучили структуру дескрипторов BIOS и сравнили поведение утилиты с возможностями dmidecode в окружениях с UEFI. Эти знания помогут администраторам эффективнее исследовать аппаратный уровень платформы без риска нарушить стабильность системы.