Уефи биос. Модификация UEFI BIOS, часть вторая: полезные модификации
КАТАЛОГ ТОВАРОВ

Срок доставки товара в течении 1-3 дней !!!

 

ПОЛЬЗОВАТЕЛЬ
КОРЗИНА

Модификация UEFI BIOS, часть первая: знакомство с UEFITool. Уефи биос


знакомство с UEFITool / Хабр

Прикрываясь полумифическими «безопасностью» и «защитой простого пользователя от буткитов» производители UEFI все сильнее закручивают гайки с каждым новым поколением своих продуктов. При этом поддержка предыдущих поколений быстро сходит на нет, и их пользователям ничего не остается, кроме как брать эту самую поддержку в свои руки. Конечно, при отсутствии исходного кода вносить какие-то изменения довольно сложно, но и без него можно сделать многое. В своих предыдущих статьях об UEFI я планировал описать различные полезные модификации, которые помогают преодолеть некоторые заложенные производителями ограничения, но тогда до них руки не дошли, зато теперь — самое время. В первой части этой статьи я опишу работу с написанным мной инструментом для модификации образов UEFI, а вторая будет посвящена самим модификациям.

Вступление, отказ от ответственности

Прошивка UEFI BIOS на современных платах, несмотря на наличие различных технологий вроде USB BIOS Flashback, Dual BIOS, Flash Recovery и т.п. — все равно лотерея. Прошивка же модифицированных образов — лотерея вдвойне. Именно поэтому я прошу до начала любых экспериментов с прошивкой сделать при помощи аппаратного SPI-программатора полный дамп содержимого микросхемы, иначе восстановление после неудачной прошивки (а она рано или поздно случится) будет долгим, дорогим и болезненным. SPI-программатор в данный момент может быть собран в домашних условиях из чего угодно, от пары резисторов и конденсаторов (SPIPGM) до Arduino или Raspberry Pi. Мой вариант дешевого и быстрого SPI-программатора описан здесь. Любителям вытравить пару-тройку плат советую обратить внимание на этот проект, а почитателям устройств «все-в-одном» — на этот. Далее по тексту я полагаю, что у вас есть программатор, возможность восстановления после сбоя прошивки и готовность к экспериментам. Безумству храбрых, конечно, тоже можно петь песни, но не говорите потом, что я не предупреждал. Традиционно, все, что вы тут сейчас прочитаете, написано в образовательных целях, автор не несет ответственности за возможную порчу вашего оборудования, недополученную прибыль, потерю времени и веры в человечество, вы пользуетесь предоставленным софтом на свой страх и риск и так далее.

UEFITool

Устав от ограничений существующих утилит для работы с образами UEFI (ну и пораженный синдромом NIH в самое сердце), я написал кроссплатформенную утилиту с открытым исходным кодом — UEFITool. Это редактор образов UEFI, написан на C++\Qt, распространяется под лицензией BSD, готовые сборки выкладываются сюда. Проект находится в активной разработке, поэтому код не блещет красотой и баги нет-нет, да попадаются. Если вдруг наткнетесь — буду рад репортам. Для нормальной работы с утилитой стоит прочитать предыдущие статьи о структуре образа UEFI, иначе непонятно будет, что вообще происходит, но я постараюсь все же пояснить некоторые моменты. Будем считать, что это заготовка для будущей документации. В качестве примеров в обеих частях статьи я буду использовать полные дампы с Zotac Z77-ITX WiFi (AMI Aptio4) и Dell Vostro 3360 (Phoenix SCT 2.3). К сожалению, у меня нет тестового стенда на платформе Insyde h3O, поэтому рассказать о ней мне нечего. Возможно, Falseclock знает о них немного больше. С точки зрения UEFITool'а разницы между образами UEFI разных производителей практически нет, поэтому я остановлюсь на ней при описании патчей. Итак, запускаем UEFITool, открываем образ (Ctrl+O) и видим примерно такое: В левой части окна отображается структура открытого образа в виде дерева, справа — информация о выбранном элементе дерева, снизу — сообщения, указывающие на ошибки в формате файла, в данном случае — использование разработчиками Phoenix секций с типом 0xF0, назначение которых не описано в спецификации UEFI PI. Двойной щелчок по сообщению раскроет дерево так, чтобы был виден либо на сам элемент, который это сообщение вызвал, либо его родительский элемент. В это же окно выводятся результаты поиска, который можно вызвать нажатием Ctrl+F (оба варианта одной картинкой): Здесь следует немного пояснить терминологию. Практически все структурные элементы в образе UEFI имеют заголовок, в котором хранятся служебные данные вроде GUID, атрибутов, контрольных сумм и т.п., и тело — в нем хранятся собственно данные. Текст же в заголовках не хранится, поэтому для него такой выбор не нужен. На первом уровне дерева находятся Flash-регионы, в данном случае это Descriptor, ME и BIOS: При выборе региона Descriptor можно узнать настройки доступа к регионам, в данном случае доступ полный, но такие настройки встречаются очень редко. Intel рекомендует производителям оборудования закрывать доступ к региону МЕ на чтение/запись и региону Descriptor на запись, именно поэтому на большинстве плат встроенными средствами полный дамп снять без «танцев с бубном» практически невозможно. При выборе региона ME можно узнать версию ME firmware, если же она не отображается — это не к добру и такой образ лучше не шить. Перейдем еще на уровень ниже, к содержимому региона BIOS: На этом уровне могут встречаться два типа элементов: тома и свободное место. Свободное в данном случае — не обязательно пустое, к примеру, в этом образе в самом начале Padding'а хранится прошивка EC. Тома делятся на обыкновенные (формат файловой системы известен), загрузочные (формат ФС известен, содержат Security Core, изменять стоит с особой осторожностью) и неизвестные (либо неизвестен формат ФС, либо разбор еще не реализован). В нашем случае первый том после свободного пространства в начале — обычный, затем два неизвестных (на самом деле, в первом хранится NVRAM, а во втором — ключи и БД для SecureBoot, но программе я это пока еще не объяснил), последний том является загрузочным. Откроем теперь обычный том, в данном случае в нем хранятся файлы, загружаемые в фазе DXE. Такая структура (основной том внутри сжатой секции) используется довольно часто, она позволяет сэкономить приличное количество места в микросхеме. Есть еще вариант сжимать не весь том целиком, а каждый файл по отдельности — это несколько менее экономно в плане места, зато стартует такой UEFI BIOS быстрее, т.к. нет смысла распаковывать файлы, к которым не было обращений. Теперь заглянем внутрь файла: Все данные в нем хранятся внутри GUID-defined-секции (в заголовке таких секций обычно хранится ЭЦП или контрольная сумма, в данном случае — 4 байта, похожие на КС, которую, однако, никто не проверяет), и делятся на 4 секции: образ PE32 — собственно исполняемый файл в формате PE/COFF, секция зависимостей DXE — определяет порядок загрузки DXE-драйверов, секция UI — в ней хранится текст «SystemCapsuleRt.efi» в формате Unicode и неизвестная секция типа 0xF0 (скорее всего, её содержимое каким-то образом связано с вышеупомянутой КС). Все это хорошо, конечно, но редактирования пока не видно. Не беда, вызываем для любого элемента контекстное меню, в котором видно, что с этим элементом можно сделать. А сделать можно следующее:
  • сохранить элемент в файл либо целиком (Extract as is), либо только данные, без заголовков (Extract body)
  • пересобрать элемент (Rebuild), в этом случае при сохранении измененного образа для него (и всех его родительских элементов) будут пересчитаны размеры, контрольные суммы, исправлено выравнивание, т.е. структура образа будет приведена в соответствие со спецификацией UEFI PI
  • вставить элемент из файла, либо перед выбранным (Insert before), либо после (Insert after), либо внутрь него (Insert into, в данном случае внутрь PE32-секции ничего вставить не получится)
  • заменить элемент на другой элемент из файла, либо целиком (Replace as is), либо только его тело (Replace body)
