UEFI Boot — что это такое. Что такое uefi boot — подробное руководство

UEFI — интерфейс, который должен был заменить BIOS

БИОС UEFI наделал много шуму во время выхода, а теперь на всех компьютерах и ноутбуках с новыми материнскими платами (Asus, Gigabyte, MSI и т.д.) используется именно этот интерфейс, который пришел на замену прежнему БИОС. Не очень звучная аббревиатура расшифровывается как Unified Extensible Firmware Interface (по-русски это будет «расширяемый интерфейс встроенного ПО»). Итак, что же такое UEFI и чем он так «насолил» многим пользователям?

BIOS против UEFI

BIOS — это система, которая отвечает за все операции ввода/вывода для Windows. Разработана она была в далеком 1981 году, т.е. существует уже 33 года. Самый первый вариант BIOS, который использовался на компьютерах IBM, естественно, сильно отличался от сегодняшнего варианта. Тот БИОС использовался лишь в качестве драйверов, т.е. связывал операционную систему со всеми подключенными периферийными устройствами. Но со временем компьютер и вся периферия постепенно совершенствовались, и BIOS уже не мог выполнять те задачи, которые ему приписывали изначально. Так появились драйверы и разные программы, которые взаимодействовали с операционной системой. С годами BIOS постоянно менялся, пытаясь адаптироваться под новую технику, и в начале 90-х годов он уже мог выполнять такие функции, как автоматическая настройка плат расширения, загрузка с DVD-привода и т.д.

А новый вариант BIOS UEFI начал разрабатываться 13 лет назад, с 2001 года. Разработкой занималась компания Intel, которая собиралась использовать такой BIOS только для серверного процессора Itanium. Дело в том, что на этом процессоре не работала никакая версия BIOS, и даже доработки данного интерфейса не помогали в этой ситуации. Именно это и послужило стимулом для разработки BIOS UEFI. Изначально этот интерфейс назывался EFI, а первой компанией, которая начала его использовать, стала Apple. Корпорация Apple с 2006 года начала собирать компьютеры и ноутбуки на базе процессоров Inter и BIOS EFI. А за год до этого к аббревиатуре EFI добавилась буква «U», под которой скрывалось слово «Unified». Данное слово обозначает, что разработкой UEFI BIOS занималось одновременно несколько компаний. К ним относятся IBM, Dell, HP, Phoenix Inside, а также, естественно, компания Microsoft, поскольку именно она является основным разработчиком операционных систем.

Краткий видео обзор UEFI BIOS

Изменения в UEFI

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

UEFI BIOS — своего рода «прослойка» между ОС и низкоуровневыми подпрограммами для работы с оборудованием

Если БИОС — это неизменный по своему содержанию код микросхемы CMOS (прошивка БИОС — это уже другая тема), то UEFI — это гибко настраиваемый интерфейс, который расположен поверх всех аппаратных компонентов компьютера. Иногда UEFI называют «псевдооперационной системой», но тем не менее она сама способна получить доступ ко всему аппаратному обеспечению компьютера.

Внешний вид последней версии БИОС (до UEFI) — это знакомый всем синий экран с белыми надписями на английском языке (управление осуществлялось только с помощью клавиатуры). Сейчас же это уже новая графическая оболочка. Графический интерфейс, который установлен на новых материнских платах Asus, MSI, может использоваться и для выполнения других приложений UEFI: настройка, диагностика и т.д. Внешне данный интерфейс выглядит очень симпатично. Простым пользователям будет намного проще разобраться в таком БИОСе, к тому же интерфейс UEFI поддерживает управление не только с клавиатуры, но и с помощью мышки. Также есть поддержка русского языка, к примеру, на тех же материнских платах от Asus. Вызвав BIOS UEFI теперь можно наблюдать конфигурацию своего компьютера (процессор и оперативную память), текущую дату и время, рабочую температуру устройств и пр.

Кроме того, в качестве бонуса к стандартной схеме разметки дисков MBR, UEFI имеет поддержку GBT (GUID Partition Table), которая свободна от ограничений, присущих MBR. Переход на платформу BIOS UEFI долгое время откладывался, но когда начали производить жесткие диски большого объема (более 2 Тб), стал неизбежным. Все дело в том, что стандартная версия БИОС может «видеть» только 2,2 Тб дискового пространства. Примерно так же, как и 32-разрядная операционная система может «видеть» только 3,25 Гб оперативной памяти. А UEFI может поддерживать на данный момент жесткие диски объемом до 9 млрд Тб (довольно космическое число на сегодняшний день, но, кто знает, может, через 10-20 лет это будет уже обычной вещью).

