Unified Extensible Firmware Interface (UEFI) — это спецификация программы, которая соединяет прошивку компьютера с его операционной системой. Ожидается, что UEFI в итоге заменит базовую систему ввода/вывода — BIOS. Пока же он совместим с ней. Это нужно для того, чтобы не было проблем с запуском старых операционных систем, у которых нет поддержки UEFI Boot.
UEFI работает через специальную прошивку, установленную на материнской плате компьютера. Как и BIOS, UEFI является первой программой, которая запускается при включении компьютера. Она проверяет, какие устройства подключены, пробуждает компоненты и передает их операционной системе.
Новая спецификация решает некоторые проблемы, свойственные BIOS. Например, ограничение на размер раздела жесткого диска. Кроме того, загрузка UEFI происходит быстрее. Это напрямую влияет на пользовательский опыт.
UEFI определяет взаимодействие операционной системы и платформы, предоставляя облегченную альтернативу BIOS. Используется только информация, необходимая для запуска процесса загрузки ОС. Кроме того, обеспечиваются расширенные функции безопасности.
Важный момент — совместимость UEFI с BIOS. Поддерживается большинство операционных систем. Это дает администраторам гибкость при выборе платформы. Кроме того, разработчики оборудования могут добавлять свои приложения и драйверы.
UEFI содержит таблицы данных, связанные с платформой, а также вызовы службы загрузки и выполнения, которые использует загрузчик ОС. В совокупности эта информация определяет необходимые интерфейсы и структуры, которые должны быть реализованы, чтобы микропрограммы и аппаратные устройства поддерживали режим загрузки UEFI.
В целом, BIOS считается устаревшей технологией, тогда как UEFI — это будущее. Однако для простоты понимания некоторые пользователи называют процессы собирательно (BIOS UEFI), несмотря на их существенные различия.
В 1981 году IBM стала первым поставщиком, внедрившим BIOS в ПК. Появление UEFI происходит параллельно с увеличением плотности дисков, используемых для рабочих нагрузок современных приложений.
Но что такое EFI? Intel представила Extensible Firmware Interface (EFI) как результат работы над 64-разрядной серверной архитектурой Itanium в 1990-х годах. Эта технология разрабатывалась совместно с производителем компьютеров Hewlett Packard (HP).
Специалисты восприняли EFI/UEFI как возможность устранить недостатки BIOS. Ограничения включали 16-битный режим вычислений, ограниченную системную память и утомительное программирование на языке ассемблера.
EFI, впоследствии переименованная в Intel Boot Initiative, технически остается собственностью Intel. Однако компания прекратила единоличную разработку спецификации после выпуска EFI версии 1.10 в 2005 году. Эта версия и была представлена для объединения поставщиков чипсетов, оборудования, систем, прошивок и ОС.
Разработкой стандартов спецификации UEFI с тех пор управляет отраслевой консорциум. Последний стандарт, UEFI 2.9, стал общедоступным в марте 2021 года.
Включение компьютера запускает цепочку событий, которые происходят до загрузки ОС. Они занимают считанные мгновения, многие о них даже не задумываются. Для их понимания важно знать, что такое UEFI Boot и чем он отличается от BIOS.
Глобально процесс можно описать так: прошивка запускает подсистему компьютера для выполнения серии тестов и находит загрузчик, который, в свою очередь, запускает ядро ОС. Это актуально и для персональных компьютеров, которые работают у нас дома, и для мощных серверов на timeweb.cloud. Но реализация этих действий может быть разной.
BIOS находится на микросхеме материнской платы машины и инициализирует центральный процессор, оперативную память, карты PCIe (Peripheral Component Interconnect Express) и сетевые устройства. Затем он запускает самотестирование при включении питания (Power On Self Test — POST). POST гарантирует, что оборудование настроено правильно, а все компоненты работают должным образом.
BIOS работает только в режиме 16-битного процессора. Это ограничивает количество команд, которые микропрограмма может выполнять в любой момент времени. Для выполнения задач выделяется 1 мегабайт памяти. Таким образом, интерфейсы и устройства инициализируются последовательно, из-за чего скорость запуска остается невысокой.
Для решения своих задач BIOS обращается к основной загрузочной записи (MBR), чтобы найти ОС и запустить загрузчик. MBR использует 32-битные значения для описания смещения и длины раздела. Из-за этого существует ограничение на диски — емкость не более двух терабайт и не более четырех разделов.
UEFI ведет себя как миниатюрная ОС, которая находится между прошивкой и основной ОС. Он выполняет ту же диагностику, что и BIOS при запуске, но предлагает большую гибкость.
UEFI хранит данные инициализации в файловом разделе EFI в флэш-памяти, а не в прошивке. Это позволяет запускаться во время загрузки с диска или с сетевого ресурса. Главный плюс использования EFI system partition, что это независимый от ОС раздел.
UEFI также развертывает более гибкую схему секционирования, чем MBR, известную как таблица разделов с глобальным уникальным идентификатором или GPT. Это своеобразная замена UEFI MBR. GPT был создан Intel как часть EFI. Он использует 64-битные значения для создания до 128 разделов и требуется для систем, запускаемых с дисков емкостью даже более двух терабайт.
Большинство новых настольных ПК, ноутбуков и некоторых планшетов комплектуются прошивкой UEFI, которая работает в режиме поддержки совместимости со старыми 32-разрядными версиями Windows. Ожидается, что производители компьютеров будут поддерживать BIOS и в ближайшем будущем, но переход на UEFI уже идет полным ходом.
В 2013 году управление Advanced Configuration and Power Interface (ACPI) было передано UEFI Forum. Первоначально разработанный совместно HP, Intel, Microsoft, Phoenix Technologies и Toshiba, ACPI представляет собой открытый стандарт для BIOS, который определяет, сколько энергии подается на каждое периферийное устройство.
Утилиты для материнской платы или системы для доступа к UEFI/BIOS различаются от поставщика к поставщику и по внешнему виду, но с точки зрения функциональности практически идентичны.
UEFI предоставляет множество значительных улучшений по сравнению с BIOS. Рассмотрим основные:
Поскольку производители компьютеров постепенно отказываются от BIOS, они обычно интегрируют прошивку UEFI, которая работает с модулем поддержки совместимости (CSM) в современных устройствах. Хотя CSM не задумывался как долгосрочное решение, он позволяет компьютерам запускаться в устаревшем режиме BIOS для работы со старыми версиями Windows и другими операционными системами.
Программное обеспечение всегда является целью злоумышленников. UEFI не является исключением. Одна из таких атак, получившая название TrickBot, была обнаружена в декабре 2020 года. Вредоносная программа шпионит за прошивкой устройства, что может позволить злоумышленникам нарушить процесс загрузки и получить доступ к ОС.
Помимо проблем с безопасностью, организации, переходящие на UEFI, могут понести расходы, связанные с загрузкой с флэш-памяти. Хотя это быстрее, чем загрузка с жестких дисков, для более старых систем может потребоваться модернизация, а именно увеличение флэш-памяти на материнской плате.
Еще одним потенциальным недостатком является зависимость UEFI от формата файловой системы FAT, который поддерживается операционной системой. Большие разделы диска могут добавить слишком много системных издержек, тем самым сводя на нет некоторые преимущества производительности. Это пример, в котором BIOS может быть более полезным вариантом, особенно для компьютера с более старой версией ОС и меньшими загрузочными дисками.
Эти недостатки следует учитывать при выборе между UEFI и BIOS. Однако в общем случае использовать BIOS невыгодно, особенно учитывая обратную совместимость UEFI со старыми операционными системами.
Чтобы определить, загружается ли компьютер из BIOS или UEFI, нажмите клавиши Windows и R на клавиатуре. В ответ откроется окно конфигурации «Выполнить». Введите MSInfo32 в диалоговом окне и нажмите клавишу Enter. Появится экран сводки системы. Найдите запись под названием BIOS Mode. Если значение говорит Legacy, система использует BIOS. Legacy UEFI не существует.
Пользователи Windows могут получить доступ к настройкам UEFI через «Параметры».
Машины с UEFI Linux можно определить по каталогу sys/firmware/efi. Это также будет отражено в диспетчере загрузки Linux Grand Unified Bootloader (GRUB) в качестве указания типа grub-efi. Для машин с BIOS используется запись grub-pc.
Мы разобрали, что такое UEFI и Legacy, чем они различаются и как работает обратная совместимость. Теперь вы понимаете процесс загрузки любой операционной системы на более глубоком уровне. Эти знания помогают не только обнаруживать и устранять неполадки, но и более эффективно использовать возможности оборудования.
Несмотря на то, что UEFI объективно более современная и удобная спецификация, совсем отказаться от BIOS пока не удается. Это связано и с широким распространением старых операционных систем, и возможным ростом затрат на обновление оборудование. Тем не менее специалисты считают, что UEFI Boot — это будущее.