Последнее действие является наиболее полезным, т.к. позволяет произвести модификацию какой-либо части UEFI, не затрагивая при этом структуры всего образа.

Пример использования

Рассмотрим в качестве примера полезную для пользователей MacOS X на ПК модификацию: обход установки бита LOCK (0x0F) в регистре MSR_PMG_CST_CONFIG_CONTROL (0xE2). Бит этот устанавливается DXE-драйвером PowerManagement, чтобы ОС не могла управлять множителем CPU путем записи в этот регистр. Для Windows и Linux это не большая проблема, а вот MacOS X не может стерпеть от UEFI такой наглости. Можно, конечно, пропатчить драйвер AICPM.kext (в 10.8) или ядро (в 10.9), но лучше пропатчить DXE-драйвер и не бояться, что очередное автоматическое обновление сломает загрузку. Патч этот нужен только системам на базе процессоров Intel SandyBridge, IvyBridge и Haswell и их *-E вариантов и делается так:
  1. Открываем свой дамп в UEFITool, очищаем Messages нажатием Ctrl+Backspace, чтобы не мешали
  2. Открываем поиск, выбираем Hex-pattern, Body only, ищем строку «75080FBAE80F»
  3. Делаем двойной щелчок на сообщении о том, что строка найдена, сохраняем тело указанного элемента в файл
  4. Исправляем в Hex-редакторе «75080FBAE80F» на «EB080FBAE80F» (JE становится JMP), сохраняем изменения
  5. Заменяем содержимое выбранного элемента на измененное, старый элемент будет помечен на удаление (Remove), новый — на замену (Replace), все родительские элементы до корня — на перестроение (Rebuild)
  6. Сохраняем измененный образ (Ctrl+S), если сохранение прошло успешно, будет выдан запрос на открытие только что сохраненного образа, если нет — сообщение об ошибке
Прошиваем полученный образ тем же SPI-программатором, которым он был сделан, и получаем отсутствие паники ядра при загрузке MacOS X.

Подробности, другие модификации, заключение

Если вам интересно, откуда взялся магический паттерн «75080FBAE80F» и на какие еще патчи стоит обратить внимание — читайте вторую часть этой статьи, которая будет опубликована немного позже. В ней я постараюсь подготовить побольше примеров в формате «что за модификация, зачем нужна, как сделать, кем и как была найдена», не углубляясь каждый раз в то, как именно вынуть подлежащий модификации элемент и как вставить его обратно. Надеюсь, что статья не показалась слишком скучной и нудной. Если у вас есть вопросы и предложения — буду рад выслушать и ответить по мере сил. Баг-репортам буду рад еще больше. Спасибо заранее и удачных прошивок.

P.S. Уважаемая администрация и лично НЛО, сделайте для таких вот постов хаб UEFI, пожалуйста.

habr.com

Отличия BIOS и UEFI

BIOS – хорошо известный термин в рядах владельцев компьютеров, который используется уже на протяжении многих лет. Осенью 2017 года Intel сообщила о своих планах полностью отказаться от BIOS на всех своих платформах до 2020 года. Вместо BIOS теперь будет использоваться только UEFI, что может навести многих на логичный вопрос: чем UEFI лучше BIOS и какая вообще между ними разница?

BIOS Chip

Чип BIOS на материнской плате Gigabyte.

UEFI и BIOS относятся к разряду так называемого «низкоуровневого» программного обеспечения, которое стартует еще до того, как компьютер начнет загружать операционную систему. UEFI - это более современное решение и оно поддерживает большое количество удобных функций, полезных на современных компьютерах. Часто бывает так, что производители называют UEFI на своих компьютерах традиционным словом “BIOS”, чтобы не заплутать пользователя. Все же между UEFI и BIOS большая разница, а современные компьютеры в основном комплектуются именно UEFI.

Что такое BIOS

BIOS – это сокращенно “Basic Input-Out System” или "базовая система ввода-вывода". Она живет на специальном чипе внутри материнской платы (на фото выше) и не зависит от того, установлен ли в компьютер жесткий диск. При включении компьютера первым делом включается BIOS. Эта система ответственна за «пробуждение» хардверных компонентов вашего компьютера, проверку их нормального функционирования, активацию загрузчика и дальнейшего старта операционной системы.

BIOS

Старый как мир BIOS.

Пользователь может настроить большое количество различных параметров внутри BIOS. Конфигурация компонентов, системное время, порядок загрузки и так далее. Зайти в BIOS можно при помощи специальной клавиши во время включения ПК. У разных компьютеров она может быть разной. К примеру, Esc, F2, F10 или Delete. Производитель сам решает, какую выбирать. После изменения настроек все параметры записываются в саму материнскую плату.

BIOS также отвечает за процесс под названием POST – “Power-On Self-Test” или "проверка при включении". POST проверяет пригодность конфигурации компьютера и исправность хардверных компонентов. Если что-то идет не так, на экране отображается соответствующая ошибка или же компьютер начинает издавать ряд определенных звуков (также существует понятие POST-кодов и в некоторых материнских платах даже установлен соответствующий дисплей для их отображения). Интенсивность этих звуков зависит от типа ошибки, и чтобы их расшифровать, надо обратиться на сайт производителя или к руководству пользователя.

После завершения POST BIOS ищет Master Boot Record (MBR) или "главную загрузочную запись", которая сохранена на носителе компьютера. Затем инициализируется загрузчик (бутлоадер) и стартует операционная система. В BIOS также часто используется термин CMOS, что расшифровывается как «Complementary Metal-Oxide Semiconductor» или "вспомогательный металл-оксидный полупроводник". Это обозначение специальной памяти, которая питается от встроенной в материнскую плату батарейки. Память хранит в себе различные настройки BIOS и часто для сброса параметров БИОС советуют извлечь батарейку из материнской платы. В современных компьютерах на смену CMOS пришла флеш-память (EEPROM).

