Открыть сервис

UEFI

UEFI (Unified Extensible Firmware Interface, единый интерфейс расширяемой прошивки) — это спецификация программного интерфейса, который связывает операционную систему с аппаратным обеспечением компьютера и управляет процессом его загрузки. UEFI пришёл на смену устаревшей системе BIOS (Basic Input/Output System), предлагая более современную, гибкую и безопасную архитектуру. UEFI не является операционной системой, а представляет собой промежуточный слой (firmware), расположенный между аппаратным обеспечением и загрузчиком операционной системы.

История

Предпосылки появления

К концу 1990-х годов возможности BIOS, разработанной ещё в 1975 году для процессоров Intel 8086, перестали соответствовать требованиям современного оборудования. BIOS имела ряд фундаментальных ограничений: 16-битный режим работы, ограничение на размер загрузочного диска (до 2,2 ТБ при использовании MBR), медленная инициализация устройств и отсутствие встроенной поддержки сетевой загрузки и графических интерфейсов.

Разработка Intel Boot Initiative

В 1998 году компания Intel начала проект Intel Boot Initiative (IBI), целью которого было создание новой, более универсальной прошивки для серверов на базе процессоров Itanium. В 2000 году проект был переименован в Extensible Firmware Interface (EFI), и в декабре того же года вышла спецификация EFI 1.02. В 2002 году была выпущена версия 1.10, которая стала основой для дальнейшего развития.

Переход к UEFI

В 2005 году Intel передала управление спецификацией EFI некоммерческой организации Unified EFI Forum (UEFI Forum). В состав форума вошли такие компании, как AMD, American Megatrends (AMI), Apple, Dell, HP, IBM, Insyde Software, Microsoft и Phoenix Technologies. В январе 2006 года была выпущена первая версия спецификации UEFI 2.0, которая заменила EFI. Название «Unified» (единый) подчеркивало, что новая спецификация не является проприетарной разработкой Intel, а представляет собой открытый отраслевой стандарт.

Внедрение

Первые материнские платы с поддержкой UEFI появились в 2006–2007 годах, но массовое внедрение началось с 2011–2012 годов, когда Microsoft сделала поддержку UEFI обязательным требованием для сертификации Windows 8. Это было связано с необходимостью реализации функции Secure Boot (безопасная загрузка) для защиты от руткитов. К середине 2010-х годов UEFI полностью вытеснила классическую BIOS на всех новых компьютерах, за исключением некоторых специализированных встраиваемых систем.

Архитектура и устройство

Отличия от BIOS

В отличие от BIOS, которая хранится в микросхеме ПЗУ (ROM) на материнской плате и работает в реальном режиме процессора (16 бит), UEFI является 32- или 64-битной средой, написанной на языке C. Это позволяет ей использовать все преимущества современных процессоров, включая поддержку больших объёмов памяти (до 16 эксабайт) и многозадачность.

Компоненты UEFI

Архитектура UEFI состоит из нескольких ключевых компонентов:

  1. SPD (System Partition Data) — системный раздел, обычно реализованный в виде микросхемы флеш-памяти на материнской плате.
  2. UEFI Boot Manager — программа, отвечающая за выбор загрузочного устройства и запуск загрузчика ОС.
  3. UEFI Drivers — драйверы для устройств (видеокарты, сетевые карты, контроллеры дисков), которые могут быть встроены в прошивку или загружены с диска.
  4. UEFI Runtime Services — набор сервисов, доступных операционной системе после завершения загрузки (например, управление временем, энергопотреблением).
  5. UEFI Boot Services — сервисы, доступные только во время загрузки (управление памятью, загрузка драйверов).

Графический интерфейс

UEFI поддерживает графический режим (GOP — Graphics Output Protocol), что позволяет создавать полноценные графические интерфейсы настройки (GUI) с поддержкой мыши, анимации и высокого разрешения. В отличие от текстового интерфейса BIOS, UEFI-оболочки (например, от AMI, Insyde или Phoenix) выглядят как современные программы.

Ключевые функции

Secure Boot (Безопасная загрузка)

Secure Boot — это функция, которая проверяет цифровую подпись загрузчика операционной системы перед его запуском. Если подпись отсутствует или не соответствует доверенному сертификату, загрузка блокируется. Это предотвращает запуск вредоносного ПО (руткитов) на ранних этапах загрузки. Secure Boot является обязательным требованием для сертификации Windows 8 и более поздних версий, а также для многих дистрибутивов Linux (например, Ubuntu, Fedora). Пользователь может отключить Secure Boot в настройках UEFI, но это может снизить уровень защиты.

Поддержка GPT (GUID Partition Table)

UEFI использует GUID Partition Table (GPT) вместо устаревшей MBR (Master Boot Record). GPT поддерживает диски объёмом более 2,2 ТБ (теоретически до 9,4 зеттабайт) и позволяет создавать до 128 первичных разделов в Windows (в Linux — до 256). GPT также содержит резервную копию таблицы разделов в конце диска, что повышает надёжность.

