Uefi плюсы и минусы. Что такое система EFI или раздел UEFI? Компьютерная помощь в компании Serty

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

Вступление

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

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

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

Что такое BIOS и зачем она нужна

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

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

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

Слово BIOS (БАйОС) является аббревиатурой от четырех английских слов Basic Input/Output System, что в переводе на русский означает: «Базовая система ввода/вывода». Такое название получил набор микропрограмм, отвечающих за работу базовых функций видеоадаптеров, дисплеев, дисковых накопителей, дисководов, клавиатур, мышей и других основных устройств ввода/вывода информации.

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

Где хранится BIOS и что такое CMOS

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

В самых первых компьютерах для хранения BIOS использовались микросхемы постоянной памяти (ПЗУ или ROM), запись на которые самого кода программы единожды осуществлялась на заводе. Несколько позже стали использовать микросхемы EPROM и EEROM, в которых имелась возможность в случае необходимости осуществлять перезапись BIOS, но только с помощью специального оборудования.

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

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

Флэш-память для хранения BIOS может иметь различную емкость. В прежние времена этот объем был совсем небольшим и составлял не более 512 Кбайт. Современные же версии программы стали несколько больше и имеют объем в несколько мегабайт. Но в любом случае на фоне современных приложений и мультимедийных файлов это просто мизер.

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

Помимо флэш-памяти, в которой хранится сама BIOS, на системной плате существует и еще один вид памяти, который предусмотрен для хранения настроек конфигурации этой программы. Изготавливается он с применением комплементарного метало-оксидного полупроводника или CMOS (Complementary Metal Oxide Semiconductor). Именно этой аббревиатурой и называют специализированную память, в которой содержаться данные о запуске компьютера, используемые BIOS.

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

Процедура POST и первоначальная загрузка ПК

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

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

В самом начале процессор получает команду на проведение самотестирования компонентов компьютера (POST - Power-On Self-Test). Процедура POST включает в себя несколько этапов, прохождение большинства которых вы можете наблюдать на экране ПК сразу после его включения. Последовательность происходящего перед началом загрузки операционной системы такова:

1. Сначала происходит определение основных системных устройств.

3. Третий шаг - настройка набора системной логики, или проще говоря, чипсета.

4. Затем происходит поиск и определение видеокарты. Если в компьютере установлен внешний (самостоятельный) видеоадаптер, то он будет иметь собственную BIOS, которую основная системная BIOS будет искать в определенном диапазоне адресов памяти. Если внешний графический адаптер будет найден, то первое, что вы увидите на экране, будет изображение с названием видеокарты, сформированное ее BIOS.

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

6. Затем запускается тестирование центрального процессора, по окончании которого на дисплей выводятся данные об установленном чипе: название производителя, модели и его тактовая частота.

7. Следом начинается тестирование оперативной памяти. Если все проходит удачно, то на экран выводится общий установленный объем ОЗУ с надписью ОК.

8. По окончанию проверки основных компонентов ПК, начинается поиск клавиатуры и тестирование других портов ввода/вывода. В некоторых случаях, на этом этапе загрузка компьютера может остановиться, если системе не удастся обнаружить подключенную клавиатуру. При этом на экран сразу же будет выведено об этом предупреждение.

9. Далее начинается определение подключенных к компьютеру накопителей, включая оптические приводы, жесткие диски и флэш-диски. Сведения о найденных устройствах выводятся на экран. В том случае, если на системной плате установлено несколько контроллеров от разных производителей, то процедура их инициализации может быть отображена на разных экранах.

Экран определения контроллера Serial ATA, имеющего собственный BIOS, с выводом всех подключенных к нему устройств.

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

11. Наконец, если процедура POST прошла успешно, BIOS начинает поиск в подключенных накопителях Главной Загрузочной Области (MBR), где содержатся данные о запуске операционной системы и загрузочном устройстве, которому необходимо передать дальнейшее управление.

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

Программа настройки BIOS

BIOS является конфигурируемой системой и имеет собственную программу настройки некоторых параметров оборудования ПК, называемую BIOS Setup Utility или CMOS Setup Utility . Вызывается она нажатием специальной клавиши во время проведения процедуры самотестирования POST. В настольных компьютерах чаще всего для этой цели используется клавиша Del, а в ноутбуках F2.

Графический интерфейс утилиты конфигурирования оборудования очень аскетичен и практически не изменился с 80-ых годов. Все настройки здесь осуществляются только с помощью клавиатуры - работа мыши не предусмотрена.