Почему BIOS устарел

BIOS – это очень старая система, которая существовала еще в 1980 году (а разработана была и того раньше), на момент запуска MS-DOS. Конечно, со временем BIOS развивалась и улучшалась, но концепция и основные принципы работы остались прежними. Развитие BIOS фактически нулевое, если сравнивать его с развитием компьютеров и технологий в целом.

Традиционный BIOS имеет много серьезных ограничений. К примеру, он может запустить систему только из раздела объемом не больше 2.1 Тб (максимум 4 раздела) или меньше. В современных реалиях пользователи покупают очень емкие накопители, объем которых часто превышает 4 и даже 8 Тб. BIOS не сможет работать с таковыми носителями. Это обусловлено тем, как работает MBR (главная загрузочная запись использует 32-битные элементы). Кроме того, BIOS работает в 16-битном режиме (так как был разработано еще в 70-х годах) и имеет всего лишь 1 Мб адресуемого пространства для операции. У BIOS также проблемы с инициализацией большого количества компонентов за раз, что приводит к замедленному старту компьютера.

BIOS нуждается в замене уже на протяжении большого периода времени. Intel начала разработку EFI (Extensible Firmware Interface) еще в 1998 году и Apple перешла на использование EFI в 2006 году, когда состоялся переход на архитектуру Intel. В 2007 году Intel, AMD, Microsoft и различные производители компьютеров одобрили спецификацию UEFI – "Unified Extensible Firmware Interface" или "объединенный расширяемый интерфейс встроенного программного обеспечения". Windows получила поддержку UEFI в Windows Vista SP1 и Windows 7. Сегодня почти все компьютеры используют UEFI вместо BIOS.

Чем UEFI лучше БИОС

UEFI устанавливается вместо BIOS на различных ПК, которые вы можете найти в магазинах электроники. Сразу же надо отметить, что пользователь не может перейти с BIOS на UEFI на существующем железе. Для этого надо приобретать новое железо, которое поддерживает UEFI. Подавляющее большинство UEFI-компьютеров включают в себя BIOS-эмуляцию (зачастую это называется Legacy BIOS) , чтобы пользователь мог установить и загрузить старую операционную систему, для работы которой нужен BIOS. Иными словами, UEFI обратно совместима.

UEFI

Куда более современный и дружелюбный к пользователю интерфейс UEFI.

Новый стандарт избавился от неприятных ограничений BIOS. Компьютер с UEFI может загружаться с накопителей объемом больше 2.2 Тб. Теоретически, максимальный объем носителя для UEFI составляет 9.4 Зтб (9.4 триллиона гигабайт). Это очень много. Вся суть в том, что UEFI использует схему GPT с 64-битными элементами..

UEFI запускается в 32 и 64-битном режимах, а также имеет больше памяти для работы. Это в свою очередь конвертируется в ускоренную загрузку процессора, и удобство использования. UEFI-системы зачастую имеют красивые интерфейсы с поддержкой ввода с мыши (на скриншоте выше). Есть также и ряд других преимуществ. К примеру, UEFI поддерживает Secure Boot. Это специальная процедура, которая проверяет загружаемую операционную систему и убеждается в том, что во время ее загрузки вредоносное или просто сторонеее программное обеспечение не будет вмешиваться. Также в UEFI есть поддержка различных сетевых функций, что полезно при решении технических проблем с компьютером. В традиционном BIOS пользователь должен иметь физический доступ к компьютеру, тогда как в UEFI есть возможность удаленного доступа для конфигурации.

В целом UEFI – это такая маленькая операционная система. Она может храниться на флеш-памяти материнской платы или же ее можно загрузить из жесткого / сетевого диска. Разные компьютеры с разными UEFI имеют не менее разные интерфейсы и возможности. Все зависит от предпочтений производителя вашего компьютера.

UEFI стало большим обновлением для современных компьютеров, но подавляющее большинство пользователей вряд ли заметит какую-то существенную разницу. Да и многих этот вопрос не интересует вообще. Все же надо понимать, что приход UEFI вместо BIOS стал исключительно положительным эволюционным изменением в мире современных компьютеров, пусть даже все его прелести и новшества остаются спрятанными глубоко в материнской плате компьютера. Сейчас индустрия все еще находится в переходном состоянии от BIOS к UEFI, поэтому все прелести нового стандарта раскроются в ближайшем будущем. Чтобы ускорить этот процесс, Intel решила полностью отказаться от BIOS до 2020 года и это хорошо.

wp-seven.ru

BIOS UEFI - что это за новый интерфейс?

Сегодня мы поговорим о новом интерфейсе BIOS UEFI, который на сегодняшний день неплохо вытесняет обычный BIOS. Эта технология все чаще появляется в новых компьютерах и ноутбуках. Но есть одна маленькая загвоздочка. Если Ваш компьютер или ноутбук на BIOS UEFI, то кроме Windows 8 вы на него ничего установить не сможете. Но все же есть способы, как установить, например, Windows 7. А также сейчас мы поговорим о преимуществе перед обычным BIOSом.

БИОС UEFI – это новый интерфейс, который управляет низкоуровневыми функциями оборудования. Разработала его компания Intel.

Что такое вообще BIOS, наверное, знают все. Это микропрограмма, встроенная в материнскую плату. Данная технология сообщает системе, как использовать внутренние комплектующие компьютера: процессор, видеокарту и т. д. BIOS запускается раньше Windows и производит проверку всех внутренних составляющих. Если какое-то устройство неисправно, БИОС должен издать сигнал через встроенный динамик.

Но на сегодняшний момент на смену BIOS пришла более совершенная технология UEFI.

BIOS UEFI 1

Так, какие же преимущества у BIOS UEFI перед обычным BIOS. Ну во первых полностью переработанный механизм. Во вторых UEFI много взял от своего предшественника. Он также проверяет комплектующие компьютера, а после идет загрузка операционной системы.

  1. Удобный графический интерфейс. Поддерживает управление мышью. Также, есть поддержка русского языка.
  2. Работает с жесткими дисками, которые имеют таблицу разделов GPT. Данные винчестеры можно разбить на 128 разделов. А в MBR можно было создать только 4 раздела.
  3. Так как, обычный BIOS не видел диски объемом более 2 Тбайт, в UEFI эту проблему исправили. UEFI поддерживает объем 18 Экзабайт.
  4. Винчестеры MBR работали со старой адресацией CHS, теперь жесткие диски GPT работают с адресацией LBA.
  5. Происходит быстрая загрузка с жесткого диска. Windows 8 загружается за 5 сек.
  6. На винчестерах GPT, легче восстановить удаленные данные.
  7. BIOS UEFI имеет собственный менеджер загрузки, это удобно, если вы используете несколько операционных систем.
  8. Легко обновить в отличие от обычного BIOS.