В качестве основных функций, которые имеются в BIOS UEFI еще стоит отметить:

  • тестирование оперативной памяти;
  • совместимость со старой версией BIOS;
  • универсальный загрузчик;
  • резервное копирование данных с винчестера (HDD Backup);
  • возможность обновления UEFI через интернет (Live Update).

Преимущества BIOS UEFI

Главное достоинство UEFI — большее удобство

BIOS UEFI — это полностью переработанный механизм, который много чего взял от своего «отца» и предназначен для связи операционной системы и установленного оборудования на компьютере. Совсем скоро этот новый интерфейс полностью вытеснит старую версию BIOS.

Среди основных достоинств новой технологии можно отметить:

  1. Удобный интерфейс. UEFI имеет очень простой и понятный интерфейс практически для любого пользоваться с поддержкой мыши. Кроме того, есть поддержка русского языка (на материнских платах Asus и пр.).
  2. Поддержка GPT. Новый БИОС может работать с жесткими дисками, которые имеют таблицу разделов GUID (GPT). Такие HDD можно разбить на 128 первичных разделов (на дисках MBR можно было создать только 4 первичных раздела). Кроме того, жесткие диски с таблицей разделов GUID (GPT) работают с адресацией LBA, а старые HDD — с устаревшей адресацией CHS.
  3. Поддержка жестких дисков более 2 Тб. UEFI позволяет использовать любые существующие на данный момент , в то время как старая версия БИОС не видит более 2.2 Тб.
  4. Быстрая загрузка ОС. Загрузка операционной системы происходит намного быстрее. К примеру, установленная на GPT диск Windows 8 загружалась за 7-8 секунд. Такая разница во времени запуска ОС достигается за счет того, что больше не нужно выполнять поиск загрузчика на всех устройствах: загрузочный диск в UEFI назначается еще при установке операционной системы.
  5. Быстрое обновление. , чем старую версию БИОСа.

Особенность BIOS UEFI

Особенность интерфейса UEFI, которая доставляет много хлопот пользователям, это отсутствие возможности установить Windows 7 в качестве операционной системы. То есть все новые материнские платы (все равно Asus это или MSI), имеющие UEFI, «разрешают» пользователям установить только Windows 8. Кроме того, есть еще один довольно интересный протокол загрузки «Secure Boot», который тоже доставляет хлопот. Дело в том, что этот протокол основан на специальных ключах, которые принадлежат производителям компьютеров, ноутбуков и прочего оборудования. И у каждого производителя свои ключи: у Asus — одни, а у Gigabyte — уже совсем другие. Именно поэтому, если у вас стоит новая материнская плата от Asus или ноутбук Asus с БИОС UEFI, то никакую другую операционную систему поставить не получится.

Хотя есть одна настройка, с помощью которой все же можно установить, к примеру, Windows 7. Для этого нужно лишь отключить опцию «Secure Boot». Но такая настройка приведет к тому, что ОС придется ставить на диск MBR, а все преимущества работы с GPT оценить не получится. Но тут уж решать пользователю: нужна ему эта настройка или нет. На новом оборудовании от Asus, Gigabyte, MSI по-другому сделать не получится: либо Windows 7 и диск MBR, либо Windows 8 и диск GPT.

В общем, прогресс не стоит на месте, придется привыкать к новому. К тому же через некоторое время компания Microsoft прекратит поддержку Windows 7, так что BIOS UEFI и Windows 8 скоро станут довольно обычным явлением.

1. Что такое UEFI?
UEFI (Unified Extensible Firmware Interface) представляет собой замену BIOS, который лучше соответствует требованиям современного разнообразного «железа». По своей сути, UEFI является интерфейсом, который отвечает за предзагрузочное окружение операционной системы.

2. В чем преимущества UEFI перед BIOS?

  • Поддержка носителей объемом >2Тб
  • Более простая подготовка загрузочных носителей, отсутствие необходимости в записи разных загрузочных секторов
  • Наличие собственного менеджера загрузки. Теперь необязательно заводить многоуровневую чехарду загрузчиков, чтобы организовать мультизагрузочную среду, в EFI NVRAM штатно хранятся все записи о имеющихся загрузчиках, и переключение между загружаемыми ОС осуществляется так же, как и между загрузочными носителями.
  • Более защищенная среда загрузки
  • Графический режим конфигурации UEFI, с поддержкой графики и мыши

3. Можно ли обновить мой BIOS на UEFI?
Не совсем. UEFI нельзя прошить вместо BIOS, поскольку он занимает гораздо больше памяти. Но существует такая штука, как DUET. Это загружаемая из BIOS посредством отдельного загрузочного раздела среда UEFI, которая может быть полезна, если вы собираетесь использовать диски объемом >2Тб на своем старом железе с BIOS.