CMOS/BIOS Setup имеет массу настроек, но к наиболее востребованным, которые могут понадобиться рядовому пользователю, можно отнести: установку системного времени и даты, выбор порядка загрузочных устройств, включение/отключение встроенного в материнскую плату дополнительного оборудования (звуковых, видео или сетевых адаптеров), управление системой охлаждения и мониторинг температуры процессора, а так же изменение частоты системной шины (разгон).

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

Разработка BIOS и обновление

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

Разработку BIOS можно разделить на два этапа. Сначала создается базовая версия микропрограммы, в которой реализовываются все функции, вне зависимости от модели чипсета. На сегодняшний день, разработкой подобных версий занимаются в основном компании American Megatrends (AMIBIOS) и Phoenix Technologies, поглотившую в 1998 году тогдашнего крупного игрока на этом рынке - Award Software (AwardBIOS, Award Modular BIOS, Award WorkstationBIOS).

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

Что такое UEFI BIOS

Базовые принципы работы системной 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 так и будет оставаться основной системой для начальной загрузки компьютера.

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, то в их случае требование следующее: полностью отключить функцию «безопасной загрузки». В таком случае, установка других операционных систем также перестает быть возможной.

Персонального компьютера, несмотря на постоянные обновления, «двойные» реализации и прочие новшества, по сути, так и оставался наиболее устаревшим компонентом современных компьютеров. Начиная с самых первых ПК в BIOS ничего кардинально не менялось. Его долгое время всерьез не трогали производители, опасаясь за то, что нарушится преемственность базовых функций, необходимых для правильного функционирования старых операционных систем.

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

Рассказ о том, что такое UEFI, лучше начать с истории возникновения данной технологии.

История UEFI начинается в середине 90-х годов. Уже тогда для мощных серверных платформ было недостаточно возможностей стандартного BIOS. Поэтому для первых систем Intel-HP Itanium была разработана новая технология, которая получила название Intel Boot Initiative. Немного позже название было сменено на EFI или Extensible Firmware Interface.

Первой официальной спецификацией стала EFI 1.02, которая появилась на свет 12 декабря 2000 года. В начале 2002 года появилась спецификация 1.10. А уже в 2005 году был сформирован альянс компаний под названием Unified EFI Forum или UEFI Forum, а сама технология сменила название с EFI на UEFI. Сейчас разработкой UEFI занимается UEFI Forum, в состав, которого входят такие компании как AMD, Apple, Dell, HP, American Megatrends, IBM, Intel, Lenovo, Insyde Software, Microsoft и Phoenix Technologies. Последней спецификацией UEFI является спецификация под номером 2.3.1, которая была опубликована альянсом UEFI Forum в апреле 2011 года.

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

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

  • UEFI позволяет выполнять загрузку операционной системы с жестких дисков большого объема. Используя BIOS нельзя загрузить операционную систему с объемом больше 2 Тб.
  • UEFI не зависит от архитектуры процессора и может использоваться как с x86 процессорами, так и с процессорами на базе архитектуры ARM. В то время как BIOS поддерживает только .
  • UEFI позволяет использовать графическую оболочку с поддержкой мышки, которая намного удобней аскетичного интерфейса BIOS. При этом, оболочка UEFI позволяет выполнять многие задачи без использования операционной системы. Например, подключаться к локальной сети выходить в интернет.
  • UEFI позволяет загружать операционную систему значительно быстрее. Благодаря параллельному тестированию компонентов компьютера, время, которое проходит от момента включения компьютера до момента начала работы операционной системы может быть уменьшено до 2-х секунд.
  • UEFI оснащена менеджером загрузки и позволяет пользователю выбирать какую операционную систему он хочет загрузить. При этом исчезает необходимость использования специального механизма для выбора операционной системы внутри самого загрузчика операционной системы.
  • UEFI оснащена новыми способами защиты от вредоносных программ.

В этой статье мы познакомимся с понятием UEFI и применением этой технологии в Windows 8. то такое технология UEFI ? Аббревиатура UEFI расшифровывается как Unified Extensible Firmware Interface (унифицированный расширяемый интерфейс прошивки). Эта технология предназначена для преобразования традиционной системы загрузки компьютеров и должна прийти на смену устаревшей системе BIOS . Однако это не просто модернизация старой технологии, а принципиально новый подход к технологии загрузки компьютера и запуска ОС. По сути, UEFI практически не имеет ничего общего с системой PC BIOS.

Если BIOS – это код (жесткий и фактически неизменный), прошитый в специальном BIOS -чипе на системной плате, то UEFI – гибкий программируемый интерфейс, расположенный поверх всего аппаратных компонентов компьютера с их собственными прошивками. Код UEFI (намного больший по размеру, чем загрузочный код BIOS) находится в специальном каталоге /EFI/, который может храниться в самых различных местах: от отдельной микросхемы на системной плате, до раздела на жестком диске или сетевом хранилище. По сути – UEFI – это самостоятельная легкая операционная система, представляющая собой интерфейс между основной ОС и микропрограммами, управляющих аппаратным низкоуровневыми функциями оборудования, которая должна корректно инициализировать оборудование и передать управление загрузчику основной («большой») ОС, установленной на компьютере.

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