Есть еще одна особенность в BIOS UEFI. Из-за нее и невозможно установить другие операционные системы кроме Windows 8.

Технология эта называется Secure Boot – протокол безопасной загрузки. Он основан на сертифицированных ключах, которые имеются только в Windows 8. Более старые операционные системы, в том числе и Linux, таких ключей не имеют, и установить их не удастся.

Выход, конечно, есть, можно отключить Secure Boot, но тогда установка windows будет происходить на диск MBR, и теряется много преимуществ.

В следующих статья мы разберем, как отключить данную функцию – Secure Boot. И во вторых, как же установить другие операционные системы помимо Windows 8.

http://computerinfo.ru/bios-uefi/http://computerinfo.ru/wp-content/uploads/2015/07/BIOS-UEFI.jpghttp://computerinfo.ru/wp-content/uploads/2015/07/BIOS-UEFI-150x150.jpg2017-04-19T21:16:42+00:00EvilSin225Windowsbios,BIOS UEFI,Secure Boot,uefi biosСегодня мы поговорим о новом интерфейсе BIOS UEFI, который на сегодняшний день неплохо вытесняет обычный BIOS. Эта технология все чаще появляется в новых компьютерах и ноутбуках. Но есть одна маленькая загвоздочка. Если Ваш компьютер или ноутбук на BIOS UEFI, то кроме Windows 8 вы на него ничего установить не...EvilSin225Андрей Тереховandrei1445@yandex.ruAdministratorКомпьютерные технологииИнформация о компьютерах, Windows и других операционных системах, а также новости мобильных технологий

Похожие статьи

computerinfo.ru

Коротко о BIOS и UEFI. Биос и Уефи

Приветствую вас уважаемые читатели. Раз вы на этой странице, значит вас интересует BIOS и UEFI, желаете узнать что это такое и что с ними делать.Постараюсь рассказать вам в этой статье коротко о биос и уефи, без лишней информации только о самом главном. Вы узнаете значения этих терминов и разницу между ними. Более подробно вы сможете узнать о них в последующих статьях на проекте.

BIOS и UEFI

И Биос и Уефи по своему предназначению являются базовыми программами для ввода и вывода информации в компьютере. На любом компьютере имеется БИОС либо УЕФИ. (Как зайти в Биос?) Данная программа прошивается в специальную память системной платы (материнки). Давайте подробнее остановимся на каждой из них.

BIOS (БИОС)

BIOS расшифровывается как Basik Input - Output System и в переводе с англ. означает "Базовая система ввода-вывода". Произносится как "Байос", но в народе закрепилось неправильное произношение "Биос".Так как БИОС устанавливается в материнку, она остается доступной компьютеру независимо от подключенных жестких или съемных дисков, а также работоспособности операционной системы.

Память биоса питается от плоской батареи. В памяти хранятся настройки биоса. Если батарейку вынуть либо если она садится, из памяти стираются только те изменения в настройках BIOS, которые произвел пользователь. Другими словами происходит сброс настроек до заводских (настройки по умолчанию) и биос возвращается в изначальное состояние. В связи с этим с настройками тут можно поэкспериментировать, так как в случае чего можно вернуть все на исходную точку.

BIOS можно "перепрошить", то есть произвести изменения, которые не возможно сбросить. В таких случаях меняется полностью программа биоса на новую версию. Но я не рекомендую не опытным пользователям самостоятельно заниматься прошивкой БИОСА, так как при ошибке возможно придется полностью менять материнскую плату.

UEFI (УЕФИ)

В последнее время, на новых компьютерах, часто вместо BIOS используется её современный аналог UEFI. UEFI - Unified Extensible Firmware Interface, что в переводе с англ. означает "Унифицированный расширяемый интерфейс встроенного ПО".Разработан впервые в 2005 году, но развивался очень медленно до недавнего времени. Последние пару лет УЕФИ стремительно набирает обороты. В будущем UEFI может полностью вытеснить BIOS, так как имеет ряд преимущественных отличий.

В чем отличия между БИОС и УЕФИ

UEFI - в отличие от BIOS:

  • имеет встроенные драйвера для базовых устройств.
  • имеет специальные дополнительные графические оболочки
  • имеет более быструю загрузку операционной системы

Что нам дает наличие встроенных драйверов и графические оболочки? Это позволит нам орудовать в биосе с помощью компьютерной мышки, позволит не запуская операционную систему подключаться к сети, прослушивать мультимедиа с компакт дисков, использовать разные полезные утилиты типа файлового менеджера или утилиты по диагностике компьютера.Это как бы плюсы уефи.Есть и минус, заключающийся в том, что производители плат, с помощью возможностей UEFI могут ограничить пользователей в выборе ОС или определенных действий с ней.

pc-assistent.ru

Виды БИОСа (BIOS, UEFI, AWARD, AMI, Phoenix)

виды биоса asus hp lenovo acer

Привет! Недавно я уже подробно рассказывал — что такое BIOS и CMOS. Сегодня я поподробнее остановлюсь на том какие бывают виды БИОСа, потому как разобраться в этом начинающему пользователю сложно. Хотя, на самом деле, всё весьма просто — надо лишь в этом немного разобраться. Тем более, что несмотря на различия во внешности, в плане настройки функций и принципах действий все они схожи. Я расскажу какие виды бывают и покажу всё это в картинках.На текущий момент есть 3 основных разновидности BIOS отличающиеся по производителю. 

1. AMI BIOS

American Megatrends inc. — это, наверное самый старый разработчик. АМИ БИОС шел ещё во времена моего детства на древних 286-х и 386-х компьютерах. Затем, на какое то время, этот вид пропал. Но последние годы снова появился, причём именно AMI — самый распространённый вид BIOS на ноутбуках ASUS, MSI, Lenovo. На текущий момент есть две основные ветки:— версия 2.XX. Выглядит она так:

American Megatrends inc. ами биос

Эту версия АМИ БИОС отличается от всех других по структуре главного меню и серо-синей цветовой гамме.

— версия 3.XX. 

ami bios ами биос

Эта ветка уже внешне и по своей структуре больше напоминает классическую систему ввода-вывода от AWARD.

2. Phoenix BIOS, он же Award

Ранее это были две разные фирмы, выпускающие каждая свою систему. Система от Авард многие годы была лидирующей на рынке. А вот Феникс БИОС был не особо популярен у производителей материнских плат. Но дальше происходят интересные события — AWARD Software был перекуплен Phoenix. Сейчас это одна фирма. А вот торговых марок несколько:— Award BIOS

award bios авард биос

— Phoenix Award BIOS

award phoenix bios

— Phoenix Award Workstation

award phoenix workstation bios

