Разное

Что означает microsoft uefi совместимая система. Обновление прошивки UEFI

Что означает microsoft uefi совместимая система. Обновление прошивки UEFI

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

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

Что такое UEFI?

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

Отличия UEFI от BIOS

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

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

Другая особенность BIOS заключается в поддержке ограниченного количества разделов на жестком диске. UEFI же имеет возможность работать со 128 разделами. В структуре новой разработки Intel создана таблица разделов GPT, с помощью которой можно задействовать все технологические преимущества UEFI. Несмотря на все рассмотренные отличия новой среды и традиционной системы BIOS, основные функции их совпадают. Фактических различий между этими системами, на самом деле, не так уж много. Исключение составляет разве что алгоритм обеспечения безопасности, реализованный в UEFI. Специалисты считают, что новая платформа дает возможность быстрее загружать операционные системы. Другие считают, что это актуально только для операционной системы Windows 8.

Рассмотрим более детально систему безопасности, использованную в UEFI.

Технология безопасности среды UEFI

Системы UEFI опережают BIOS с точки зрения безопасности. Сегодня существуют уникальные вирусы, которые обладают способностью внедрятся в саму микросхему, в которой прописаны алгоритмы BIOS. В результате становится возможной загрузка операционной системы с расширенными правами пользователя. Это открывает широкие возможности для несанкционированного доступа. В новом программном решении от Intel также реализован режим безопасной загрузки, который предусматривает алгоритм под названием Secure Boot.

Данный алгоритм основан на использовании ключей особого типа, которые сертифицированы самыми крупными брендами IT-индустрии. На самом деле сегодня не так много таких компаний. Если говорить о поддержке соответствующей опции производителями ОС, то на сегодняшний день ее обеспечивает только Microsoft в Windows 8. Также совместимость с данным алгоритмом безопасности на сегодняшний день реализована в некоторых версиях Linux.

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

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

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

Теперь технологические преимущества программного интерфейса UEFI ясны. Сегодня наиболее популярные производители аппаратных компонентов для персональных компьютеров стараются обеспечить совместимость «железа» с системой UEFI. Как полагают эксперты в сфере IT, переход на новую систему может привести к новому технологическому тренду. Для ведущих производителей программного обеспечения и аппаратных компонентов возможности, предлагаемые разработчиком UEFI компанией Intel кажутся весьма привлекательными. Кроме того, технологические опции UEFI сегодня полностью поддерживаются крупнейшим брендом на рынке ОС.

Secure Boot

Проведем более детальное рассмотрением преимуществ Secure Boot – технологии безопасности, поддерживаемой системой UEFI. В чем заключается основная концепция?

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

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

Следует также отметить, что с функцией Secure Boot совместимы и некоторые дистрибутивы Linux. Даже в том случае, если загрузка новой операционной системы будет запрещена, в структуре UEFI прописана возможность отключения алгоритма Secure Boot. Конечно, в этом случае загрузку операционной системы уже нельзя будет считать безопасной. Но тем не менее соответствующую опцию можно активировать в любой момент.

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

В редких случаях возможна установка альтернативных операционных систем с поддержкой Secure Boot. Так, например, теоретически можно установить операционную систему Windows 7 на ноутбук с поддержкой UEFI BIOS. В общем же случае вероятность удачной установки альтернативных операционных систем невысока. Как уже было отмечено выше, некоторые дистрибутивы Linux совместимы с UEFI.

Особенности настройки

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

Особенности доступа к UEFI

Еще один примечательный факт, который нельзя оставить без внимания – это огромное количество версий UEFI. В персональных компьютерах, выпущенных разными брендами, они могут существенно отличаться. Уровень доступности отдельных функций на разных компьютерах также может отличаться. Например, часто бывает так, что при загрузке ПК не выводится меню, с помощью которого пользователь может попасть в настройки UEFI. В этом случае в Windows предусмотрена возможность загрузки необходимых опций. Во вкладке «Параметры» необходимо активизировать «Особые варианты загрузки». После этого необходимо перезагрузить компьютер. На экране появятся варианты загрузки.

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

Особенности работы в разных режимах

