Как пользоваться InsydeFlash?

В основе работы InsydeFlash лежит про­г­рам­мный ин­тер­фейс, раз­ра­бо­тан­ный ком­па­ни­ей In­syde Soft­ware — In­syde H2O in­ter­nal Soft-SMI in­ter­face (IHISI). Это па­тен­то­ван­ная тех­но­ло­гия вза­и­мо­дей­с­т­вия про­г­рам­мн­ого обес­пе­че­ния, раз­ра­бо­тан­но­го для про­г­рам­ми­ро­ва­ния UEFI BIOS, с ап­па­рат­ной плат­фор­мой. За­пуск ути­ли­ты H2O­FFT (Flash Firm­ware Tool) — имен­но так офи­ци­аль­но на­зы­ва­ет­ся In­syde­Flash — да­же в оз­на­ко­ми­тель­ных це­лях на ап­па­рат­но-не­сов­мес­ти­мых плат­фор­мах прос­то не­воз­мо­жен. Как по­зна­ко­мить­ся с ин­с­т­ру­мен­таль­ной ос­наст­кой для об­нов­ле­ния UEFI? Са­мый про­с­той путь — из­учить на­с­т­рой­ки H2O­FFT, которые хранятся в кон­фи­гу­ра­ци­он­ном файле plat­form.ini, уп­рав­ля­ю­щем ра­бо­той ути­ли­ты.

Для чего это нужно?

Программный интерфейс Insyde Flash Firm­ware Tool полностью уп­рав­ля­ем со сто­ро­ны plat­form.ini. Мало того, файл на­ст­ро­ек содержит прекрасные ком­мен­та­рии, ко­то­рые помогут разобраться начинающему поль­зо­ва­те­лю с работой ути­ли­ты по про­шив­ке UEFI BIOS. Для чего же нам копаться командных строках ини­ци­а­ли­за­ции In­syde­Flash с тем, чтобы получить доступ к графическому интерфейсу, если можно про­сто ог­ра­ни­чить­ся изучением plat­form.ini?

Дело в том, что графический интерфейс H2OFFT от версии к версии претерпевает су­щес­т­вен­ные из­ме­не­ния. В ус­ло­ви­ях, мягко говоря, ог­ра­ни­чен­но­го доступа к документации по In­syde­Flash, разобраться с осо­бен­но­с­тя­ми ра­бо­ты ути­ли­ты зачастую не так-то просто. Про­ил­лю­с­т­ри­ру­ем это чуть ниже, а сейчас...

Ис­сле­ду­ем фор­мат и со­с­тав 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. Для данной версии утилиты это три за­клад­ки:

В закладке Option можно задать управление бесперебойным питанием в процессе обновления UEFI

 

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

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

 

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

В закладке ROM Protection List можно запретить обновление ряд внутренних модулей InsydeH2O

 

Святая святых InsydeH2O — внутренние модули, составляющие его структуру. Здесь не­под­го­тов­лен­но­му поль­зо­ва­те­лю нечего делать. Возможно, в будущем мы вернемся к анализу построения UEFI BIOS от Insyde Soft­ware.

Insyde H2OFFT, Version 5.51

Рассмотрим более раннюю версию утилиты H2OFFT. На удивление, ее внутреннее на­пол­не­ние ку­да бо­га­че, чем у бо­лее со­вре­мен­ной род­ст­вен­ни­цы. Внутренних закладок у Insyde H2OFFT, Version 5.51 не три, а че­ты­ре, хотя User In­ter­face и ROM Pro­tec­tion List точь-в-точь, как у стар­шей вер­сии, по этой причине мы их опустим из рас­смот­ре­ния.

Опции графического интерфейса Insyde H2OFFT доступны в закладках Insyde Flash Options

 

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

Предыдущая версия Insyde H2OFFT предоставляла доступ к функциям Update FV

 

Остается лишь со­жа­леть, что столь тон­кая оп­ция, как пря­мое указание фи­зи­че­ско­го адреса в 4-х ги­га­байт­ном про­ст­ран­с­т­ве недоступна в новых версиях Insyde H2OFFT. Ее нет и в ди­рек­ти­вах platform.ini.

Зато проверка идентификатора UEFI BIOS по-преж­не­му ра­бо­та­ет: если по­тре­бу­ет­ся, то можно срав­нить его, ис­хо­дя из ин­фор­ма­ции, хранящейся во Flash ROM и в файле прошивки. Иногда стоит пе­ре­стра­хо­вать­ся, осо­бен­но, ес­ли про­шив­ка хранится в кон­т­рол­ле­рах или чипах, снять и за­про­г­рам­ми­ро­вать которые целое де­ло.

Резюме

На этом можно было бы и закончить анализ осо­бен­но­с­тей Insyde Flash Firmware Tool, тем более, что если хо­ро­шо по­ис­кать в интернете, то можно найти и ори­ги­наль­ное ру­ко­вод­с­т­во поль­зо­ва­те­ля H2OFFT User Guide for Micro­soft Win­dows Ver­sion.

И все же, несмотря на это интрига ос­та­ет­ся! Ведь часть установок и директив остаются не­до­ку­мен­ти­ро­ван­ны­ми. Так, на­при­мер, по слухам, су­ще­ст­ву­ют ре­ко­мен­да­ции, по­зво­ля­ю­щие про­шить в UEFI BIOS все, что угодно. До­ста­точ­но толь­ко указать в platform.ini:

[EngineeringErrorDisable]
SkipSecureBootProtectionCheck=1
[Others]
DisableCompare=1

А может это все враки?