4. Можно ли из UEFI загружаться, как раньше, через загрузочные секторы и MBR-диски?
Да, если в конфигурации UEFI включена поддержка Legacy Boot

5. Что такое GPT?
GUID Partition Table, GPT - стандарт формата размещения таблиц разделов на жестком диске. Он является частью интерфейса EFI. EFI использует GPT там, где BIOS использует MBR.

6. В чем преимущества GPT перед MBR?

  • Поддержка носителей объемом >2.2Тб
  • Отсутствие ограничения на 4 основных раздела, и как следствие-отсутствие необходимости в логических разделах
  • Повышенная безопасность-GPT хранит резервную копию таблицы разделов в конце диска, поэтому в случае неполадок существует возможность восстановления разметки при помощи запасной таблицы.
  • Защита от повреждения устаревшими программами посредством Protective MBR
  • Существует возможность использования старых загрузочных секторов.

7. Где в GPT хранятся аналоги загрузочных секторов?
EFI использует для хранения загрузчиков папку EFI/boot, находящуюся в корне раздела FAT32. По умолчанию должен загружаться файл /EFI/boot/bootx64.efi
Если загружаемый диск размечен в стиле MBR, то наличие файловой системы FAT32 на первом разделе (если их несколько) и файла с загрузчиком, лежащего по дефолтному пути, являются единственными условиями загрузки с этого носителя (CD/DVD тоже поддерживаются). В случае, если диск размечен в стиле GPT, раздел необязательно должен быть первым, но у него должен присутствовать флаг boot (проверить и выставить можно через gparted)

8. Возможно ли сконвертировать диск из MBR в GPT и обратно без потери данных?
Да. Для этого потребуется загрузочный диск/флешка с Gparted. После загрузки с загрузочного носителя откроется окно gparted, в котором в верхнем правом углу будет отображен рабочий диск (обычно это /dev/sda). Необходимо запомнить имя диска, который вы хотите сконвертировать, открыть терминал, и набрать там sudo gdisk /dev/sda где вместо sda, при необходимости, нужно подставить имя вашего диска. Затем нужно ввести команду w и подтвердить запись таблицы GPT на диск. Все, диск преобразован в таблицу GPT. Для обратной конвертации в MBR необходимо таким же образом открыть gdisk для вашего диска, и последовательно набрать команду r, затем g, после чего подтвердить запись новой таблицы при помощи команды w.

9. Что такое UEFI Shell?
Это среда работы с окружением EFI (терминалоподобная), позволяющая на ходу запускать efi-совместимые загрузчики, выполнять простейшие операции с файлами, а также оперировать встроенным менеджером загрузки.

10. Как редактировать/удалить/добавить пункты загрузки в загрузочное меню UEFI?
Качаем UEFI Shell, копируем его в файл /EFI/boot/bootx64.efi на FAT32 флешку, и загружаемся с нее. После удачной загрузки шелла должно появиться приглашение командной строки
Shell>
Выше приглашения должен отобразиться список имеющихся подключенных дисков (fs0:, fs1:, BLK0, и тому подобное). Чтобы еще раз вызвать этот список в случае необходимости, воспользуйтесь командой
map fs*
Из полного имени диска можно почерпнуть некоторую информацию о диске. Например:
PciRoot(0x0)/Pci(0x1,0x1)/Ata(0x0)/HD(1,MBR,0x27212721,0x3F,0x13FA6D9)
отсюда
Ata(0x0)-интерфейс подключения диска, а также порт контроллера
HD-это жесткий диск
1-количество разделов на диске
MBR-схема разметки

Найдя таким образом необходимый диск, нужно перейти в него
fs0:
затем при помощи старых добрых досовских команд dir и cd нужно нащупать и перейти в каталог с загрузочными efi-файлами. Обычно это /EFI/boot/. Затем, находясь в этом каталоге, можно, введя имя файла загрузчика, сразу же загрузиться в него. Чтобы добавить нужный файл в список загрузочных записей, желательно сначала считать уже имеющиеся записи при помощи команды
bcfg boot dump
Затем, чтобы добавить загрузочный файл в этот список, нужно ввести
bcfg boot add N filename.efi «label»
Где N-порядковый номер записи (если на ее месте что-то было-этот пункт перезапишется)
filename.efi-имя файла с загрузчиком
label-имя, под которым эта запись будет отображаться в списке
Можно снова просмотреть список загрузочных записей через
bcfg boot dump
и убедиться, что все на месте. Можно перезагружаться и проверять.
Для удаления записи из списка используется команда
bcfg boot rm N
где N-номер записи