Обратите внимание, при изменении режима работы UEFI с обычного на Legacy желательно при первой же возможности вновь включать интерфейс UEFI со всеми опциями. Иначе операционная система может не запуститься. На многих персональных компьютерах подобной проблемы не возникает. Это связано с тем, что производители внедряют в структуру управления особые алгоритмы, которые позволяют автоматически активировать режим UEFI. На некоторых моделях реализован гибридный режим, при помощи которого запускается модуляция BIOS. Отличия в версиях UEFI предполагают также невозможность отключения Secure Boot в режиме штатной работы.

Загрузочные флэшки UEFI

В некоторых ситуациях может возникнуть необходимость загрузить операционную систему с флэшки. Главная трудность здесь состоит в том, что флэшки, формат которых отличен от FAT32, не распознаются. У этой проблемы есть решение. Все загрузочные флэшки Windows по умолчанию форматируются в файловой системе NTFS. UEFI эту файловую систему не распознает. Поэтому основная задача состоит в том, чтобы обеспечить соответствующему аппаратному компоненту форматирование в системе FAT32. Многие IT –специалисты считают эту файловую систему устаревшей. Однако актуальность соответствующего стандарта можно оценить по его применению в UEFI.

Флэшка для загрузки в UEFI

Что необходимо сделать, чтобы загрузочная флэшка без проблем распознавалась UEFI? Во-первых, желательно, чтобы емкость носителя составляла не менее 4 Гб. Во-вторых, необходимо удалить с флэшки всю информацию. Необходимым компонентом для создания загрузочной флэшки является дистрибутив операционной системы Windows.

Подготовка флэшки

Если все вышеперечисленные элементы присутствуют, можно приступать. Флэшку необходимо вставить в USB-порт компьютера. После этого в интерфейсе Windows открываем командную строку. Пользователь должен обладать правами администратора. Далее через командную строку запускаем программу DISKPART. Затем необходимо ввести команду list disk.

Отобразиться список дисков, присутствующих в вашей системе. Найдите в нем свою флэшку. Выберете диск командой select disc x, где x – порядковый номер. Чтобы отформатировать выбранный носитель, достаточно выполнить команду Clean. Далее на диске необходимо сделать первичный раздел. Сделать это можно при помощи команды create partition primary. Путем ввода команды active данный раздел необходимо сделать активным. После этого перечень разделов можно вывести на экран путем ввода команды list volume.

Выбираем нужный нам раздел командой select volume x, где x – порядковый номер раздела. Чтобы отформатировать его в системе FAT32, вводим команду format fs=fat 32. Теперь флэшке нужно назначить букву. Делается это при помощи команды assign. После этого можно выйти из командной строки.

Запись дистрибутива

После проведения всех выше описанных действий можно скопировать на флэшку дистрибутив Windows.

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

Было время, когда все компьютеры комплектовались встроенным в материнские платы БИОСом, который являл собой набор микропрограмм для теста работоспособности оборудования, предоставлял API и поддерживал загрузку системы. Он традиционно использовался в IBM-совместимых машинах и до поры до времени надёжно выполнял свои функции, ограничиваясь 16-битными процессами и 1-мегабайтной адресацией .

С развитием технологий «старый добрый» БИОС перестал соответствовать современным требованиям, он оказался недостаточно гибким и модерным, и ему на смену пришёл его сменщик – это UEFI Boot, поддерживающий практически все стандарты современного оборудования.

UEFI (Unified Extensible Firmware Interface) ведёт свою историю с 2003 года, когда корпорация Intel создала замену BIOS для своих 64-битных серверов под микропроцессоры Itanium. Тогда этот стандарт носил название EFI (аббревиатура от Extensible Firmware Interface – “Расширяемый Интерфейс Прошивки»). Позже, попав на объединённый EFI-форум (Unified EFI Forum) этот концепт получил название UEFI и продолжил своё развитие как объединённый стандарт ИТ-индустрии, в развитии которого принимают участие самые известные производители компьютерного железа.

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

Как выглядит UEFI и что это такое можно посмотреть на видео:

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


Отличие 1. Визуальная составляющая

Многие элементы UEFI выглядят как традиционный БИОС, но некоторые изменены до неузнаваемости. Более приятная глазу картинка, удобные возможности для разгона, удобный и доступный интерфейс, а также поддержка мыши. Изменения без сомнения радуют глаз.

Отличие 2. 16 против 32

В то время как БИОС ограничен 16-битными процессами и 1 мегабайтом адресацией памяти, у UEFI нет подобных ограничений. Он работает и в 32, и в 64-битных режимах, позволяет работать со значительно большими объёмами памяти, и мало зависим от архитектуры компьютера. Специфика UEFI Boot обеспечивает драйверами компоненты системы не зависимо от того, какой процессор использован в вашем ПК.

