КАТАЛОГ ТОВАРОВ

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

 

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

ЧТО такое UEFI и как им пользоваться. Uefi режим


Большая разница. Что такое UEFI и чем он отличается от BIOS?

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

Коротко: в чем разница между BIOS и UEFI

BIOS — базовая система ввода-вывода (англ. Basic Input/Output System), которая хранится в материнской плате компьютера. BIOS начинает работу сразу при включении ПК, система запускает аппаратные компоненты и программу для загрузки Windows или другой операционной системы. BIOS был разработан в далеком 1975 году, когда никто не мог и представить жесткий диск на 2 Тб. Сегодня это обычный объем памяти для домашнего компьютера. BIOS не поддерживает жесткие диски такого объема — это одна из причин, по его постепенно вытесняет UEFI. Новые компьютеры используют UEFI — универсальный интерфейс расширяемой прошивки (англ. Unified Extensible Firmware Interface), но его все равно по старинке называют «биос», чтобы не путать пользователей лишний раз. UEFI — это современное решение, которое поддерживает жесткие диски большего объема, быстрее загружается, имеет понятный графический интерфейс и поддерживает управление мышью!

Зачем нужен BIOS?

BIOS используется загрузки ОС, проверки работоспособности «железа» и настройки ПК. Например, для изменения конфигурации жесткого диска, порядка загрузки ОС (с жесткого диска, флешки или другого носителя) и установки системного времени. Эти настройки сохранятся в памяти материнской платы. Кроме того, BIOS проводит POST — самотестирование после включения (англ. Power-On Self Test) для проверки конфигурации оборудования. Если что-то не в порядке, выводится сообщение об ошибке или звуковой сигнал. Когда компьютер не включается и слышится «писк» из 8-битной игры — это работа BIOS. Чтобы понять, что именно сломалось, нужно найти инструкцию к материнской плате, которая объяснит значение того или иного звукового сигнала.

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

Со времени своего создания BIOS почти не развивался качественно. Выходили отдельные дополнения и расширения. Например, ACPI — усовершенствованный интерфейс управления конфигурацией и питанием (англ. Advanced Configuration and Power Interface). Этот интерфейс упрощал установку BIOS и управление питанием, а также переходом в спящий режим. Однако этого было недостаточно, BIOS безнадежно застрял во временах MS-DOS. Например, BIOS может загружаться только с дисков объемом менее 2,1 Тб. Кроме того, у него есть проблемы с одновременной инициализацией нескольких аппаратных устройств, что приводит к замедлению загрузки на компьютерах с современными комплектующими. В 1998 году компания Intel впервые задумалась о замене BIOS и начала работу над Extensible Firmware Interface (EFI) для недооцененной серии 64-разрядных процессоров Itanium. Для распространения нового интерфейса требовалась широкая поддержка всей отрасли. Apple выбрали EFI для Mac еще в 2006 году, но другие производители не последовали их примеру.

UEFI к нам приходит

UEFI поддерживает эмуляцию BIOS, так что у пользователей остается возможность работать на устаревших ОС остается (прим. ред. — это небезопасно!) Новый стандарт позволяет избежать ограничений BIOS. UEFI может загружать ОС с дисков, объем которых превышает 2,2 Тб. Фактический предел для них составляет 9,4 зеттабайт. Это примерно в три раза превышает предполагаемый объем всех данных в Интернете. UEFI поддерживает 32-битный или 64-битный режимы, а его адресное пространство больше, чем у BIOS – что значительно ускоряет загрузку. Кроме того, экран настройки UEFI обладает более гибким функционалом с поддержкой мыши и пользовательским интерфейсом. Поддержка Secure Boot позволяет проверить, что загрузку ОС не изменила вредоносная программа. UEFI позволяет проводить удаленную настройку и отладку. BIOS так не умеет. По сути, UEFI — самостоятельная операционная система, работающая поверх прошивки ПК. Она может храниться во флэш-памяти на материнской плате или загружаться из других источников (жесткий диск и другие носители). Материнские платы с UEFI от разных производителей будут иметь разный интерфейс и функционал. Все зависит от конкретной модели, но базовые настройки будут одинаковыми для любого компьютера.