Спецификация UEFI в ближайший год-два станет использоваться во всех новых материнских платах ведущих производителей, и найти новый компьютер с обычным BIOS станет практически невозможно. Одними из наиболее востребованными особенностями UEFI, которые можно реализовать на работающем под ней компьютере являются: «безопасная загрузка» (), низкоуровневая криптография, сетевая аутентификация, универсальные графические драйверы и еще многое другое. UEFI поддерживает 32-х и 64-х битные процессоры и может быть использована на системах с процессорами Itanium, x86, x64 и ARM

Все современные операционных систем (Windows, Linux, OS X) поддерживают загрузку через UEFI.

Однако если использование UEFI в Mac OS X (загрузочный менеджер Bootcamp) и Linux достаточно поверхностное, в Windows 8 преимущества среды UEFI уже можно использовать по полной программе.

Кстати, для возможности загрузки старых ОС, поддерживающих только BIOS, в UEFI существует режим эмуляции BIOS, который называется Compatibility Support Module (CSM).

Поддержка UEFI и Windows 8

Какие же преимущества можно получить при совместном использовании UEFI и Windows 8?

Одно из главных преимуществ – возможность безопасной загрузки (safe boot) – технологии, позволяющей предотвратить выполнение нежелательных программ во время инициализации компьютера (более подробно технология безопасной загрузки в UEFI будет рассмотрена в отдельной статье).

Благодаря UEFI Windows 8 можно устанавливать на диски объёмом 3 ТБ и больше, и, соответственно, загружаться с этих дисков. Это связано с переходом от таблицы разделов MBR в (BIOS) к GPT (UEFI).

Использование UEFI вместо BIOS, – это один из ключевых компонентов, обеспечивающих быструю загрузку Windows 8 (код UEFI работает быстрее за счет того, что целиком писался с нуля, без необходимостей тянуть за собой шлейф древних правил и совместимостей). Кроме того, в UEFI при чтении используется особый размер блока EFI I/O, позволяющий читать по 1 мб данных за раз (в BIOS – 64кб). Кроме того уменьшение времени запуска достигается за счет того, что нет необходимости искать загрузчик на всех устройствах: загрузочный диск назначается в UEFI на этапе установки ОС.

Итак, мы отметили, что Windows 8 поддерживает загрузку UEFI, однако есть ряд особенностей:

  • Компьютер должен совместим с UEFI v2.3.1
  • UEFI поддерживается только в 64 разрядной версии Windows 8. 32-битные версии Windows не поддерживают функции UEFI (на новых компьютерах этой ОС придется работать в режиме эмуляции CSM).
  • Windows 8 для ARM (Windows RT) не будет работать на оборудовании, не поддерживающем UEFI, или позволяющим отключить Secure Boot

В последующих версиях Windows (и ближайшем Windows 8 SP1) разработчики планируют внедрение множества других функций UEFI, таких как: Rootkit prevention (обнаружение руткитов в процессе загрузки), Network authentication (аутентификация при загрузке, особенно актуальная в сценариях удаленного разворачивания ОС) и т.д.

Доступ к настройкам UEFI из Windows 8

Стоит отметить, что на новых компьютерах с предустановленной Windows 8, который использует UEFI, чтобы попасть в меню настройки UEFI (замены старичка BIOS), привычный способ нажатия на клавишу Delete или F2 (или другой клавиши заданной вендором) не сработает. Т.к. Windows 8 (особенно на SSD) грузится очень быстро, сложно успеть за это время нажать клавишу для входа в режим настройки UEFI. Где-то писалось, что Windows 8 на SSD с UEFI ждет нажатия клавиши всего 200мс. Поэтому существует процедура вызова программы настроек параметров UEFI из загрузочного меню Windows 8.

Попасть в загрузочное меню Windows 8 можно одним из трех способов:


После перезагрузки автоматически откроется меню загрузки Windows 8, в котором необходимо выбрать пункты Troubleshoot ->Advanced options . В окне расширенных опций есть отдельная кнопка UEFI Firmware Settings , позволяющая после перезагрузки ПК попасть прямиком в BIOS компьютера (на самом деле это UEFI, настройки в котором эквивалентны традиционному BIOS компьютеров).

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

Примечательностью новых машин является то, что устаревшая система ввода-вывода больше не используется, её место заняла усовершенствованная прошивка под названием 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