Доступ к настройкам InsydeH2O

Один из ведущих про­из­во­ди­те­лей UEFI BIOS, ком­па­ния Insyde Software пред­ос­тав­ля­ет сво­им парт­не­рам на­бор ин­ст­ру­мен­тов, с по­мо­щью ко­то­рых вы­пол­ня­ет­ся на­ст­рой­ка и тю­нинг про­г­рам­мно­го обес­пе­че­ния с уче­том осо­бен­но­с­тей плат­фор­мы, для ко­то­рой оно раз­ра­бо­та­но. Ути­ли­ты для In­syde­H2O сво­бод­но не рас­про­ст­ра­ня­ют­ся, по­э­то­му они на­хо­дят­ся все­гда в цен­т­ре вни­ма­ния эн­ту­зи­ас­тов и не толь­ко. Са­мая вос­тре­бо­ван­ная (и са­мая до­ступ­ная) сре­ди них — H2O­FFT (Firm­ware Flash Tool), при­ме­ня­е­мая для об­нов­ле­ния ми­кро­ко­да. Как поль­зо­вать­ся In­syde­Flash мы уже рас­смот­ре­ли ра­нее, а се­го­дня ис­сле­ду­ем прак­ти­ку при­ме­не­ния ути­ли­ты H2O­EZE (Easy Bi­na­ry Edi­tor), пред­наз­на­чен­ной для ре­дак­ти­ро­ва­ния дво­ич­ных фай­лов UEFI BIOS, вклю­чая PCI ROM до­пол­ни­тель­ных уст­ройств, встро­ен­ные UEFI-драй­ве­ры, ло­го и, глав­ное, — для до­сту­па к на­ст­рой­кам са­мо­го Insyde­H2O.

Практика применения H2O­EZE

В качестве примера рас­смот­рим UEFI BIOS, ис­поль­зу­е­мый в ноутбуке Lenovo G710. Несмотря на то, что эта плат­фор­ма дав­но снята с поддержки, ее выбор неслучаен. Вопрос о том, как с ним работать, прозвучал не­ско­ль­ко лет назад на Ха­бре, поэтому наши экс­пе­ри­мен­ты с ним нацелены на практическую пользу.

Подопытный BIOS пред­став­ля­ет кон­гло­ме­рат прошивки для Intel Management Engine (два ме­га­бай­та) и на­сто­я­ще­го UEFI (четыре ме­га­бай­та), офор­м­лен­ные в вось­ми­ме­га­байт­ный образ, доступный для за­груз­ки с сай­та про­из­во­ди­те­ля. Ре­ги­он Intel ME сейчас нам не нужен, о работе с ним можно оз­на­ко­мить­ся здесь, а UEFI BIOS, раз­ме­ром 4194304 бай­та, из­вле­чем с помощью HEX-редактора, назовем Lenovo-G710.fd и загрузим в Easy Bi­na­ry Edi­tor:

Краткая информация о содержимом InsydeH2O, полученная с помощью утилиты H2OEZE (Easy Bi­na­ry Edi­tor)

 

Уже сам факт, что файл открылся с по­мо­щью утилиты H2O­EZE говорит о том, что его кон­т­роль­ные суммы со­в­па­да­ют с ожи­да­е­мы­ми и что он годится для про­шив­ки про­грам­ма­то­ром. В этом ключе важным окажется иден­ти­фи­ка­тор офи­ци­аль­ной версии микрокода, о котором сообщает строка BIOS Image Version (в данном случае — 8ECN95WW). Впро­чем, осо­бо до­ве­рять ему не стоит: в разделе Binary ROM меню BIOS Version пред­наз­на­че­но для ре­дак­ти­ро­ва­ния этой строки.

Утилита H2OEZE (Easy Bi­na­ry Edi­tor) от Insyde Software позволяет отредактировать информацию о текущей версии UEFI BIOS

 