11. Что такое Secure Boot?
Спецификация Secure Boot разработана Microsoft в рамках проекта UEFI и позволяет защитить загрузочную среду от вмешательства в загрузочные файлы путем контроля подписей загружаемых файлов на предмет их соответствия белому списку ключей, зашитых в uefi как доверенные. «Побочным эффектом» такой защиты от руткитов является невозможность установки ОС, отличной от Windows 8 (на данный момент только она поддерживает Secure Boot), а также исключает возможность запуска с старых mbr дисков и загрузочных CD-дисков/флешек.

12. Как отключить Secure Boot?


13. Как сделать UEFI-совместимую флешку с дистрибутивом ОС?
В большинстве случае все очень просто:

  1. Отформатируйте флешку в файловую систему FAT32
  2. Скопируйте на нее все содержимое iso-образа дистрибутива

Но в случае с ОС Windows Vista/7 понадобится предварительно подготовить дистрибутив, т.к. они изначально не содержат EFI-файлов в нужных местах. Сразу небольшая оговорка–windows поддерживает работу с uefi только в 64-битных редакциях.

14. Как узнать, что загрузочная флешка сделана правильно, и будет грузиться в UEFI-режиме?
Если все сделано правильно, то в списке загрузочных носителей должно появиться два устройства с одинаковым именем, но разными префиксами, UEFI: и USB: . Через первый осуществляется загрузка в UEFI режиме, через второй-Legacy загрузка из загрузочного сектора.

15. Что такое Fast Boot Mode?
Режим быстрой загрузки, при котором управление практически сразу передаётся операционной системе, ещё до готовности к работе оборудования, инициализацию которого проводит сама ОС. Fast Boot исключает задержки, вызванные двойной инициализацией устройств. В «классическом» режиме после получения управления операционная система инициализирует повторно уже ранее инициализированные BIOS устройства. С учётом того, что инициализация некоторых типов устройств является достаточно длительным процессом, выигрыш в скорости очевиден. При включении Fast Boot управление передаётся системе раньше, чем производится инициализация USB, что приводит к недоступности USB-накопителей и клавиатуры до старта установленной на диск системы. Так как Microsoft предъявляет достаточно жёсткие требования ко времени, в которое должна уложиться прошивка при включенном режиме Fast Boot, а инициализация USB-устройств может занимать секунды, к моменту старта системы USB-устройства остаются неинициализированными. В этом случае проявляется обратная сторона медали — пользователь компьютера с USB-клавиатурой не может прервать процесс начальной загрузки и инициировать установку другой системы, так как клавиатура остаётся нерабочей до момента запуска ОС. Более того, инициализация чипа i8042 тоже требует времени и на некоторых ноутбуках производители прошивки оставляют неинициализированными встроенную клавиатуру с интерфейсом PS/2.

Большинство пользователей обновили свои компьютеры: приобрели новые системным блоки, материнские платы или ноутбуки в последние года четыре.

Примечательностью новых машин является то, что устаревшая система ввода-вывода больше не используется, её место заняла усовершенствованная прошивка под названием UEFI.

Она обладает огромными количеством преимуществ над BIOS, которые сегодня и рассмотрим.

Более подробно же остановимся на : узнаем, что это и почему его так не любят пользователи.

Эволюция системного программного обеспечения

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

C его помощью пользователи могут управлять огромным количеством параметров аппаратных компонентов.

CMOS – электронный элемент с независимым питанием в виде батарейки, где и хранится вся текущая конфигурация компьютера.

BIOS появился еще в конце 80-х годов. Да, он регулярно усовершенствовался и обновлялся, модифицировался под потребности пользователей и разработчиков, давая им возможность управлять режимами работы оборудования и электропитанием, но всему когда-то приходит конец. Тем более, что система ввода/вывода – тот компонент, который меньше всего претерпел изменения за почти три десятка лет в области информационных технологий.

BIOS обладает массой недостатков:

  • он не поддерживает загрузку из жестких дисков объёмом больше 2 ТБ – купили вы новый винчестер на 3 или 4 ТБ, а установить операционную систему на него не сможете, это технологическое ограничение главной загрузочной записи (никто в 80-х и не подумывал, что HDD могут быть столь неимоверного объема);
  • BIOS функционирует в 16-ти битном режиме (при том, что фактически все современные процессоры являются 64 и 32-х битными) при использовании всего 1024 КБ памяти;
  • процесс одновременной инициализации нескольких устройств поддерживается, но он весьма неотлажен и проблематичен, что снижает скорость запуска компьютера (каждый аппаратный компонент и интерфейс инициализируется отдельно);
  • БИОС – рай для пиратов – он не имеет никаких защитных механизмов, что позволяет загружать любые операционные системы и драйверы, в том числе с изменённым кодом и неподписанные (нелицензионные).