Различий между ними почти нет — интерфейс полностью идентичный. Есть, правда исключение — версия Феникс-Авард для ноутбуков. Она внешне  очень похожа на АМИ:

award phoeix bios авард феникс

Сегодня именно этот вид БИОСа используется на 90% материнских плат стационарных компьютеров.

3. Intel BIOS

Компания Intel на свои фирменные платы ставит свой фирменный вид БИОСа. Вернее он не совсем их — это модифицированная версия АМИ. До некоторого времени на материнских платах шла версия Intel/AMI 6.0, а позже, когда она была ещё более существенно переделана, изменены опции и переделан интерфейсе — этот вид БИОСа стал носить название — Intel.

intel bios

Последние версии вообще визуально больше стали похожи на UEFI назывались «Intel Visual BIOS»:

inte visual bios

4. UEFI

Начну, пожалуй, с самой современного вида БИОСа — UEFI (Unified Extensible Firmware Interface). Это даже не разновидность а наследник или преемник, кому как удобнее называть. УЕФИ — это следующая ступень в развитии BIOS. Сейчас, фактически, это уже не просто система ввода-вывода — она скорее похожа на операционную систему как внешне, так внутренне.

msi uefi

Наконец-то добавлена поддержка мыши! Среди ключевых особенностей — расширяемое множество возможностей, приятный визуальный интерфейс, возможность безопасной загрузки «Secure Boot», простота обновления микропрограммы, быстрая загрузка операционной системы.

asrock uefi

Кстати, на некоторых материнских платах можно выйти в Интернет даже не загружая полностью компьютер — сразу из UEFI.

asus uefi

Ещё одна очень важная особенность — мульти-языковая поддержка, в том числе и русского языка.

Как узнать вид и версию БИОС на своей материнской плате?!

Это очень просто сделать практически на каждой современной материнской плате. Зайдя в БИОС или УЕФИ обратите внимание  — вид и версия БИОСа написана, как правило в самом верху или в самом низу экрана:

bios-version

Примечание: У каждого вида BIOS есть своя система диагностических звуковых сигналов, оповещающих пользователя при появлении различных неисправностей. Подробнее о них Вы можете узнать здесь: Award, AMI, Phoenix.

Это тоже интересно:

set-os.ru

UEFI — новая версия старого BIOS

Если взять для сравнения две версии операционных систем Windows 98 и Windows 7, сразу же можно заметить огромную разницу. Каким убогим кажется сейчас, внешнее оформление 98 версии по сравнению с семеркой. Роскошные обои рабочего стола, разнообразные гаджеты с правого боку, красивое меню, все выглядит великолепно. Но не все обращают внимание на то, что пред загрузкой Windows, на экране монитора появляются и пропадают надписи на английском языке, и если быть точнее, замечают, но не делают попыток понять, что это такое. А это BIOS, тоже своего рода система, но записана она не на жестком диске, как Windows, а на маленькой микросхеме материнской платы. Без этой систем был бы невозможен запуск компьютера. Появился первый BIOS вместе с первым современным компьютером, и с тех пор практически ничего не менялось, до недавнего времени. Сейчас все меняется, две крупных корпорации Intel и Microsoft, приняли решение поменять BIOS на UEFI, его также называют BIOS EFI. Это будет абсолютно новая базовая система для запуска персонального компьютера.

Современная материнская плата MSI P67 Big-Bang MARSHAL

Современная материнская плата MSI P67 Big-Bang MARSHAL

UEFI и BIOS зачем они нужны

Для того чтобы обозначить эту систему, есть специальный термин Firmware, что означает: аппаратно-реализованное  программное обеспечение. Само, название говорит о том, что программа уже вшита в одну из микросхем, на материнской плате, ее установкой не надо заниматься, да и нежелательно, она уже от производителя настроенная для работы в оптимальном режиме. После включения компьютера, она запускается автоматически, выполняя множество разнообразных задач. Что конкретно делает BIOS вовремя загрузки, первым делом он проверяет узлы компьютера, которые отвечают за запуск, это оперативная память и центральный процессор. Проверяется их состояние и работоспособность, например, если отключить кулер обдувающий процессор, BIOS сразу об этом оповестит. После проверки основных узлов, продолжается это, кстати, недолго, и если все нормально, то практически ничего на экране монитора не отражается. Потом проходит проверка настроек, определяется частота оперативки, соответствует ли она заданной, а также время включения всех вентиляторов, расположенных внутри системного блока и подключенных к материнской плате. Идет выбор, в каком режиме энергосбережения компьютер будет работать дальше, если долгое время простаивал. Хотя, кое-что из этих настроек можно поменять и в Windows, но основные работоспособные параметры компьютера BIOS выставит сам, перед запуском операционной системы. Если вы уже ознакомлены с БИОСом, то, не боясь, можете менять некоторые его настройки. Можно отключить, или наоборот подключить интерфейсы на материнской плате, это или жесткий диск, или привод DVD, или USB-накопители, например внешний жесткий диск, или флешка. Также через BIOS, можно выбрать к чему в первую очередь будет обращаться компьютер. По умолчанию стоит такая последовательность, жесткий диск,  привод DVD, USB-накопители. Так вот эту последовательность можно поменять, и поставить первым привод DVD, это позволит без лишней возни, после перезагрузки запустить диск с операционной системой для ее переустановки. После проверок всех узлов, BIOS загружает Windows, система запускается вместе со всеми необходимыми для работы драйверами, и потом BIOS становится ненужным, до следующего включения или перезагрузки.

BIOS и UEFI, что означают все эти буквы

Начнем с BIOS, что буквально означают эта английская аббревиатура, на языке оригинала это выглядит так – Basic Input-Output System. А на русском это пишется так – Базовая Система Ввода-Вывода. Впервые эта система была разработана в 1981 году, то есть существует она уже 30 лет. Как видно из самого названия этой системы, она отвечает за все операции ввода/вывода  для Windows. Самый первый вариант BIOS на компьютерах IBM, и его функции несколько отличались от того, что делает сегодняшний  BIOS. Тот БИОС в определенной мере исполнял роль драйверов, то есть связывал операционную систему с периферийными устройствами. Но со временем периферия становилось все совершеннее, впрочем, как и сам компьютер. БИОС уже не мог выполнять всех тех задач, которые были на него первоначально возложены, поэтому появились драйверы, программы, взаимодействующие с операционной системой. Годы шли, и BIOS менялся, чтобы соответствовать развивающейся технике, но менялся не только внешний вид, но и внутреннее содержимое. В начале 90-х годов к его основным функциям, такие как загрузка с привода DVD, а также автоматическая настройка плат расширения. А теперь, что такое UEFI. Это Unified Extensible Firmware Interface. На русском – Расширяемый Интерфейс Встроенного ПО. Разрабатываться он начал уже относительно давно, с 2001 года, занималась этим компания Intel, и предназначалось изначально для серверного процессора Itanium. Что подтолкнуло разработчиков заняться uefi boot, а то, что Itanium было принципиально новым оборудованием и никакая версия BIOS, не работала с ним, и никакие доработки тут помочь не могли. Первоначально появилась EFI, и первый кто ее начал использовать оказалась компания Apple, она начала ставить EFI на все выпускаемые ПК и ноутбуки. С 2006 года эта компания при сборке компьютеров и ноутбуков использует интеловские процессоры. За год до этого к аббревиатуре EFI, была добавлена еще одна буква U, за этой буквой скрывается слово Unified, слово говорит о том, что разработкой интерфейса uefi bios занимается сразу несколько компаний. К ним относятся Dell, HP, IBM, и Phoenix Insyde, ну и конечно же вездесущая компания Microsoft, потому что именно она является основным разработчиком операционных систем.