Как открыть настройки UEFI?

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

Windows 8

  1. Нажмите Win + C
  2. Настройки — Изменить настройки ПК
  3. В разделе «Настройки ПК» выберите «Общие»
  4. В разделе «Расширенный пуск» щелкните «Перезагрузить»
  5. После перезагрузки появится меню загрузки Windows 8
  6. В меню загрузки выберите «Поиск неисправности» — «Расширенные настройки» — «Настройка прошивки UEFI»
  7. Для перезагрузки системы и входа в UEFI нажмите «Перезагрузка»
Windows 10  В Win 10 в UEFI можно попытаться зайти по старинке:
  1. Нажмите и удерживайте кнопку питания 5 секунд
  2. Как только на экране появится логотип, быстро нажимайте F2 или DEL (на некоторых моделях ноутбуков клавиши могут быть другими)
Доступ из операционной системы:
  1. В поле поиска введите «Параметры»
  2. Настройки — Обновление и безопасность — Восстановление
  3. В разделе «Особые варианты загрузки» нажмите «Перезагрузить сейчас»
  4. Система перезагрузится и покажет меню загрузки Windows 10
  5. Устранение неполадок — Дополнительные параметры — Параметры UEFI
  6. Для перезагрузки системы и входа в UEFI нажмите «Перезагрузка»
В новом поколении домашних продуктов ESET NOD32 появился модуль «Сканер UEFI», который защищает ПК от угроз, атакующих на более глубоком уровне — до запуска Windows. Сканер работает в фоновом режиме, взаимодействие с пользователем требуется только при обнаружении проблемы.

club.esetnod32.ru

ЧТО такое UEFI и как им пользоваться

Многие пользователи сети интернет встречали такую аббревиатуру, как UEFI. Однако, мало кто знает, что это такое и «с чем его едят». Многие полагают, что Unified Extensible Firmware Interface это всего лишь аналог BIOS и все. В данной статье я расскажу вам о UEFI, об особенностях работы с ним, а так же о способах настройки Unified Extensible Firmware Interface.

Отличие от BIOS и конфликты с Secure Boot

Как известно, BIOS пишут на assembler language programming, специальном языке программирования, который «заточен», как под 16ти, так и под 32 битные системы. На память, которая адресуется, наложено ограничение в пределах одного мегабайта. Unified Extensible Firmware Interface в отличие от BIOS пишется на языке С (си), который оформлен под 64х битные системы. Это является одновременно его достоинством, и недостатком. Из-за того, что большинство версий Unified Extensible Firmware Interface еще сырые, весьма часто возникают системные конфликты с Secure Boot. SB представляет собой специальный защитный механизм, который не позволяет производить запуск и выполнять команды, которые прописаны на не подписанном коде. Так же Secure Boot предотвращает внедрение в систему стороннего загрузчика, тем самым исключая его подмену. Microsoft так же позаботилась о дополнительной функции Secure Boot — защите от не лицензионного использования. Однако, SB зачастую уже отключен во многих системах, или же многие владельцы ПК сами отключают данный защитный механизм.

Что такое Unified Extensible Firmware Interface

Если давать более точное описание — это автономная, операционная система. Ключевой особенностью является то, что она UEFI может работать в неограниченном режиме. Это значит, что Unified Extensible Firmware Interface может использовать все ресурсы компьютера, например память. Помимо этого, UEFI имеет свои, уже предустановленные драйвера, запускается в несколько раз быстрее. Так же, Unified Extensible Firmware Interface полностью обходит установленную операционную систему.

Unified Extensible Firmware Interface изначально создан для запуска старых операционных систем, с целью восстановления данных. Это обусловлено тем, что UEFI оснащен собственным модулем совместимости CSM и сетевым стеком. Поэтому Unified Extensible Firmware Interface может запускать на любом компьютере. Однако, если UEFI предоставить еще и права администратора, можно совершать неслабые манипуляции с BIOS. Unified Extensible Firmware Interface может его вообще снести, видоизменить, интегрировать в BIOS собственные модули, произвести частичную модификацию разделов. Однако, не смотря на все возможности, все известные на сегодня версии Unified Extensible Firmware Interface являются «сырыми», и говорить об отказе от BIOS пока еще рановато.