Первая версия UEFI разработана корпорацией Intel для Itanium, но позже была портирована на IBM PC.

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

Особенности новой EFI с графическим интерфейсом:

  • её код написан полностью на , что позволяет увеличить производительность во время загрузки ПК посредством задействования возможностей 64-разрядных центральных процессоров;
  • адресного пространства операционной системы хватает для поддержки 8*10 18 байт дискового пространства (такого запаса хватит на несколько десятилетий) при том, что весь объем цифровой информации на данный момент почти на три порядка ниже;
  • адресация оперативной памяти – теоретические расчёты показывают, что UEFI позволит устанавливать до 16 эксабайт оперативной памяти (на 9 порядков больше, чем в мощных современных ПК);
  • ускоренная загрузка ОС осуществляется благодаря параллельной инициализации аппаратных компонентов и загрузке драйверов;
  • драйверы подгружаются в оперативную память ещё до запуска операционной системы, причём они не являются платформозависимыми;
  • вместо старой схемы разметки разделов используется прогрессивная GPT, однако для её задействования придётся ;
  • удобная и симпатичная графическая оболочка поддерживает управление посредством мыши;
  • есть встроенные утилиты для диагностики, изменения конфигурации и обновления прошивок аппаратных компонентов;
  • поддержка макросов в формате.nsh;
  • модульная архитектура – позволяет загружать собственные драйверы или скачанные из интернета;
  • одно из самых значимых и важнейших изменений (в частности для Microsoft), которые привнесла UEFI – наличие . Она вызвана оберегать Bootloader от выполнения вредоносного кода, защитить операционную систему от вирусов ещё до её запуска посредством эксплуатации цифровых подписей.

О последней функции поговорим подробнее.

Secure Boot

Название технологии переводится как «безопасная загрузка» и представляет собой протокол, который является составляющей спецификации графической EFI.

Рис.4 – Проверка режима работы Secure Boot через командную строку в Windows 10

UEFI (Unified Extensible Firmware Interface) является связующей оболочкой между операционной системой и аппаратной частью (железом). В будущем планируется, что UEFI полностью вытеснит BIOS (Basic Input Output System) и займет его место. UEFI является относительно старой технологией, разработанной в 2005 (Unified EFI Forum) году. Однако, сие высказывание некорректно относительно данной ситуации, так как несмотря на то, что 8 лет довольно большой срок для IT-технологии и в иных сферах за эти годы успевали сменить сразу по нескольку технологий, UEFI изначально развивался довольно медленно и лишь в последние годы стал получать все большую известность. Ниже вы можете ознакомиться с графиком релизов UEFI.

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

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

1) В связи с веянием последних трендов, все больше ПК имеют 64-х битную ОС, что позволяет увеличить производительность.
2) Второй немаловажный пункт – это адресация памяти. Замечательная возможность использовать большее количество RAM-а и размера винчестера. Теоритически максимальный размер жесткого диска может достигать 8192 Exybyte -а, что составляет примерно 8.8 (о да! О_о) триллионов терабайт, что даже при нынешних объёмах трансфера информации является весьма впечатляющей цифрой, особенно если учесть, что размер архива всего интернета составляет 10 петабайт. Что же касается оперативной памяти – здесь так же наблюдаются радужные перспективы с возможностью адресации до 16 Exybyte -ов, что при нынешней ситуации на рынке (новые ПК как правило имеют от 8 до 16 гигабайт оперативной памяти) является бааальшушим заделом на будущее.
Ссылка на интересные факты связынае с наглядным примером того, много это или мало.
3) Более быстрая загрузка система, достигаемая за счёт параллельной инициализации отдельных компонентов системы.
4) Загрузка драйверов в UEFI и последующая передача оных в распоряжение ОС.
5) Одна из важнейших и наиболее критичных особенностей UEFI является Secure Boot Option , коя позволяет защитить Bootloader от исполнения вредоносных программ, что в свою очередь позволяет защитить ОС за её же пределами во время загрузки. Для этого используются «цифровые» подписи операционных систем.

UEFI Начало
Как показано на следующей картинке старт UEFI разбивается на несколько различных модулей и этапов, кои в свою очередь разделяются на дальнейшие подпункты.

Начинается все с Power On фазы (кто бы мог подумать) в которой исполняется Power On Self Test и проскакивает Security phase . После чего можно считать, что платформа инициализирована, при этом нельзя забывать и о фазе PEI (Pre-Инициализация EFI), а так же DXE (Driver Execution Environment) фазе, что позволяет системе добраться до пункта когда становиться доступна память, а так же начинается (Firmware) поиск Boot-устройства. В BDS (Boot Device Selection) фазе происходит поиск устройство с коего может быть осуществлен boot, при это может быть использовано стороннее устройство или UEFI-Shel l. При старте системы происходит передача уже инициализированных и загруженных драйверов в распоряжение ОС, дабы сократить время загрузки оной.

И так это была вступительная часть рассказа о UEFI. В следующей главе будут рассмотрены отдельные фазы более детально: POWER ON, SECURITY (SEC), PRE-EFI Initialisation (PEI), DRIVER EXECUTION ENVIRONMENT и BOOT DEV SELECT (BDS)

EFI (E xtensible F irmware I nterface) — интерфейс по централизации оборудования в момент включения системы. Регулирует процессы, происходящие между операционной системой и микропрограммами, осуществляющими управление низкоуровневыми функциями оборудования. EFI загружает компьютер, а впоследствии передает управление загрузчику операционной системы. Является логической заменой интерфейса BIOS , традиционно исользующегося IBM PC-совместимыми компьютерами.

Компания Intel разработала первую спецификацию EFI. Позднее, интерфейс поменял название: последняя версия стандарта именуется UEFI (U nified E xtensible F irmware I nterface). На сегодняшний день, стандарт UEFI разрабатывается ассоциацией Unified EFI Forum.

Стандарт EFI имеет поддержку графического меню, а также некоторых дополнительных возможностей (к примеру, Aptio или Great Wall UEFI).

История

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

Примечательно, что EFI изначально носил название Intel Boot Initiative , это уже позже он был переименован.

Спецификации

История стандарта EFI началась с выхода версии 1.01, но она не увидела широкого применения, посколько была быстро снята с рынка в связи с юридическими проблемами, связанными с использованием торговой марки.

Поздее, 1 декабря 2002 года была представлена версия EFI 1.10, включавшая в себя модель драйвера EFI, а также несколько «косметических» улучшений, в сравнении с версией 1.02.

В 2005 году компания Intel отнесла спецификацию EFI к организации UEFI Forum, которая впоследствии стала отвечать за дальнейшее развитие интерфейса. Тогда же стандарт EFI был переименован в Unified EFI (UEFI), для того, чтобы подчеркнуть произошедшее изменение. Примечательно, что, несмотря на смену названия, в большинстве документов по сей день свободно применяются оба термина.

7 января 2007 года организация UEFI Forum выпустила версию 2.1 UEFI, в которой была внедрена улучшенная криптография, функция установления подлинности сети, а также обновленная архитектура пользовательского интерфейса.

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

Сервисы

EFI определяет сервисы загрузки, включающие поддержку:

  • текстовой и графической консоли;
  • блоков;
  • файловых сервисов;

также интерфейс определяет runtime-сервисы (дата, время и память).

Драйверы устройств

Стандарт EFI, помимо стандартных, архитектурно-зависимых драйверов, определяет также и независимую от платформы среду драйверов. эта среда носит название EFI Byte Code (EBC). Спецификация UEFI требует от системного программного обеспечения интерпретатор для любых образов EBC, загруженных (фактически или потенциально) в среду.

Так, EBC вполне можно соотнести с независимым от аппаратных средств Open Firmware, используемым в Apple Macintosh и Sun Microsystems SPARC компьютерах.

Часть архитектурно-зависимых типов драйверов EFI может оснащаться интерфейсами для использования операционной системы, что дает возможность самой операционной системе применять EFI в качестве базовой поддержки графики и сети до загрузки драйверов.

Менеджер загрузки

Менеджер загрузки EFI применяется в целях выбора и последующей загрузки операционной системы. Так, потребность в определенном алгоритме загрузки исключена: загрузчик является приложением EFI.

Поддержка дисков

Вдобавок к стандартному методу разметки дисков (MBR), EFI обладает поддержкой GUID Partition Table (GPT). Эта схема свободна от каких-либо специфических для MBR ограничений. Стандарт EFI не содержит в себе описание для файловых систем, но реализации EFI, как правило, имеют поддержку файловой системы FAT32 .

Оболочка

Открытая среда оболочки стандарта позволяет пользователю загружать ее в целях произведения определенных операций. Это гораздо удобнее: пользователь избавлен от загрузки непосредственно самой операционной системы. Оболочка является простым приложением EFI, которое может храниться в ПЗУ платформы (либо на отдельном устройстве, драйверы которого расположены в ПЗУ).