Что делать с BIOS

В далеком прошлом, когда программисты разрабатывали эту систему, никто из них не задумывался над тем, сколько еще ей придется работать. Но время шло, техника менялась, и многие новинки приходилось вписывать в старую систему, и все может быть и дальше шло также, если бы не начали вылезать проблемы. Одна из них заключается вот в чем, современные жесткие диски уже могут достигать размеров 3Тб, а вот старая BIOS видит только 2Тб. Получается, что компьютеры, оснащенные BIOS, ограничены в объемах памяти, кроме этого каждый производитель материнских плат делал свои интерфейсы, что путало пользователей. Все совсем иначе выглядит с применением UEFI, объем жесткого диска, тут можно сказать неограничен, кроме того в новой системе единый для всех интерфейс. Это облегчает жизнь не только пользователей, но и разработчиков программ которые запускаются до загрузки Windows. В UEFI есть множество новых дополнительных функций, которые были недоступны в старых версиях, это например резервное копирование данных. И убраны некоторые лишние функции, уже неиспользуемые в наше время.

Давайте рассмотрим особенности интерфейса UEFI

Главное меню графического интефейса UEFI-Bios

Главное меню графического интефейса UEFI-Bios

Сразу хотелось бы отметить графический UEFI, новый разноцветный интерфейс, радующий глаз. Все меню состоит из квадратных кнопок с рисунками, и даже если вы не знаете английского, то по рисункам определите, что скрыто за кнопками. Основное меню, называемое Click Bios, состоит из пяти пунктов, или пяти кнопок. Щелкать по ним вы можете мышкой, чего не было доступно в старом BIOS, там все управлялось только с клавиатуры. — Первая кнопка GreenPower, она зеленого цвета, в центре нее изображена лампа, здесь при желании можно поменять настройки энергосбережения процессора. — Вторая«Служебная программа», после нажатия на нее откроется дополнительное меню со вспомогательными программами uefi bios. Всего их шесть:

Меню Utilities - Служебные программы

Меню Utilities - Служебные программы

1) «Состояние системы», покажет какое оборудование установлено в ПК. 2) Специальные настройки для профессионалов. 3) Возможность установки новой версии UEFI 4) Установка пароля доступа к настройкам и к компьютеру 5) «Загрузка», определяется очередность загрузочных устройств. 6) Сохранение всех изменений — Третья, за ней скрыто меню настроек для разгона процессора. — Четвертая, «Настройка», содержит подменю с кнопками дополнительных настроек.

Меню Settings - Настройки

Меню Settings - Настройки

1) Тестирование оперативной памяти 2) Live Update, дает возможность обновить UEFI, через Интернет. 3) HDD Backup — резервное копирование данных жесткого диска. 4) Тут можно менять интерфейс UEFI. — Пятая, открывает доступ к играм, с прилагаемого диска, правда их пока только три.

Основные преимущества UEFI

Таких преимуществ, основных, можно отметить шесть: Поддерживает жесткие  диски огромного объема. БИОС для управления жестким диском, использовал программу Master Boot Record, она содержала в себе, всю информацию о разделах диска. Но, у нее был один большой недостаток, размеры записей в ней были всего по 32 бита, получается, что контролировать БИОС мог только 4 миллиарда секторов, что в общей сумме составляет 2Тб. Когда то несколько лет назад такой объем был мечтой, но сегодня он доступен многим, а некоторые бы с удовольствием поставили бы и больше, но нельзя. А вот с UEFI эта мечта достижима, она работает со стандартом GPT, а это дает возможность поддержки жестких дисков объемом до 8млрд Тб. Встроенная BIOS. Материнским платам с UEFI, не нужно BIOS, потому что в ней есть своя встроенная BIOS, называется — модуль поддержки совместимости. Поэтому те программы, которым для работы нужен был BIOS, спокойно могут работать и на компьютерах с UEFI. Простое управление. В меню настроек все можно делать с помощью мышки, раньше это было недоступно, в БИОСе управление было возможно только с клавиатуры. Да и сама картинка, конечно же, отличается, что мы видим в БИОСе сейчас, черный экран и белые строчки. А тут, красивый графический uefi интерфейс с интуитивно понятным меню. Скорость загрузки ОС. Пробовали засекать, сколько времени уходит на вашем компьютере с момента включения в сеть и до полной загрузки Windows. Примерно 30-60 секунд, или даже больше, а вот с UEFI загрузка происходит намного быстрее, сейчас уже достигнут рекорд — 2 секунды. Встроенная система. Если разобраться, то UEFI сама по себе является операционной системой, она чем-то похожа на DOS, потому что выполняет текстовые команды. Она может помочь разобраться в причинах отказа загрузки основной Операционной Системы, если такое произошло, но работать в ней могут только опытные пользователи. Дополнительные программы. В UEFI по желанию можно добавлять программы, дается возможность установки, но пока таких приложений очень мало. Все рассчитано на будущее, и будут это большей частью утилиты, или простенькие игры. Где уже используется UEFIПока  только Apple пускает компьютеры с UEFI, но можно надеяться, что в скором времени и другие корпорации тоже перейдут на передовые технологии. Когда станет обычным явлением, жесткие диски объема более 2 Тб, тогда  UEFI плотно войдет в нашу жизнь, и мы сможем в полной мере оценить все ее достоинства. Ближе к концу 2011 года такие фирмы как Asrok, Asus, MSI уже начали выпуск материнских плат оснащенных UEFI.

Видео о UEFI

Из него видно, что в BIOS EFI есть поддержка и русского языка.

Загрузка...

Буду очень благодарен, если вы поделитесь с друзьями этой статьёй в социальных сетях и блогах, это будет здорово помогать моему блогу развиваться:

Хотите получать обновления блога? Подписывайтесь на рассылку и внесите свои данные: Имя и е-мейл

Написать комментарий

antonkozlov.ru

Модификация UEFI BIOS, часть вторая: полезные модификации / Хабр