Сетевая загрузка (PXE)

UEFI поддерживает протокол Preboot eXecution Environment (PXE) для загрузки операционной системы по сети. Это широко используется в корпоративных средах для автоматической установки ОС на компьютеры без жёсткого диска или с пустыми дисками.

Загрузка с дисков большого объёма

UEFI может загружаться с дисков, отформатированных в файловую систему FAT32 (для системного раздела EFI). Сам загрузчик ОС и драйверы UEFI хранятся на специальном разделе EFI System Partition (ESP), который имеет тип «EFI System» и обычно занимает от 100 до 500 МБ.

Классификация и разновидности

По производителю

UEFI-прошивки разрабатываются несколькими компаниями:

  • AMI (American Megatrends) — наиболее распространённая прошивка на материнских платах для настольных ПК и серверов.
  • Insyde Software — часто используется в ноутбуках и ультрабуках (InsydeH2O).
  • Phoenix Technologies — исторически популярна, но в настоящее время её доля снизилась.
  • TianoCore — открытая реализация UEFI, разрабатываемая в рамках проекта EDK II (EFI Development Kit II). Используется в некоторых материнских платах и встраиваемых системах.

По типу интерфейса

  • UEFI с графическим интерфейсом — современные прошивки с поддержкой мыши, анимации и высокого разрешения.
  • UEFI с текстовым интерфейсом — упрощённые версии, часто встречающиеся на серверах и встраиваемых устройствах.
  • UEFI с эмуляцией BIOS (CSM)Compatibility Support Module (CSM) — режим совместимости, позволяющий загружать старые операционные системы (например, Windows 7) с MBR-дисков. В современных прошивках (начиная с 2020 года) CSM часто отключается или отсутствует.

Применение

Настольные и портативные компьютеры

UEFI является стандартом для всех современных настольных ПК, ноутбуков и ультрабуков. Она обеспечивает быструю загрузку (менее 10 секунд на SSD), поддержку современных дисков (NVMe, SATA SSD) и безопасную загрузку.

Серверы

В серверной среде UEFI используется для управления большими массивами дисков, сетевой загрузки и поддержки виртуализации. Многие серверные платформы (например, от Dell, HP, Supermicro) используют UEFI для настройки RAID-массивов и управления питанием.

Встраиваемые системы

UEFI применяется в промышленных компьютерах, одноплатных компьютерах (например, Raspberry Pi 4, где используется UEFI от TianoCore) и устройствах IoT. В таких системах UEFI обеспечивает гибкость загрузки и поддержку различных операционных систем.

Игровые консоли

Некоторые игровые консоли (например, Xbox One и PlayStation 4) используют модифицированные версии UEFI для загрузки и управления системой.

Критика и ограничения

Сложность и размер

UEFI значительно сложнее и объёмнее BIOS. Размер прошивки может достигать нескольких мегабайт (против 64–128 КБ у BIOS), что увеличивает время инициализации и требует большего объёма флеш-памяти на материнской плате.

Проблемы с совместимостью

Несмотря на стандартизацию, разные реализации UEFI от разных производителей могут иметь несовместимости. Например, некоторые загрузчики Linux могут не работать с определёнными версиями Secure Boot или с прошивками, не соответствующими спецификации.

Уязвимости

UEFI, как и любое программное обеспечение, подвержена уязвимостям. В 2018 году были обнаружены критические уязвимости в прошивках AMI (CVE-2018-12126 и другие), которые позволяли злоумышленникам выполнять произвольный код на уровне прошивки. Обновление UEFI (flashing) требует специальных процедур и может быть рискованным (при ошибке материнская плата может выйти из строя).

Зависимость от производителя

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

Интересные факты

  • UEFI может работать как полноценная операционная среда: существуют программы (например, UEFI Shell), которые позволяют выполнять команды, копировать файлы и запускать приложения без загрузки основной ОС.
  • В 2011 году Intel выпустила спецификацию UEFI 2.3.1, которая ввела поддержку Secure Boot.
  • В 2020 году Microsoft объявила, что Windows 11 будет требовать обязательного включения Secure Boot и TPM 2.0, что сделало UEFI обязательным компонентом для новых ПК.
  • Некоторые производители (например, Apple) используют собственные модификации UEFI (например, в Mac с процессорами Intel).

Источники

  1. Unified EFI Forum. UEFI Specification, Version 2.10. 2022.
  2. Intel Corporation. Extensible Firmware Interface Specification, Version 1.10. 2002.
  3. Microsoft Corporation. Windows Hardware Compatibility Program: UEFI Requirements. 2021.
  4. TianoCore Project. EDK II: Open Source UEFI Firmware. 2023.
  5. Cimpanu, C. (2018). Critical UEFI vulnerabilities affect millions of computers. ZDNet.
  6. Stallings, W. (2018). Operating Systems: Internals and Design Principles. 9th Edition. Pearson.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →