- Войдите или зарегистрируйтесь, чтобы оставлять комментарии
В основе работы InsydeFlash лежит программный интерфейс, разработанный компанией Insyde Software — Insyde H2O internal Soft-SMI interface (IHISI). Это патентованная технология взаимодействия программного обеспечения, разработанного для программирования UEFI BIOS, с аппаратной платформой. Запуск утилиты H2OFFT (Flash Firmware Tool) — именно так официально называется InsydeFlash — даже в ознакомительных целях на аппаратно-несовместимых платформах просто невозможен. Как познакомиться с инструментальной оснасткой для обновления UEFI? Самый простой путь — изучить настройки H2OFFT, которые хранятся в конфигурационном файле platform.ini, управляющем работой утилиты.
Для чего это нужно?
Программный интерфейс Insyde Flash Firmware Tool полностью управляем со стороны platform.ini. Мало того, файл настроек содержит прекрасные комментарии, которые помогут разобраться начинающему пользователю с работой утилиты по прошивке UEFI BIOS. Для чего же нам копаться командных строках инициализации InsydeFlash с тем, чтобы получить доступ к графическому интерфейсу, если можно просто ограничиться изучением platform.ini?
Дело в том, что графический интерфейс H2OFFT от версии к версии претерпевает существенные изменения. В условиях, мягко говоря, ограниченного доступа к документации по InsydeFlash, разобраться с особенностями работы утилиты зачастую не так-то просто. Проиллюстрируем это чуть ниже, а сейчас...
Исследуем формат и состав platform.ini
Конфигурационный файл структурирован на секции, где размещены управляющие параметры. Самая важная, с точки зрения управления интерфейсом H2OFFT, — это секция Option. Ее состав следующий:
[Option]
Flag=1
; 0 : Auto flash mode.
; 1 : User option mode, including option, start, exit buttons.
; 2 : User flash mode, including start, exit buttons.
По умолчанию параметр Flag равен нулю, что соответствует автозапуску утилиты InsydeFlash, вызывая на несовместимых платформах сообщение «IHISI: Get support mode error in SMI!». Дадим пользователю возможность самостоятельно управлять режимом программирования Flash ROM, установив Flag=1. В большинстве случаев эта манипуляция приводит к желаемому результату, но всегда полезно проверять также и секции [Platform_Check] и [PasswordCheck].
Insyde H2OFFT, Version 5.79
Выполнив нужные установки, пользователь получает доступ к опциям, предоставляемым графическим интерфейсом Insyde H2OFFT. Для данной версии утилиты это три закладки:

Первая из них осуществляет управление вполне очевидными функциями и в особых комментариях не нуждается. Стоит, разве что, обратить внимание на секцию, ошибочно названную Depand on (правильно было бы — Depend on) в связи с тем, что в теле platform.ini по этому вопросу нет информации. Она отслеживает бесперебойность процесса обновления UEFI в зависимости от того, прописано ли такое поведение Insyde H2OFFT в коде BIOS или диктуется требованиями ОС. В данном случае, этот пункт пользователю недоступен.

Функции, доступные в закладка User Interface, также вполне очевидны. Они отражают поведение графического интерфейса на всем протяжении взаимодействия с Flash ROM.

Святая святых InsydeH2O — внутренние модули, составляющие его структуру. Здесь неподготовленному пользователю нечего делать. Возможно, в будущем мы вернемся к анализу построения UEFI BIOS от Insyde Software.
Insyde H2OFFT, Version 5.51
Рассмотрим более раннюю версию утилиты H2OFFT. На удивление, ее внутреннее наполнение куда богаче, чем у более современной родственницы. Внутренних закладок у Insyde H2OFFT, Version 5.51 не три, а четыре, хотя User Interface и ROM Protection List точь-в-точь, как у старшей версии, по этой причине мы их опустим из рассмотрения.

Наиболее заметное и важное отличие — режим доступа к регионам Flash ROM. Примечательно, что опции управления SPI-интерфейсом используются в platform.ini и более новых версий. Другими словами, Insyde H2OFFT тоже работает с SPI, но только лишь через директивы в управляющем файле.

Остается лишь сожалеть, что столь тонкая опция, как прямое указание физического адреса в 4-х гигабайтном пространстве недоступна в новых версиях Insyde H2OFFT. Ее нет и в директивах platform.ini.
Зато проверка идентификатора UEFI BIOS по-прежнему работает: если потребуется, то можно сравнить его, исходя из информации, хранящейся во Flash ROM и в файле прошивки. Иногда стоит перестраховаться, особенно, если прошивка хранится в контроллерах или чипах, снять и запрограммировать которые целое дело.
Резюме
На этом можно было бы и закончить анализ особенностей Insyde Flash Firmware Tool, тем более, что если хорошо поискать в интернете, то можно найти и оригинальное руководство пользователя H2OFFT User Guide for Microsoft Windows Version.
И все же, несмотря на это интрига остается! Ведь часть установок и директив остаются недокументированными. Так, например, по слухам, существуют рекомендации, позволяющие прошить в UEFI BIOS все, что угодно. Достаточно только указать в platform.ini:
[EngineeringErrorDisable]
SkipSecureBootProtectionCheck=1
[Others]
DisableCompare=1
А может это все враки?