База знаний по Open Source
Yandex поиск по всему сайту
Авторизация

UEFI logo

Базовые принципы работы системной BIOS для настольных компьютеров были сформированы в далеких 80-ых годах прошлого века. За прошедшие десятилетия компьютерная индустрия бурно развивалась  и за это время постоянно случались ситуации, когда новые модели устройств оказывались несовместимыми с определенными версиями BIOS. Что бы разрешать эти проблемы, разработчикам постоянно приходилось модифицировать код базовой системы ввода/вывода, но в итоге целый ряд программных ограничений так и остался неизменным со времен первых домашних ПК. Такая ситуация привела к тому, что BIOS в своем классическом варианте окончательно перестал удовлетворять требованиям современного компьютерного железа, мешая его распространению в массовом секторе персоналок. Стало понятно, что необходимо что-то менять.

В 2011 году, с запуском в производство материнских плат для процессоров Intel поколения Sandy Bridge, устанавливающихся в разъем LGA1155, началось массовое внедрение нового программного интерфейса для начальной загрузки компьютера – UEFI.

На самом деле первая версия данной альтернативы обычной BIOS была разработана и успешно использована компанией Intel в серверных системах еще в конце 90-ых годов. Тогда, новый интерфейс для начальной загрузки ПК назывался EFI (Extensible Firmware Interface), но уже в 2005 году его новая спецификация получила название UEFI (Unified Extensible Firmware Interface). На сегодняшний день эти две аббревиатуры считаются синонимами.

Как видите, производители системных плат не особо спешили переходить к новому стандарту, до последнего пытаясь совершенствовать традиционные вариации BIOS. Но очевидная отсталость этой системы, включая ее 16-битный интерфейс, не возможность использовать более 1 Мб адресного пространства памяти, отсутствие поддержки накопителей объемом более 2 Тб и другие постоянные неразрешимые проблемы совместимости с новым оборудованием все же стали серьезным аргументом для перехода на новое программное решение.

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

BIOS – это практически неизменяемый программный код, вшитый в специальную микросхему и взаимодействующий напрямую с компьютерным оборудованием с помощью собственных программных средств. Процедура загрузки компьютера с помощью BIOS проста: сразу после включения компьютера производится проверка оборудования и загрузка простых универсальных драйверов для основных аппаратных компонентов. После этого BIOS находит загрузчик операционной системы и его активирует. Далее происходит загрузка ОС.

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

Важным преимуществом EFI является ее кроссплатформенность и независимость от процессорной архитекторы. Спецификации этой системы позволяют работать ей практически с любой комбинацией чипов, будь то архитектура х86 (Intel, AMD) или ARM. Более того UEFI имеет прямой доступ ко всему аппаратному обеспечению компьютера и платформенно независимые драйверы, что дает возможность без запуска ОС организовать, например, выход в интернет или резервное копирование дисков.

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

Еще одной ключевой особенностью UEFI является возможность работы с жесткими дисками огромных объемов, размеченных по стандарту GPT (Guid Partition Table). Последний не поддерживается ни одной модификацией BIOS, так как имеет 64-битные адреса секторов.

Загрузка ПК на базе UEFI, как и в случае с BIOS, начинается с инициализации устройств. Но при этом, данная процедура происходит гораздо быстрее, так как UEFIможет определять сразу несколько компонентов одновременно в параллельном режиме (BIOSинициализирует все устройства по очереди).  Затем, происходит загрузка самой системы UEFI, под управлением которой выполняется какой-либо набор необходимых действий (загрузка драйверов, инициализация загрузочного накопителя, запуск загрузочных служб и т.д.), и только после этого осуществляется запуск операционной системы.

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

Несмотря на всю прогрессивность UEFI, все же существует ряд ограничений, сдерживающих активное развитие и распространение этого загрузчика. Дело в том, что для реализации всех возможностей нового загрузочного интерфейса требуется полноценная его поддержка со стороны операционных систем. На сегодняшний день в полной мере использовать возможности UEFI позволяет только Windows 8. Ограниченную поддержку нового интерфейса имеют 64-разрядные версии Windows 7, Vista и Linux на ядре 3.2 и выше. Так же возможности UEFI используются в загрузочном менеджере BootCamp компанией Apple в собственных системах Mac OS X.

Ну а как же происходит загрузка компьютера с UEFI, если на нем используются неподдерживаемая операционная система (WindowsXP,  32-битная Windows 7) или файловая разметка (MBR)? Для таких случаев в новый загрузочный интерфейс встроен модуль поддержки совместимости (Compatibility Support Module), по сути, представляющий из себя традиционную BIOS. Именно поэтому, можно видеть, как многие современные компьютеры, оснащенные системными платами с UEFI, загружается традиционным способом в режиме эмуляции BIOS. Чаше всего это происходит потому, что их владельцы продолжают использовать разделы HDD с традиционной MBR и не хотят переходить к разметке GPT.

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

Но при этом говорить о полном отказе в ближайшее время от базовой системы ввода/вывода пока преждевременно. В первую очередь нужно вспомнить, что до сих пор большинство компьютеров находятся под управлением WindowsXP и 32-битной Windows 7, которые не поддерживаются UEFI. Да и жесткие диски, размеченные по стандарту GPT в большинстве своем можно встретить разве что в новых моделях ноутбуков на базе Windows 8.

Так что до тех пор, пока большинство  пользователей в силу своих привычек или еще каких-либо причин, будут привязаны к старым версиям ОС и традиционным способам разметки винчестеров, BIOS так и будет оставаться основной системой для начальной загрузки компьютера.

Еще по теме Основы компьютерной грамотности