Кроме того, пользователь может применять оболочку и для выполнения иных приложений EFI (например, настройка или установка операционной системы, либо же диагностика, конфигурация или обновление прошивки). Также в функции оболочки входит проигрывание CD/DVD-носителей, без загрузки операционной системы. Кроме того, оболочка EFI позволяет командно произвести операции копирования или перемещения файлов и каталогов, при условии, что работа производится в поддерживаемых файловых системах. Можно также осуществлять загрузку/выгрузку драйверов. Ну, и наконец, оболочка может использовать полный TCP/IP стек.

Оболочка EFI имеет поддержку сценариев в виде файлов с расширением .nsh (аналог пакетного файла в DOS).

Названия команд зачастую заимствуются от интерпретаторов командной строки (COMMAND.COM или Unix shell). Оболочка EFI в полной степени может выступать альтернативой и полноценным аналогом интерпретатора командной строки, либо текстового интерфейса BIOS.

Расширения

Расширения EFI загружаются почти с любого энергонезависимого устройства хранения данных, которое подключено к ПК.


Реализация

Intel Platform Innovation Framework

Intel Platform Innovation Framework («инновационный инструментарий Intel») представляет собой набор спецификаций, выпущенных компанией Intel при сотрудничестве с EFI. В данном случае, EFI определяет интерфейс между операционной системой и аппаратно-программным обеспечением, а на инструментарий возлагается определение применяемой для создания встраиваемого программного обеспечения структуры. Это определение производится на более низком уровне, в сравнении с функциями, заложенными в EFI.

К примеру, в инструментарий входят все этапы, которые необходимо преодолеть для корректной инициализации компьютера с момента включения. Такие внутренние возможности интегрированного программного обеспечения не являются частью спецификации EFI, однако они включены в разработанную ассоциацией UEFI спецификацию инициализации платформы (Platform Initialization Specification). Данный инструментарий опробован на платформах XScale, Itanium и IA-32.

Совместимость с операционной системой, в случае с платформой x86, достигается благодаря применению модуля поддержки совместимости (CSM), содержащего в себе 16-битную программу (CSM16), которая реализуется производителем BIOS. Также в нее входит специальный слой, в функции которого входит связь CSM16 с инструментарием.

Компания Intel является автором уникальной реализации для инструментария, имеющей кодовое название «Tiano». Это полная реализация встраиваемого программного обеспечения с поддержкой EFI. В ней отсутствует традиционная 16-битная часть CSM, однако она обеспечивает интерфейсы, которые необходимы для дополнений, реализуемых изготовителями BIOS. Компания Intel не распространяет полную реализацию Tiano среди конечных пользователей. Часть этой реализации была выпущена в виде исходных текстов TianoCore проекта, подобно EFI Developer Kit (EDK). Данная реализация включает EFI и часть кода инициализации аппаратных средств, но вместе с тем, в ней скрыты характерные особенности самого встраиваемого программного обеспечения.

Построенные на стандарте EFI продукты можно приобрести через независимых производителей BIOS (к примеру, American Megatrends (AMI) и Insyde Software). Часть реализаций полностью основана на Tiano, другая часть - соответствует спецификациям, однако не строится на реализации Intel.

Платформы, применяющие EFI; сопутствующий инструментарий

В 2000 году, компания Intel разработала системы, построенные на платформе Itanium. Они имели поддержку EFI 1.02.

В 2002 году, компания Hewlett-Packard выпустила системы, построенные на платформе Itanium 2. Они имели поддержку версии EFI 1.10, и имели возможность загружать операционные системы Windows, Linux, FreeBSD и HP-UX.

Системы Itanium или Itanium 2, выпускаемые вместе с интегрированным EFI-совместимым программным обеспечением, обязаны соответствовать спецификации DIG64.

В ноябре 2003 года, компания Gateway обнародовала систему Gateway 610 Media Center, которая являлась первой x86-системой, построенной на базе Windows. В ней использовалось встраиваемое программное обеспечение, которое было основано на инструментарии, InsydeH2O от Insyde Software. Поддержка BIOS реализовывалась благодаря модулю поддержки совместимости (CSM).

Январь 2006 года, компания Apple представляет свои первые ПК Macintosh, построенные на платформе Intel. Системы применяют EFI и сопутствующий инструментарий, взамен Open Firmware, который применяли на предыдущих системах PowerPC-платформы.