В этой статье я постараюсь рассказать о наиболее популярных и полезных модификациях UEFI BIOS, условиях их применения и способах поиска. Кроме этого, на описанной в первой части утилите UEFITool свет еще не сошелся клином, поэтому будут упомянуты и другие программы, используемые для модификации UEFI BIOS'ов различных производителей. Если тема вам интересна — добро пожаловать под кат.

Введение и еще один отказ от ответственности

Не хочу повторять свою тираду про необходимость SPI-программатора и тот факт, что все модификации вы делаете на свой страх и риск, поэтому если вдруг вы ее не читали — прочтите и возвращайтесь. С этого момента я полагаю, что с восстановлением после неудачной прошивки у вас пролем нет, и с UEFITool'ом вы тоже знакомы, поэтому останавливаться на технических вопросах типа «Как мне вытащить из образа файл» и «как потом его вставить обратно» не буду.

Необходимые инструменты

Чтобы успешно модифицировать ваш образ UEFI BIOS, могут потребоваться следующие инструменты:
  1. Hex-редактор на ваш выбор.
  2. Редактор образов UEFI, в качестве которого я, по понятным причинам, буду использовать UEFITool, но вы также можете использовать PhoenixTool (универсальный и хорошо отлаженый, но не без ограничений) или MMTool (более или менее сносно работает только с образами AMI Aptio).
  3. Если для необходимой модификации не нашлось постоянного паттерна, могут потребоваться ассемблер и дизассемблер с поддержкой x86-64. Ассемблера вполне досточно онлайнового, а вот дизассемблер нужен нормальный, иначе поиски точки модификации могут сильно затянуться. К сожалению, бесплатная версия IDA Pro не поддерживает разбор 64-битных PE-файлов, поэтому для Windows я рекомендую использовать утилиту dumpbin, входящую в набор компиляторов Microsoft, а для MacOS X — либо objdump, либо пробную версию Hopper Disassembler.
  4. Если модификация может быть выполнена утилитой от производителя UEFI-платформы, пусть ей она и будет выполнена — это надежнее, чем вручную. К сожалению, «узок круг этих революционеров и страшно далеки они от народа», поэтому чаще всего подходящей утилиты от производителя не существует.

Модификации

Довольно предисловий, перейдем к сами модификациям. Здесь я опишу только те модификации, которые протестировал сам, поэтому список может быть обязательно будет неполным. Если вы пробовали какие-то другие моды — прошу поделиться результатами в коментариях. Формат описания будет таким: название модификации или класса модификаций, назначение и краткое описание необходимых шагов. Поехали.
CPU PM patch, MSR 0xE2 lock removal
Что: обход установки бита LOCK (0x0F) в регистр MSR_PMG_CST_CONFIG_CONTROL (0xE2) после прохождения POSTЗачем: открытый регистр 0xE2 необходим для работы подсистемы CPU Power Management в MacOS X, при закрытом происходит kernel panic. Если вы не планируете её уставновку или в вашем UEFI BIOSе присутсвует настройка «Unlock C-State MSR» — эта модификация вам не нужна.Где искать: в UEFI-драйверах, относящихся к CPU PM. В старых БИОСах код установки лока находится в модуле CpuPei, в новых — в модуле PowerManagement (может также называться PowerManagement2.efi или PowerMgmtDxe.efi).Способ модификации: В CpuPei код, который нужно модифицировать, выглядит примерно так:81 FB D0 06 02 00 cmp ebx,206D0h 75 0C jne FFFE426E 0D 00 80 00 18 or eax,18008000h ; Бит 15 (LOCK) ставится здесь EB 05 jmp FFFE426E 0D 00 80 00 00 or eax,8000h ; Или здесь 6A FF push 0FFFFFFFFh 6A F8 push 0FFFFFFF8h 6A 00 push 0 50 push eax 56 push esi E8 DC 0F 00 00 call FFFE5257 ; А внутри этой функции находится wrmsrДостаточно заменить в этом месте 00800018 на 00000018 и 00800000 на 00000000, чтобы обойти установку лока.

В PowerManagement код выглядит иначе, чаще всего вот так:

80 FB 01 cmp bl,1 ; Если BL == 1 75 08 jne 0000000180002700 ; Перепрыгнуть две следующие команды 0F BA E8 0F bts eax,0Fh ; Установить бит 15 (LOCK) 89 44 24 30 mov dword ptr [rsp+30h],eax ; Сохранить результат в переменную на стеке 48 8B 54 24 30 mov rdx,qword ptr [rsp+30h] ; Загрузить значение из этой переменной в RDX B9 E2 00 00 00 mov ecx,0E2h ; А номер MSR в ECX E8 79 0C 00 00 call 0000000180003388 ; И вызвать функцию с wrmsr внутриМожно заменить JNE на JMP, BTS на BTR или просто «занопать» весь код установки лока. Проще всего сделать первое, т.е. поменять 75 08 на EB 08.

Если такого кода в вашем UEFI BIOS не нашлось, ищите в драйверах, относящихся к CPU Power Management, значение 0xE2, и проверяйте весь код на предмет установки 15-го бита. В последних версиях BIOSов для некоторых современных десктопных плат AMI перестали лочить этот регистр, поэтому такого кода в них уже не найти — считайте, что производитель сделал этот мод за вас.

AES NI unlock
Что: обход установки бита LOCK (0x02) в регистр MSR 0x13CЗачем: включение аппаратного ускорения AES на системах с экспортными ограничениямиГде искать: в UEFI-драйверах, относящихся к CPU PM, чаще всего в PowerManagementСпособ модификации: мало чем отличается от PM patch'а (и уже был описан на хабре), поэтому останавливаться подробно на нем не буду.
Whitelist removal
Что: обход белого списка совместимого оборудования, который использую в своих UEFI BIOS'ах некоторые производители ноутбуков.Зачем: идея производителя понятна — можно продать обладателям «несовместимого» оборудования еще и ребрендированное совместимое втридорога. Если вы сами хотите решать, что какое оборудование совместимо с вашим ноутбуком — эта модификация для вас. Где искать: в UEFI-драйверах, относящихся к PCIe-устройствам. У HP это драйвер обычно называется BiosLockPcie, у Lenovo — LenovoWmaPolicyDxe.efi, но может называться и иначе.Способ модификации: т.к. производители ноутбуков стараются менять код проверки Whitelist почаще, то описать какой-то постоянный способ довольно трудно. Общая стратегия поиска такова:
  1. Вставить несовместимую карту в нотбук, дождаться сообщения о невозможности загрузки и запомнить его.
  2. Найти это сообщение в одном из FFS-файлов.
  3. Найти код, который ссылается на это сообщение.
  4. Исследовать этот код и попробовать изменить его так, чтобы проверка всегда заканчивалась успешно. Сделать это можно двумя способами: либо пропатчить переход, либо добавить свои Vendor ID и Device ID в белый список.