Загрузка с помощью UEFI и обновление BIOS

Unified Extensible Firmware Interface имеет специальный менеджер загрузки. С его помощью можно полностью контролировать запуск установленной операционной системы, а так же всех установленных драйверов. Проще говоря, Unified Extensible Firmware Interface отвечает за загрузку загрузчика ОС (установленной и всех пакетных данных).

Это значит, что Unified Extensible Firmware Interface вполне подходит для апдейта BIOS или его модернизации. Самое главное , чтобы не запороть материнскую плату, следует отключить Secure Boot. подчеркиваю еще раз, что данный интерфейс был создан для проведения тестовых работ с BIOS и различных экспериментов с его возможностями. Поэтому выполняя любые манипуляции с BIOS, вы делаете это на свой страх и риск. Так вот, Unified Extensible Firmware Interface подобно предустановленным возможностям BIOS, может осуществлять поиск прошивки, да и вообще любого системного пакета на компьютере. Если есть желание поэкспериментировать со своим BIOS, при помощи Unified Extensible Firmware Interface можно подменить модули BIOS. Помимо этого, можно «побаловаться» с разделами BIOS.

Сетевая загрузка UEFI 

С помощью Unified Extensible Firmware Interface можно подключиться к удаленным сетевым ресурсам, на которых храниться определенная информация. Так как UEFI имеет доступ к сетевым протоколам и драйверам самого компьютера, возможно подключение к удаленным хостам. Это будет полезным в том случае, если нужно срочно достать какие-либо данные с удаленного ресурса, но при этом доступ к ним закрыт для определенной операционной системы.

ЧТО такое UEFI и как им пользоваться

Безопасный режим UEFI

Unified Extensible Firmware Interface имеет интегрированный сертификат защиты, который способен отключать запуск загрузчиков или драйверов, которые не имеют цифровой подписи, или она не соответствует нормам. Это пригодиться в тех случаях, если на компьютер было уставлено программное обеспечение со сторонних источников. В результате модернизации, данное ПО со временем начинает давать сбои и возникают конфликты с операционной системой. В результате таких конфликтов, вся система может дать сбой или же часть данных будет блокирована из-за конфликта системных адресов. Unified Extensible Firmware Interface поможет вытащить необходимые данные, и обойти блокировку. Помимо этого, конфликтные драйвера часто дают сбой при удалении, и все так же остаются в системе. Unified Extensible Firmware Interface с легкостью сможет удалить их, вместе с остаточными файлами.

liveposts.ru

UEFI Platform Initialization / Хабр

В первой части этой статьи мы познакомились с форматом UEFI Capsule и Intel Flash Image. Осталось рассмотреть структуру и содержимое EFI Firmware Volume, но для понимания различий между модулями PEI и драйверами DXE начнем с процесса загрузки UEFI, а структуру EFI Firmware Volume отставим на вторую часть.
UEFI Platform Initialization
С высоты птичьего полета процесс загрузки UEFI выглядит так: Вообще говоря, нас интересует не весь это процесс, а его часть — Platform Initialization (PI), которая делится на 3 фазы: SEC, PEI и DXE. Всю документацию по PI можно свободно загрузить с сайта UEFI Forum. Фазы SEC и PEI описаны в Volume 1, фаза DXE — в Volume 2, общие архитектурные элементы, в том числе интересующие нас форматы файлов и заголовков EFI FFS — в Volume 3, субфаза SMM (стартует в середине DXE и идет параллельно) — в Volume 4, стандарты на совместимое с PI оборудование и ПО — в Volume 5. Про оборудование и ПО здесь я писать не стану, а вот остальные фазы нужно упомянуть, т.к. не зная их, сложно понять, зачем в файле BIOS'а столько всего и чем это всё отличается друг от друга.
Фаза SEC
Первая фаза загрузки, задачи которой следующие:
  1. Обработать все виды platform restart'ов: включение питания после неактивного состояния, перезагрузка из активного состояния, выход из режима глубокого сна, различного рода исключительные ситуации
  2. Подготовить временную память
  3. Стать Root of Trust системы: или доверять остальным частям PI, или проверить их валидность каким-либо способом
  4. Подготовить необходимые структуры данных и передать их и управление в фазу PEI. Как минимум, передаются состояние платформы, адрес и размер BFV, адрес и размер временной RAM, адрес и размер стека