Курьезный случай, связанный с при­ме­не­ни­ем Easy Bi­na­ry Edi­tor для прошивки Lenovo G710, вовсе не ха­рак­те­рен для про­г­рам­мных продуктов Insyde Software. Это, скорее, ис­клю­че­ние из правил (сегодня так уже ник­то не пи­шет код), при­зван­ное про­де­мон­ст­ри­ро­вать воз­мож­но­с­ти доступа к содержимому би­нар­ных об­ра­зов Insyde­H2O. В настоящее время нет надобности извлекать образ BIOS из загружаемого файла — утилита способна работать с ним as is.

В свете сказанного H2O­EZE во многом похожа на AMIBCP — ана­ло­гич­ный про­г­рам­мный про­дукт, раз­ра­бо­тан­ный ком­па­ни­ей Ame­ri­can Me­ga­trends для ис­поль­зо­ва­ния со сво­и­ми вер­си­я­ми UEFI BIOS. Но есть и два очень су­щест­вен­ных от­ли­чия, в чем же их суть?

Фазы выполнения H2O­EZE в модулях и драйверах

В отличие от AMIBCP, утилита H2O­EZE допускает ма­ни­пу­ля­цию с модулями и драйверами, со­став­ля­ю­щи­ми те­ло UEFI BIOS. В этом она больше похожа на другой продукт American Megatrends — про­г­рам­мное обес­пе­че­ния для мо­ди­фи­ка­ции прошивки AMIMM (AMIBIOS ROM Module Manipulation). В этом лег­ко убе­дить­ся, ес­ли вместо крат­кой ин­фор­ма­ции о InsydeBIOS, детально ознакомиться с со­дер­жи­мым UEFI:

Утилита H2OEZE (Easy Bi­na­ry Edi­tor) предоставляет полную детализацию UEFI по составу модулей и драйверов, входящих в состав InsydeBIOS

 

Так, если понадобится заменить один из модулей, вхо­дя­щих в состав PEI-фазы UEFI (Pre-EFI Initialization), мы его сна­ча­ла мо­жет найти в детализированном отчете, а затем вы­пол­нить одну из операций над InsydeH2O — за­ме­ну, встав­ку, удаление или экспорт (сохранение) ком­по­нен­та на внеш­ний носитель.

Утилита H2OEZE позволяет выполнить замену, вставку, удаление или экспорт (сохранение)  компонента на внешний носитель

 

Можно и не мелочиться, не тратить время на каждый от­дель­но взятый модуль, а выполнить замену целым бло­ком, со­от­вет­ст­ву­ю­щим од­ной из фаз вы­пол­не­ния UEFI, был бы под рукой готовый FV-блок.

Управление настройками H2O­EZE

В разделе Other наше вни­ма­ние может при­влечь пункт Setup menu — именно он отражает тему, вынесенную в за­го­ло­вок этой ста­тьи. Сразу отметим, что UEFI BIOS ноутбука Lenovo G710 не совместим с данной вер­си­ей H2O­EZE (Easy Bi­na­ry Edi­tor).

Insyde H2O­EZE (Easy Bi­na­ry Edi­tor) информирует о своей версии

 

Прошивка Lenovo G710 слишком стара для H2O­EZE 100.00.03.04. Доступ к ее на­с­т­рой­кам в ав­то­ном­ном ре­жи­ме при­во­дит прос­то к зависанию утилиты, о чем лучше знать заранее. Insyde Software постоянно со­вер­шен­ст­ву­ет свою про­г­рам­мную оснастку, ин­фор­ми­руя об улуч­ше­ни­ях только ква­ли­фи­ци­ро­ван­ных парт­не­ров. В на­сто­я­щее время за ус­та­нов­ки CMOS Setup отвечает новый продукт H2OUVE (UEFI Va­ri­able Edi­tor), о ко­то­ром мы расскажем в своих сле­ду­ю­щих пу­бли­ка­ци­ях.