Отличие 3. Рабочие объёмы

MBR в биос ограничивалась четырьмя основными разделами на диске, а сами бутовые диски обладали размером максимум в 2,2 террабайта. Если ранее этого было вполне достаточно, то возможности сегодняшних накопителей уже превышать указанный размер. UEFI же использует разметку разделов GUID, позволяя проводить загрузку с дисков величиной 9,4 ZB. Для несведущих поясню, что один зетабай (zetabyte) – это 1024 умножить на 1024 и умножить на 1024 гигабайт.

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

Отличие 4. Расширения

UEFI поддерживает как старые расширения (например, АСPI), так и новые, основанные на EFI спецификациях с большей функциональностью (Asus Splashtop и др.).

Отличие 5. Лёгкое управление

Поскольку большинство опций представлено в виде наглядных графических символов, работать с ними просто и удобно. Попробуйте, и убедитесь сами.

Отличие 6. Secure Boot

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

Заключение

Что это UEFI Boot? Как видим, спецификация UEFI Boot обладает рядом серьёзных преимуществ перед его предшественником. Более удобный и доступный интерфейс, улучшенная скорость работы, поддержка значительно больших объёмов памяти, и системного жёсткого диска – это и многое другое делает UEFI наиболее эффективным и современным вариантов. Если у вас модерный ПК (примерно с 2011 года и далее), может быть, пришло время заглянуть в свой UEFI и познакомиться с ним поближе.

Персонального компьютера, несмотря на постоянные обновления, «двойные» реализации и прочие новшества, по сути, так и оставался наиболее устаревшим компонентом современных компьютеров. Начиная с самых первых ПК в 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 (Unified Extensible Firmware Interface) - замена устаревшему BIOS. Эта спецификация была придумана Intel для Itanium, тогда она еще называлась EFI (Extensible Firmware Interface), а потом была портирована на x86, x64 и ARM. Она разительно отличается от BIOS как самой процедурой загрузки, так и способами взаимодействия с ОС. Если вы купили компьютер в 2010 году и позже, то, вероятнее всего, у вас UEFI.
Основные отличия UEFI от BIOS:
  • Поддержка GPT (GUID Partition Table)
GPT - новый способ разметки, замена MBR. В отличие от MBR, GPT поддерживает диски размером более 2ТБ и неограниченное количество разделов, в то время как MBR поддерживает без костылей только 4. UEFI по умолчанию поддерживает FAT32 с GPT-разделов. MBR сам UEFI не поддерживает, поддержка и загрузка с MBR осуществляется расширением CSM (Compatibility Support Module).
  • Поддержка сервисов
В UEFI есть два типа сервисов: boot services и runtime services. Первые работают только до загрузки ОС и обеспечивают взаимодействие с графическими и текстовыми терминалами, шинами, блочными устройствами и т.д., а runtime services может использовать ОС. Один из примеров runtime services - variable service, который хранит значения в NVRAM. ОС Linux использует variable service для хранения креш дампов, которые можно вытащить после перезагрузки компьютера.
  • Модульная архитектура
Вы можете использовать свои приложения в UEFI. Вы можете загружать свои драйверы в UEFI. Нет, правда! Есть такая штука, как UEFI Shell. Некоторые производители включают его в свой UEFI, но на моем лаптопе (Lenovo Thinkpad X220) его нет. Но можно его просто скачать из интернета и поставить на флешку или жесткий диск. Также существуют драйверы для ReiserFS, ext2/3/4 и, возможно, еще какие-то, я слишком не углублялся. Их можно загрузить из UEFI Shell и гулять по просторам своей файловой системы прямо из UEFI.
Еще UEFI поддерживает сеть, так что если найдете UEFI-драйвер к своей сетевой карте, или если он включен производителем материнской платы, то можете попинговать 8.8.8.8 из Shell.
Вообще, спецификация UEFI предусматривает взаимодействия драйверов UEFI из ОС, т.е. если у вас в ОС нет драйвера на сетевую карту, а в UEFI он загружен, то ОС сможет использовать сетевую карту через UEFI, однако таких реализаций я не встречал.
  • Встроенный менеджер загрузки