По факту, на x86-64 фаза SEC проходит так:
  1. Reset Vector: сброс кэша и переход на главную процедуру иницилизации в ROM
  2. Switch to protected mode: переключение в защищенный режим процессора с плоской памятью без подкачки
  3. Initialize MTRRs for BSP: запись в кэш известных значений для различных областей памяти
  4. Microcode Patch Update: обновление микрокода всех доступных процессоров
  5. Initialize NEM: свободный кэш помечается как несбрасываемый, после чего его можно использовать как временную RAM до инициализации основной, а также позволяет написать эту самую инициализацию на обычных ЯП со стеком, в данном случае на C
  6. Early BSP/AP interactions: отправка всем AP прерывания INIT IPI, затем Start-up IPI, получение данных BIST со всех AP
  7. Hand-off to PEI entry point: передача управления и данных в фазу PEI
Видно, что в участникам фазы SEC из образа BIOS понадобятся как минимум хранящиеся там патчи для микрокода CPU, а также адрес и размер Boot Firmware Volume. Да и сам код SEC записан в той же микросхеме и пока еще выполняется там же.
Фаза PEI
Вторая фаза, основная задача которой — инициализировать достаточное количество непрерывной RAM для того, чтобы можно было запустить фазу DXE, подготовить и передать в фазу DXE данные об обнаруженных устройствах, чтобы драйверы DXE смогли их правильно инициализировать. Исполняемый код PEI состоит из ядра, называемого PEI Foundation, которое является общим для процессоров с одинаковой архитектурой и модулей PEIM, выполняющих начальную инициализацию конкретных устройств и разработанные производителями этих устройств. Модули поддержки Chain of Trust, выполняющие проверку валидности других модулей, также могут присутствовать. Архитектура PEI позволяет независимую разработку и отладку модулей, и никто не мешает написать и интегрировать свой собственный модуль, если понадобится. У PEIM может присутствовать список зависимостей от других модулей, поэтому порядок их запуска не случаен и выбирается диспетчером PEI. Модули PEIM могут заполнять независимые от позиции структуры данных — HOB'ы, в которых содержатся данные для передачи драйверу DXE и GUID этого драйвера. По факту, на x86-64 фаза PEI происходит так:
  1. Establish use of «memory»: перенос данных из ROM в раннюю RAM (т.е. в кэш)
  2. PEI Dispatcher: запуск модулей PEIM в порядке от не имеющих зависимостей до имеющих сложные зависимости. Это цикл, который заканчивается в момент, когда не запущенных модулей не остается
  3. CPI PEIM: инициализация CPU, настройка MSR и т.п. (Мы вернемся к этому модулю при обсуждении патча CPU PM)
  4. Platform PEIM: ранняя инициализация MCH, ICH, встроенных интерфейсов платформы (SMBus, Reset, и т.п.). Определение режима загрузки (обычный, Recovery, S3 Resume), используя данные, полученные в фазе SEC.
  5. Memory Initialization PEIM: инициализация основной RAM и перенос в нее данных из кэша, которым теперь можно пользоваться нормально. процесс зависит от определенного на предыдущем шаге состояния системы, например, при S3 Resume тестирование памяти не выполняется, что сокращает время загрузки
  6. Если система не находится в S3 Resume, то происходит передача HOB'ов и управления в фазу DXE, а фаза PEI на этом завершается
  7. Если все же находится — выполняется CPU PEIM for S3 Boot Script, выполняющий возврат всех процессоров в их сохраненное состояние
  8. S3 Boot Script Executor: восстановление состояния других устройств
  9. OS Resume Vector: переход к ОС