5 апреля 2006 года, компания Apple представляет продукт Boot Camp, являющийся стандартным пакетом, позволяющим создавать диск с драйверами Windows XP. Кроме того, новый пакет содержал в себе инструмент разметки дисков, позволяющий установить Windows XP, оставив при этом работоспособным действующий Mac OS X. Кроме того, вышло обновление встраиваемого программного обеспечения. В нем была добавлена поддержка BIOS для реализации EFI. Последующие линейки моделей компьютеров Macintosh выпускались с обновленным и встраиваемым программным обеспечением. Так, на сегдняшний день, все компьютеры Macintosh имеют возможность загружать BIOS-совместимые операционные системы.

Фирменные «интеловские» системные платы производятся, в основном, со встраиваемым программным обеспечением, построенным на основе инструментария (к примеру, DP35DP). Так, в 2005 году было выпущено свыше 1 млн. систем Intel. Производство новых сотовых телефонов, настольных ПК и серверов, работающих на инструментарии, стартовало в 2006 году. Вот, например, все системные платы, построенные на наборе системной логики Intel 945, применяют в своей работе инструментарий. Впрочем, во встраиваемом программном обеспечении, как правило, не включена поддержка EFI, оно ограничивается лишь поддержкой BIOS.

С 2005 года стандарт EFI стали внедрять в не-ПК архитектуры (например, встраиваемые системы, построенные на базе XScale). В EDK включена отдельная цель NT32, допускающая встраиваемое программное оебспечение EFI и его приложения в приложения Windows. В 2007 году компанией Hewlett-Packard был представлен принтер серии 8000. Это был первый принтер, оснащенный встраиваемым программным обеспечением, совместимым с EFI. В 2008 году компанией MSI была представлена линейка системных плат, построенных на чипсете Intel P45, они обладали поддержкой EFI.

Операционные системы

  • С 2000-х годов, операционные системы GNU/Linux нередко применяли EFI для загрузки.
  • С 2002 года, операционные системы HP-UX стали применять EFI в качестве загрузочного механизма в системах, построенных на платформе IA-64. Операционные системы OpenVMS применяли стандарт с начала 2005 года.
  • Компания Apple взяла на вооружение стандарт EFI, выпустив линейку компьютеров, построенных на архитектуре Intel. Mac OS X 10.4 (Tiger) для Intel и Mac OS X 10.5 (Leopard) имели поддержку EFI v1.10 не только в 32-разрядном режиме, но и в 64-разрядных центральных процессорах. Так, посредством загрузчика EFI, установка Microsoft Windows 7 на компьютеры Apple осталась невозможной, поскольку этой операционной системе необходимо наличие UEFI или еще более новой версии.
  • Microsoft Windows имеет поддержку EFI для 64-разрядных архитектур. Компания Microsoft отмечает, что отсутствие поддержки EFI на 32-разрядных центральных процессорах возникла ввиду недостаточного участия со стороны производителей ПК. Миграция Microsoft к 64-разрядным операционным системам не позволяет использовать EFI 1.10, поскольку 64-разрядные расширения не поддерживаются окружением процессора. Поддержка x86-64 включена в UEFI 2.0. Itanium версии Windows 2000 (Advanced Server Limited Edition и Datacenter Server Limited Edition) имеют поддержку EFI 1.1.Windows Server 2003 для IA-64, 64-разрядная версия Windows XP и Windows 2000 Advanced Server Limited Edition, заточенные специально под семейство процессоров Intel Itanium, имеют поддержку EFI, определенную для данной платформы спецификацией DIG64. Разработчики компании Microsoft внедрили поддержку UEFI в 64-разрядных операционных системах Windows начиная с Windows Server 2008 и Windows Vista Service Pack 1.

Недостатки

Стандарт EFI попал под оглушительные шквалы критики за усложнение системы. Многие эксперты отмечали, что EFI не дает операционной системе ключевых преимуществ, но при этом существенно ее усложняет. Кроме того, в пользу EFI произошел отказ от альтернативных реализаций BIOS, обладающих полностью открытыми исходными текстами (OpenBIOS и coreboot).

В сентябре 2011 года компанией Microsoft было объявлено, что условия сертификации совместимых с Microsoft Windows 8 компьютеров могут привести к последующему производству устройств, которые не под каким предлогом не будут поддерживать какую‐либо другую операционную систему. Компания Microsoft пояснила, что поставщиками может быть реализована возможность добавления других подписей. Чуть позднее это было сделано обязательным требованием сертификации. Впрочем, что касается устройств на ARM, то в их случае требование следующее: полностью отключить функцию «безопасной загрузки». В таком случае, установка других операционных систем также перестает быть возможной.