Extensible Firmware Interface


Unified Extensible Firmware Interface (UEFI) (с англ. — «интерфейс расширяемой прошивки») — интерфейс между операционной системой и микропрограммами, управляющими низкоуровневыми функциями оборудования, его основное предназначение: корректно инициализировать оборудование при включении системы и передать управление загрузчику или непосредственно ядру операционной системы. UEFI предназначен для замены BIOS — интерфейса, который традиционно используется всеми IBM PC-совместимыми персональными компьютерами. Изначально UEFI назывался EFI, однако впоследствии название было изменено. Первая спецификация UEFI была разработана Intel. В настоящее время разработкой UEFI занимается Unified EFI Forum.

Изначально UEFI создавалась для первых систем Intel-HP Itanium в середине 1990-х годов. Ограничения PC-BIOS (16-битный исполняемый код, адресуемая память 1 Мбайт, аппаратные ограничения IBM PC/AT и т. д.) были, очевидно, недопустимы в больших серверных платформах, для использования в которых планировался Itanium.

Изначальное название — Intel Boot Initiative (Загрузочная инициатива Intel), позже было переименовано в EFI[1]:

Интерфейс, определённый спецификацией UEFI, включает таблицы данных, содержащие информацию о платформе, загрузочные и runtime-сервисы, которые доступны для загрузчика операционной системы (ОС) и самой ОС. Некоторые существующие расширения BIOS, типа ACPI и SMBIOS, также присутствуют в UEFI, поскольку не требуют 16-разрядного runtime-интерфейса.

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

В дополнение к стандартным, архитектурно-зависимым драйверам устройств, спецификация EFI предусматривает независимую от платформы среду драйверов, названную EFI Byte Code (EBC). От системного встраиваемого ПО (firmware) спецификацией UEFI требуется иметь интерпретатор для любых образов EBC, которые загружены или могут быть загружены в среду. В этом смысле EBC подобен Open Firmware, независимому от аппаратных средств встраиваемому ПО, используемому в компьютерах Apple Macintosh и Sun Microsystems SPARC.