Таким образом, при S3 Resume запуск фазы DXE не происходит вообще, что позволяет сильно ускорить загрузку. При включении FastBoot загрузку можно ускорить еще сильнее, выполняя минимальный набор тестов и модулей PEIM. Видно, что в фазе PEI из образа BIOS нужны будут как минимум PEI Foundation и модули для всего оборудования, нуждающегося в ранней инициализации. Также стоит рассказать о том, что формат модулей PEI может как совпадать с форматом драйверов DXE (PE32+), так и отличаться от него заголовком, т.к. заголовок PE32+ содержит множество неиспользуемых в фазе PEI полей, а место в кэше процессора не резиновое. Поэтому для PEIM был разработан специальный формат TE, заголовок которого содержит только необходимые поля. TE бывают исполняемые-на-месте (XIP), перемещаемые (relocatable) и независимые от позиции (PIC). Также встречаются гибридные DXE/PEI-модули с двумя точками входа, но они обязаны быть в формате PE32+, поскольку иначе как драйвер DXE такой модуль не запустится.
Фаза DXE
Здесь выполняется основная и окончательная инициализация всего на основе полученных от PEI HOB'ов. Код DXE состоит из ядра, оно же DXE Foundation, диспетчера и драйверов. Ядро инициализирует и запускает различные службы UEFI: Boot Services, Runtime Services и DXE Services. Диспетчер отвечает за поиск и запуск DXE-драйверов, которые также имеют зависимости. Драйверы проводят окончательную инициализацию аппаратуры и предоставляют аппаратную абстракцию для служб. Весь код DXE, кроме Runtime-частей Foundation и Runtime DXE драйверов выгружается из памяти по окончанию фазы BDS, которую я здесь рассматривать не буду. Расписывать досконально процесс запуска DXE тоже нет смысла, можно описать его в двух словах: загружается ядро, создает нужные структуры данных, затем запускается диспетчер и грузит все доступные драйверы со всех доступных носителей, затем запускается бутлоадер и пытается найти на этих носителях загрузчик ОС и передать ему управление. Если нашелся — отлично, если нет — пробуем дальше, пока не найдем. Если так ничего и не нашли — выполняем код модуля Platform Policy, который для нас написал производитель материнской платы, выводящий нам сообщение о том, что «Operating System is missing». Видно, что из образа BIOS'а для этой фазы нужны DXE-драйверы и все, что им может понадобится. Большая часть файлов в EFI FS используется именно здесь.
Cубфаза SMM
Во время фазы DXE наступает момент, когда диспетчер загружает драйвер SMM Init, с которого и начинается эта субфаза. SMM — специальный режим процессора, в который он переходит при получении специального прерывания — SMI, которое может быть как программным, так и аппаратным. Большую часть (или вообще все) источников SMI можно отключить, если переход в SMM не требуется. Код SMM выполняется в SMRAM, которая становится недоступной для ОС после окончания фазы DXE, поскольку драйвер SMM намеренно закрывает к ней доступ. Код SMM выполняется и после окончания фазы DXE, до самого выключения ПК. Драйвер SMM Init открывает SMRAM, создает ее карту и структуры данных, необходимые для запуска других драйверов SMM, а перед окончанием фазы DXE закрывает доступ к SMRAM полностью. Драйверы SMM зависят от оборудования и не имеют доступа к интерпретатору байткода, поэтому написание драйверов SMM на EBC не поддерживается. Бывают эти самые драйверы двух видов: чистые SMM, которые загружаются Init-ом непосредственно в SMRAM, и SMM/DXE-гибриды, которые сначала запускаются диспетчером DXE, а потом уже копируют часть себя в SMRAM. Сам SMM Init — именно такой гибрид. Видно, что для этой субфазы из образа BIOS'а нужны драйверы SMM.
Заключение
Теперь вы знаете, как происходит загрузка UEFI и какие модули необходимы для нее. Я принял решение разделить планируемую вторую часть еще на две, чтобы уменьшить размер поста и снизить когнитивную нагрузку на читателя. Во второй части статьи мы наконец рассмотрим структуру файла EFI FV, и сведения из этой вам там очень пригодятся. Спасибо за внимание.
Литература
  1. Analysis of the building blocks and attack vectors associated with the Unified Extensible Firmware Interface (UEFI), Paper by Jean-François Agneessens
  2. Reducing Platform Boot Time, Paper by Michael Rothman, Genliu Xing, Yan Wang and Jiong Gong
  3. UEFI Platform Initialization Specification 1.2.1 Errata A, Documents by UEFI Forum

habr.com