Подробности модификации на примере HP хорошо описаны здесь широко известным в кругах моддеров товарищем Donovan6000, а я опишу вариант модификации на примере Lenovo X121E. Проверка осуществляется драйвером LenovoWmaPolicyDxe.efi, попасть необходимо вот сюда:44 38 0D F0 0F 00 00 cmp byte ptr [00001BF0h],r9b 75 18 jne 0000000000000C1A E8 35 FD FF FF call 000000000000093C 48 85 C0 test rax,rax 4C 8B C8 mov r9,rax 0F 88 77 FF FF FF js 0000000000000B8A C6 05 D6 0F 00 00 01 mov byte ptr [00001BF0h],1 49 8B C1 mov rax,r9 E9 68 FF FF FF jmp 0000000000000B8AВсе переходы к этому коду необходимо пропатчить на безусловные, а в самом коде необходимо «занопать» первую и вторую строки, после чего проверка всегда будет заканчиваться успешно.
BIOS lock removal
Что: снятие защиты от прошивки модифицированных образов UEFI встроенным программатором.Зачем: при большом количестве экспериментов с UEFI доставать каждый раз программатор быстро надоедает, да и прошивка встроенным программатором происходит быстрее (засчет работы по протоколу QuadSPI вместо обыкновенного SPI в случае внешнего программматора).Где искать: в драйверах чипсета, чаще всего в PchInitDxe (другой вариант мода — в BiosWriteProtect)Способ модификации: вариант модификации PchInitDxe полностью описан здесь на английском, поэтому я приведу только идею. Необходимо найти запись бита BIOS Lock Enable (BLE) в регистр BIOS_CNTL чипсета и предотвратить её. Сделать это можно в нескольких местах, например, вот здесь:48 8B 4C 24 40 mov rcx,qword ptr [rsp+40h] ; Загрузить в RCX адрес структуры PchPlatformData 48 8B 41 50 mov rax,qword ptr [rcx+50h] ; А в RAX - адрес дочерней структуры LockdownConfig F6 00 10 test byte ptr [rax],10h ; Проверить, установлен ли пятый бит (BiosLock) 74 25 je 0000000180001452 ; Если не установлен, перепрыгнуть весь код ниже 8A 50 01 mov dl,byte ptr [rax+1] B9 B2 00 00 00 mov ecx,0B2h ; E8 A2 5A 00 00 call 0000000180006EDC 4C 8D 87 DC 00 00 00 lea r8,[rdi+000000DCh] ; В RDI лежит базовый адрес регистров LPC чипсета, а 0xDC - смещение регистра BIOS_CNTL 33 C9 xor ecx,ecx 4C 8B CD mov r9,rbp 33 D2 xor edx,edx 4C 89 44 24 20 mov qword ptr [rsp+20h],r8 E8 AA 76 00 00 call 0000000180008AFC ; Установить локМожно изменить JE на JMP, но иногда вместо короткого прыжка попадается длинный, у которого приходится дополнительно вычислять смещение, поэтому лучше изменить test на любую команду, устанавливающую флаг ZF, например на xor rax, rax (48 31 C0), а возможную разницу в размерах команд исправить добавлением NOP'ов. Если в PchInitDxe нужного кода не нашлось, можно изменить драйвер BiosWriteProtect таким образом, чтобы обойти регистрацию находящегося в нем SMI-обработчика, который устанавливает бит BLE при попытке его сброса, после чего для разблокировки прошивки достаточно сбросить этот бит. У меня отлично работает вышеописанный способ, поэтому этот вариант я пока не пробовал и потому подробно описывать не буду.
Advanced settings unlock
Что: разблокировка доступа к скрытым настройкам BIOS Setup.Зачем: среди эти настроек может попасться что-то интересное, но обычно их скрывают не просто так.Где искать: для Phoenix и Insyde меню хранится в HII-файлах с именами вроде SetupMain, SetupAdvanced и т.п. Для AMI меню хранится в файле Setup, а настройки — в AMITSE. Более того, AMI предоставляет пороизводителям end-user продуктов свою программу AMIBCP, версии которой частенько утекают в публичный доступ. Работа с ней достаточно проста, поэтому описывать её я не вижу смысла — скачайте и попробуйте. Способ модификации: для AMI — открываем образ в AMIBCP, меняем настройки по умолчанию, сохраняем, прошиваем, выполняем сброс настроек, готово. Для Insyde и Phoenix все немного сложнее. Если доступ на запись в NVRAM не запрещен, можно воспользоваться методом товарища Falseclock, описанным в этой его статье, а вот если доступа нет — придется модифицировать прошивку. Потребуется разобрать формат HII Form File либо вручную, либо предоставить это скрипту, описанному в вышеупомянутой статье, или утилите Universal IFR Extractor, которую необходимо натравить на извлеченные из образа UEFI файлы HII. После этого достаточно изменить в извлеченном файле HII Form условия SUPRESS_IF так, чтобы они никогда не выполнялись, и все меню станут доступны.
CPU Microcode, OptionROM, drivers and images update
Что: обновление микрокодов CPU, прошивок различных переферийных устройств, EFI-драйверов и отображаемых при загрузке и в BIOS Setup картинок.Зачем: иногда обновление помогает исправить ошибки в работе системы, иногда добавляет поддержку важной фичи (работу TRIM для SSD в RAID0, к примеру), но чаще всего обновление производится потому, что наконец вышла новая версия. Где искать: сильно зависит от производителя, EFI-драйверы можно найти просто по имени (SataDriver, например), микрокод можно найти по Model ID процессора, для которого он предназначен, OROMы — по VID/DID устройств, которые они обслуживают, картинки в формате JPEG можно найти по строке «JFIF», в GIF — по «GIF8» и т.п. Способ модификации: прост как мычание — найти новую версию в свободном доступе, найти, где в образе лежит старая, и заменить одно на другое. Для AMI товарищем LS_29 был написан набор для автоматического обновления на основе утилиты MMTool, скачать можно из нашей темы на оверах. Об автоматизированных решениях для Phoenix или Insyde я пока не слышал. Замена картинок может быть сделана либо утилитами вроде AMI ChangeLogo, либо вручную, но чаще всего не подготовленная специальным образом картинка вызывает зависание, т.к. декодеры форматов изображений бывают сильно ограничены. В общем, данные EXIF лучше удалить заранее.

Заключение

В этой статье я описал только те моды, которые успешно делал своими руками. Если у вас есть какие-то замечания и дополнения — буду рад вашим комментариям. Еще раз смиренно попрошу администрацию Хабра и лично НЛО о создании хаба UEFI, ибо это очень широкая тема, а статьи по ней буквально некуда приткнуть. Спасибо за внимание, желаю вам удачных модификаций.

habr.com