В общем случае, для UEFI не требуется ставить загрузчик, если вы хотите мультизагрузку. Можно добавлять свои пункты меню, и они появятся в загрузочном меню UEFI, прямо рядом с дисками и флешками. Это очень удобно и позволяет грузить Linux вообще без загрузчика, а сразу ядро. Таким образом, можно установить Windows и Linux без сторонних загрузчиков.
Как происходит загрузка в UEFI?
С GPT-раздела с идентификатором EF00 и файловой системой FAT32, по умолчанию грузится и запускается файл \efi\boot\boot[название архитектуры].efi, например \efi\boot\bootx64.efi
Т.е. чтобы, например, создать загрузочную флешку с Windows, достаточно просто разметить флешку в GPT, создать на ней FAT32-раздел и просто-напросто скопировать все файлы с ISO-образа. Boot-секторов больше нет, забудьте про них.
Загрузка в UEFI происходит гораздо быстрее, например, загрузка моего лаптопа с ArchLinux с нажатия кнопки питания до полностью работоспособного состояния составляет всего 30 секунд. Насколько я знаю, у Windows 8 тоже очень хорошие оптимизации скорости загрузки в UEFI-режиме.

Secure Boot

Я видел много вопросов в интернете, вроде:
«Я слышал, что Microsoft реализовывает Secure Boot в Windows 8. Эта технология не позволяет неавторизированному коду выполняться, например, бутлоадерам, чтобы защитить пользователя от malware. И есть кампания от Free Software Foundation против Secure Boot, и многие люди были против него. Если я куплю компьютер с Windows 8, смогу ли я установить Linux или другую ОС? Или эта технология позволяет запускать только Windows?»

Начнем с того, что эту технологию придумали не в Microsoft, а она входит в спецификацию UEFI 2.2. Включенный Secure Boot не означает, что вы не сможете запустить ОС, отличную от Windows. На самом деле, сертифицированные для запуска Windows 8 компьютеры и лаптопы обязаны иметь возможность отключения Secure Boot и возможность управления ключами, так что беспокоится тут не о чем. Неотключаемый Secure Boot есть только на планшетах на ARM с предустановленной Windows!

Что дает Secure Boot? Он защищает от выполнения неподписанного кода не только на этапе загрузки, но и на этапе выполнения ОС, например, как в Windows, так и в Linux проверяются подписи драйверов/модулей ядра, таким образом, вредоносный код в режиме ядра выполнить будет нельзя. Но это справедливо только, если нет физического доступа к компьютеру , т.к., в большинстве случаев, при физическом доступе ключи можно заменить на свои.

В Secure Boot есть 2 режима: Setup и User. Первый режим служит для настройки, из него вы можете заменить PK (Platform Key, по умолчанию стоит от OEM), KEK (Key Exchange Keys), db (база разрешенных ключей) и dbx (база отозванных ключей). KEK может и не быть, и все может быть подписано PK, но так никто не делает, вроде как. PK - это главный ключ, которым подписан KEK, в свою очередь ключами из KEK (их может быть несколько) подписываются db и dbx. Чтобы можно было запустить какой-то подписанный.efi-файл из-под User-режима, он должен быть подписан ключом, который в db, и не в dbx.

Для Linux есть 2 пре-загрузчика, которые поддерживают Secure Boot: Shim и PRELoader. Они похожи, но есть небольшие нюансы.
В Shim есть 3 типа ключей: Secure Boot keys (те, которые в UEFI), Shim keys (которые можно сгенерировать самому и указать при компиляции), и MOKи (Machine Owner Key, хранятся в NVRAM). Shim не использует механизм загрузки через UEFI, поэтому загрузчик, который не поддерживает Shim и ничего не знает про MOK, не сможет выполнить код (таким образом, загрузчик gummiboot не будет работать). PRELoader, напротив, встраивает свои механизмы аутентификации в UEFI, и никаких проблем нет.
Shim зависит от MOK, т.е. бинарники должны быть изменены (подписаны) перед тем, как их выполнять. PRELoader же «запоминает» правильные бинарники, вы ему сообщаете, доверяете вы им, или нет.
Оба пре-загрузчика есть в скомпилированном виде с валидной подписью от Microsoft, поэтому менять UEFI-ключи не обязательно.

Secure Boot призван защитить от буткитов, от атак типа Evil Maid, и, по моему мнению, делает это эффективно.
Спасибо за внимание!

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