Что такое uefi boot — подробное руководство. Платформы, применяющие EFI; сопутствующий инструментарий

Многие современные производители компонентов для персональных компьютеров и программ стараются обеспечить поддержку своими продуктами интерфейса 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 BIOS – программное решение, представляющее собой альтернативу системы BIOS, к которой давно привыкло большинство пользователей компьютеров. Нельзя сказать, что это совсем свежая разработка. Работы по созданию интерфейса между ОС и микропрограммами, ответственными за низкоуровневые функции «железа», начались во второй половине 90-х годов. Первоначально этот интерфейс носил название Intel Boot Initiative. Чуть позже название было изменено на EFI.

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

Что собой представляет BIOS ?

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

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

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

Почему разработчики ПО и железа решили отказаться от BIOS в пользу UEFI ?

Тому есть несколько причин:

По этим причинам ведущие бренды обеспечивают поддержку UEFI в современных материнских платах.

Основные преимущества UEFI

UEFI в отличие от BIOS является не микропрограммой, а миниатюрной операционной системой , но при этом она очень многое взяла от своей предшественницы. Задачи UEFI точно такие же, как у БИОС – взаимосвязь программного обеспечения и «железа» компьютера. Новый интерфейс точно так же проверяет оборудование перед запуском загрузчика Windows .

К основным преимуществам UEF I можно отнести:

Новый интерфейс поддерживает управление мышкой.

Он интуитивно понятен и поддерживает множество языков. Его настройка не вызывает никаких проблем.

  1. UEFI в отличие от БИОС прекрасно работает с жесткими дисками, имеющими GPT .
  2. БИОС UEFI обеспечивает возможность работы с жесткими дисками объемом более 2-х ТБ.
  3. Жесткие диски с таблицей GUID работают с новой адресацией LBA .
  4. Windows в UEFI стартует намного быстрее.
  5. У UEFI имеется собственный загрузчик, позволяющий использовать на одном компьютере сразу несколько операционных систем без применения специальных загрузчиков.
  6. БИОС UEFI очень легко и безопасно обновляется.

Что касается “ Secure Boot ”, то эта процедура до сих пор считается сомнительным преимуществом. Как уже говорилось выше, если не отключить ее, то установка каких-либо операционных систем, кроме Windows 8 и 10, будет невозможна.

Есть мнение, что Microsoft активно продвигает процедуру “ Secure Boot ” в целях борьбы с конкурентами , ведь на новые компьютеры нельзя установить не только старые операционные системы Windows , но и ОС сторонних разработчиков. Кто-то скажет, что для решения проблемы достаточно отключить эту процедуру, но тогда пользователь будет лишен всех преимущества работы с жесткими дисками, имеющими GUID.

На все обвинения Microsoft отвечает однотипно – протокол был разработан для безопасности пользователей. И парировать эти слова нечем, ведь “ Secure Boot ” действительно обеспечивает высокий уровень защиты.

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

Альтернативный вариант для доступа к настройкам UEFI – нажатие клавиши ESC на клавиатуре при старте компьютера.

UEFI может работать в двух режимах :

  1. Обычный. Предусматривает полный доступ к опциям интерфейса.
  2. Legacy . Не рекомендуется устанавливать этот режим совместимости с БИОС в том случае, если объем жесткого диска превышает 2 ТБ. Операционная система может перестать загружаться. Более того, если в системе присутствует диск объемом более 2-х ТБ, то UEFI автоматически активирует обычный режим с его “ Secure Boot ”. Если при этом на диске стояла версия Windows, отличная от 8 и 10, то она не запустится.

Существует третий режим работы UEFI – гибридный, но он пока реализован на малом числе моделей компьютеров.

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

Что нужно сделать для установки Windows UEFI ?

Устанавливать Windows через UEFI немного сложнее, чем через БИОС. Сначала пользователю нужно создать загрузочную флешку.

Если пользователь намерен устанавливать Windows 10, то для создания и настройки флешки можно использовать официальную утилиту от Microsoft Media Сreation Tool. Использовать ее очень просто: нужно вставить флешку разъем компьютера запустить утилиту, которая определит все съемные носители в системе и предложит выбрать необходимый вариант. Далее, пользователю нужно будет провести примитивную настройку: выбрать разрядность операционной системы и язык.

Загрузочную флешку можно также сделать с помощью сторонних утилит. Это ненамного сложнее.

Следующий шаг – настройка UEFI БИОС к установке. Для доступа к настройкам интерфейса нужно при запуске компьютера нажать F 2 или Delete . После запуска меню нужно выбрать подраздел «Дополнительно». Во вкладке « boot » нужно выбрать режим поддержки USB с полной инициализацией. На вкладке “ Secure Boot ” не забудьте выбрать режим “ Windows UEFI mode ”. В завершении настройки нужно установить приоритет использования загрузочных устройств. Из имеющегося списка следует выбрать флешку с дистрибутивом ОС.

После этого можно устанавливать Windows .

Если во время установки Windows 8 или 10 появляется сообщение о неправильной настройке secure boot , то, вероятнее всего, пользователь забыл включить процедуру “ Secure Boot ” в UEFI БИОС. Для исправления ошибки достаточно включить режим защищенной загрузки.

Что делать установки Windows 7 через UEFI BIOS ?

При установке Windows 7 через UEFI БИОС пользователь может столкнуться с 2-мя проблемами:

После предварительной настройки UEFI включения и отключения необходимых функций можно приступать к установке ОС с флешки, CD или DVD .

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

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

BIOS против UEFI

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

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

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

Изменения в UEFI

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Спецификация UEFI (Unified Extensible Firmware Interface, Унифицированный расширяемый микропрограммный интерфейс, унифицированный расширяемый интерфейс прошивки или расширяемый аппаратный интерфейс), ранее известная как Extensible Firmware Interface (EFI ), определяет интерфейс между операционной системой и микрокодом (микропрограммами), управляющим оборудованием. Другими словами, UEFI это интерфейс, который располагается “поверх” аппаратных компонентов компьютера, которые, в свою очередь, функционируют на собственных прошивках (микрокодах).

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

Для большего понимания, UEFI по сравнению с BIOS - это, грубо говоря, новый тип или следующее поколение прошивки, и оно уже не ограничено только лишь персональными компьютерами архитектуры x86 (IBM PC), но и претендует на всеплатформенный стандарт. Однако, в отличии от BIOS, UEFI базируется на принципиально новой топологии кода, которая называется "драйверность".

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

UEFI можно смело назвать самостоятельной миниатюрной операционной системой, которая представляет собой интерфейс между основной пользовательской операционной системой, функционирующей на компьютере и микрокодом оборудования.

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

Старый-добрый BIOS

Основные принципы функционирования BIOS (базовой системы ввода-вывода) для персональных компьютеров были определены еще в конце 70х годов прошлого века. На протяжении довольно большого промежутка времени, прошедшего с той поры, компьютерная отрасль интенсивно развивалась, это приводило к тому, что на определенных этапах возможностей BIOS было недостаточно, поскольку выпускаемые производителями устройства имели на борту новые технологии, часто не совместимые с текущими версиями BIOS. Что бы уйти от подобных проблем, разработчикам приходилось порой довольно существенно модифицировать код BIOS, однако целый ряд ограничений так и остался неизменным до настоящего времени. И, если первоначально архитектура BIOS была достаточно простой, то по прошествии времени, она усложнялась, адаптируясь под все новые и новые технологии, поэтому, к определенному моменту она стала напоминать нагромождение различного рода устаревшего и плохо взаимодействующего между собой кода. Ограничения, которые и по сей день можно встретить в коде BIOS, объясняются необходимостью сохранять совместимость с базовыми функциями, необходимыми для функционирования старого ПО. Всё это привело к тому, что BIOS, по сути, стал самым устаревшим компонентом современных ПК. На данный момент BIOS мало удовлетворяет требованиям новейшего оборудования и имеет следующие недостатки:

  1. 16-битный код, реальный режим. BIOS написан на языке ассемблера и функционирует на 16-битном коде в реальном режиме (real mode) процессора со свойственными ему ограничениями, самое существенное из которых - ограничение адресного пространства памяти объемом 1 Мегабайт.
  2. Отсутствие доступа к 64-битному железу. BIOS не способна напрямую взаимодействовать с 64-битным оборудованием, доминирующим на рынке в настоящее время.
  3. Отсутствие единого стандарта. Для BIOS отсутствует единая спецификация - каждый производитель предлагает собственный вариации реализации.
  4. Сложность разработки. Проблема заключается в том, что практически для каждой очередной модели системной платы производителем разрабатывается собственная версия BIOS, в которой реализуются уникальные технические особенности данного устройства: взаимодействие с модулями чипсета, периферийного оборудования и прч. Разработку BIOS можно разделить на два этапа. На первом этапе создается базовая версия микропрограммы, в которой реализуются те функции, которые не зависят от специфики оборудования. Разработчики подобного кода хорошо известны, это такие компании как American Megatrends (AMIBIOS), Phoenix Technologies (+ приобретенная ею легендарная Award Software (AwardBIOS)) и некоторые другие. На втором этапе к разработке BIOS подключаются программисты производителя материнской платы. Тут уже базовая сборка модифицируется под специфику каждой конкретной модели платы, учитываются ее особенности. После выхода системной платы на рынок, работа над прошивкой продолжается, регулярно выпускаются обновления, в которых исправляются ошибки, добавляется поддержка нового оборудования (например, процессоров) и, иногда даже расширяются функциональные возможности прошивки.

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

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

Тут я хотел бы определить достоинства интерфейса UEFI:

  1. Поддержка носителей информации (дисков) большого объема. Поддержкой больших дисков UEFI обязан новому стандарту таблиц разделов под названием GPT (GUID Partition Table). Традиционный способ загрузки в BIOS использовал загрузочный сектор Master Boot Record (MBR), содержащий в себе таблицу разделов, которая описывала размещение разделов (партиций) диска. У записей таблицы разделов в MBR имеется один существенный недостаток: номер первого сектора начала раздела в формате LBA (смещение 08h от начала записи о разделе), имеет разрядность всего-лишь 4 байта (32 бита), соответственно, адресовать возможно только 4 миллиарда секторов. А это, при "классическом" размере сектора в 512 байт, всего-лишь ~2 терабайта дискового пространства. UEFI же, при помощи GPT, дает возможность адресовать диски объемом до 18 экзабайт.
  2. Прямая поддержка файловых систем и таблиц разделов. UEFI имеет модули поддержки файловых систем и таблиц разделов, то есть умеет работать как с таблицами разделов, так и с файловыми системами напрямую. Спецификация подразумевает обеспечение поддержки таблицы разделов GPT, файловых системам FAT12 , FAT16 , FAT32 на жестких дисках и файловой системы ISO9660 на CD/DVD дисках. Это избавляет нас от необходимости писать код начальной загрузки (по аналогии с MBR), который будет по цепочке грузить загрузчики различных стадий.
  3. Отсутствие других традиционных ограничений MBR. Например больше не требуется втискивать код начальной загрузки в миниатюрный сектор размером в 512 байт. Можно сосредоточиться на написании единого модуля загрузки, который будет совмещать в себе все необходимые стадии.
  4. Независимые от платформы драйвера оборудования. UEFI имеет доступ к аппаратному обеспечению компьютера посредством платформо-независимых драйверов. Производителю устройства достаточно написать всего-лишь одну версию драйвера для всех платформ (x86, ARM, Itanium, Alpha), а это значительно упрощает разработку и ускоряет процесс выявления ошибок. Спецификация UEFI описывает взаимодействие драйверов UEFI с операционной системой, таким образом, в случае, когда в ОС отсутствует драйвер, к примеру, видеокарты, а в UEFI он присутствует, загружен и функционирует, то ОС имеет возможность выводить данные на монитор посредством стандартных интерфейсов UEFI.
  5. Поддержка стека протоколов TCP: IPv4/IPv6. Позволяет использовать богатые сетевые возможности непосредственно из интерфейса UEFI. Теперь можно разрабатывать различные загрузки по http/ftp протоколам, тут же на ум приходит загрузка с указанием URL, по которому лежит обычный EFI-модуль, либо полноценный ISO-образ. Стало возможным обойти уже успевшую стать единственно-возможным вариантом, загрузку по сети с использованием PXE/TFTP. Некоторые, особенно продвинутые реализации, могут реализовать поддержку PXE через IPv6.
  6. Поддержка традиционной модели BIOS. UEFI не нужен классический BIOS, однако многие производители встраивают код эмуляции BIOS с целью поддержки работоспособности старых операционных систем. Называется этот модуль - модулем поддержки совместимости Compatibility Support Module (CSM). CSM включает 16-битный модуль (CSM16), реализуемый изготовителем BIOS, и слой, связывающий CSM16 с инструментарием (интерфейсом и оборудованием). Совместимость подразумевает поддержку загрузки посредством MBR и поддержку на уровне кода программных прерываний (int 10h - видеосервис, int 13h - сервис работы с диском, int 15h - сервисные функции, int 16h - сервис клавиатуры, int 18h - ROM-BASIC сервис, int 19h - сервис начальной загрузки (bootstrap loader)). Поэтому те ОС и ПО, которым для работы как воздух необходим был старый-добрый BIOS, свободно могут работать и на машинах с UEFI.
  7. Интуитивно-понятный интерфейс UEFI. Так называемая “простота управления”. Достаточно спорный момент, невозможно однозначно отнести его к плюсу или минусу. Утверждается, что управление BIOS было не интуитивно, представляя собой плохо документированный, аскетичный текстовый интерфейс, разобраться в котором мог только подкованный в компьютерных технологиях пользователь. В противовес этому, во многих оболочках UEFI поддерживаются графический интерфейс, манипулятор “мышь”, которые в большинстве BIOS просто не реализованы. Однако, если мне не изменяет память, я еще в 90х годах наблюдал попытки реализации поддержки мыши в BIOS от (кажется) Phoenix. Сам интерфейс может быть графическим, по мнению некоторых - более дружелюбным и интуитивным для большинства, но может быть и традиционным, то есть схожим с классическим текстовым, тут все зависит от предпочтений разработчика и позиционирования оборудования. Имеется возможность поддержки нескольких языков.
  8. Скорость работы UEFI. Утверждается, что код UEFI выполняется быстрее кода традиционного BIOS (хотя и написан на C), за счет того, что целиком написан “с нуля”, без необходимости "волочить" за собой обоз устаревшего кода поддержки различного нестандартного железа и разнообразных логических анахронизмов.
  9. Скорость загрузки ОС. Утверждается, что с UEFI загрузка происходит существенно быстрее. Достигается это за счет распараллеливания инициализации устройств, в противоположность BIOS, который инициализировал оборудование последовательно, а так же уменьшения времени запуска по причине отсутствия необходимости искать загрузчик методом перебора всех устройств (загрузчик указывается в UEFI и вызывается непосредственно). Склонен поверить, поскольку подтвердить либо опровергнуть на данный момент не могу. Однако, если измерить сколько времени уходит на моей старой машинке на Celeron 450/GA-G31M-ES2L с SSD с момента включения и до появления окна авторизации оптимизированной Windows XP, то получится всего 23 секунды. Вероятно, для определенных категорий устройств этого будет недостаточно.
  10. UEFI - мини ОС. Можно, конечно же, обозвать UEFI миниатюрной операционной системой, и это, от части, будет справедливо, но корректнее считать её виртуальной платформой, которая предоставляет интерфейсы к оборудованию. Можно работать только в консоли, а можно написать и полноценный графический интерфейс. UEFI, при наличии модулей необходимого функционала, может, к примеру, помочь разобраться в проблемах загрузки основной ОС, или выполнить другие сервисные функции.
  11. Дополнительные программные модули. Непосредственно до загрузки операционной системы с носителя UEFI позволяет запускать собственные UEFI-модули и драйвера широкого назначения: по работе с сетью, диском (архивация/бэкап/антивирус), конфигурацией параметров, тестированию оборудования. Очевидно, что с популяризацией стандарта список UEFI-приложений будет только расширяться. Уже сейчас можно даже написать полноценную игру, разработать собственную консоль для сервисных нужд в виде отдельного UEFI-модуля (пример: shell.efi), интернет-браузер, обеспечить работу с медиаданными (просмотр фильмов, прослушивание музыки), организовать резервное копирование дисков.
  12. UEFI содержит встроенный менеджер загрузок. То есть, реализует собственный загрузчик кода ОС, который очень функционален и может выступать аналогом знакомых нам по не столь далекому прошлому мультизагрузчиков нескольких операционных систем.
  13. Размер блока ввода-вывода. В UEFI при чтении используется особый размер блока EFI ввода-вывода, позволяющий читать по 1Мб данных (в BIOS ограничение – 64Кб).
  14. Безопасность. Якобы UEFI защищена от вредоносного кода этапа загрузки. Утверждается, что вредоносный код не может загрузить себя до загрузки операционной системы, перехватив тем самым управление. Это достигается и за счет подписывания всего подряд в самой прошивке, так и за счет существования безопасной процедуры загрузки под названием “Secure Boot”.
  15. Простота масштабирования функционала. Прошивка UEFI может легко расширяться - достаточно вставить поддерживаемый накопитель (к примеру USB-флешку). После этого с внешнего устройства можно подключить дополнительные драйверы, приложения UEFI. Если подумать, тем самым открываются прекрасные возможности расширения функционала, которые нельзя было получить с помощью традиционного BIOS, поскольку он был ограничен исключительно зашитым в ROM кодом. В UEFI же можно "подсунуть" драйвер новой железки непосредственно еще на стадии работы UEFI, то есть до начала загрузки операционной системы, и получить доступ к функционалу этого устройства.
  16. Код UEFI функционирует в 32-/64-битном режиме. Со всеми вытекающими.. преимуществами. Если быть уж совсем честным, то всё же UEFI использует реальный режим в самом начале для выполнения некоторых задач инициализации платформы, однако очень быстро уходит в защищенный/длинный режим.
  17. Поддержка альтернативных средств ввода. UEFI обеспечивает поддержку альтернативных средств ввода данных, таких как виртуальные клавиатуры и сенсорные дисплеи. Это достаточно актуально в нашу эпоху различных мобильных гаджетов.

Недостатки UEFI

А теперь хотелось бы осветить недостатки технологии UEFI:

  1. Усложнение архитектуры. Все преимущества EFI не являются настолько уж значимыми перед основным её недостатком - усложнением структуры кода. Значительное увеличение объема кода, его логическое усложнение никак не способствуют облегчению разработки, скорее даже наоборот. А ведь до и параллельно с UEFI, альтернативой устаревшей модели BIOS были открытые реализации, к примеру OpenBIOS, которые были отвергнуты.
  2. Secure Boot. Тут разработчики операционных систем решили сразу несколько проблем: частично проблему пиратства, исключив обход активации путем внедрения активаторов в этапы загрузки, проблему вредоносного кода (вирусов) стадии загрузки и проблему сохраняющих популярность устаревших операционных систем, с которых ну никак не хотят уходить пользователи:) В действительности вышло так, что в отдельных особенно умных устройствах, из-за наличия не отключаемой опции "Secure Boot", зачастую невозможно установить никаких ОС кроме систем линейки Windows версии 8+, поскольку сертифицированные загрузчики на данный момент имеют лишь последние. Согласитесь, смахивает на довольно топорный способ борьбы со скупыми пользователями и конкурентами, хотя сама Microsoft всячески отрицает подобную ситуацию. Одним словом, технология способна доставить массу неудобств, хорошо хоть у большинства вендоров эта опция (пока еще) отключается в настройках.
  3. Невозможность установки старых ОС (в некоторых случаях). Невозможно установить старые системы при отсутствии режима совместимости (CSM).
  4. Отступление от стандарта. Каждый производитель аппаратных компонентов по своему усмотрению модифицирует UEFI, тем самым создавая для пользователя дополнительные трудности, фактически возвращая нас в хаос BIOS? Например, на различных устройствах менеджер загрузки может быть реализован по-разному, при этом иметь достаточно существенные отступления от рекомендаций спецификации UEFI. На практике, иногда попадались забагованные UEFI, которые игнорировали параметры списка загрузки NVRAM и просто грузили код из \EFI\Microsoft\Boot\bootmgfw.efi или EFI/BOOT/bootx64.efi . Или менеджер загрузки в одних реализациях может содержать комбинированный список из MBR и GPT устройств, в других же разные списки загрузки, что вводит некоторую сумятицу.
  5. Внедрение средств контроля контента. Стандарт UEFI предусматривает наличие неких драйверов, которые будут перехватывать вызовы операционной системы, таким образом можно реализовать DRM (Digital Restrictions Management, технические средства защиты авторских прав). Суть алгоритма следующая: человеку, у которого все работает, предлагается за его же счет установить такое программное обеспечение или оборудование, чтобы часть функций в его работающих системах воспроизведения цифрового контента (компьютеры, мультимедиа-плееры и др.) более не работала привычным образом. Существуют небезосновательные опасения, что создание UEFI - это завуалированный способ введения в ПК нежелательных для конечного пользователя функций.
  6. Возможность внедрения нежелательных модулей. Невозможно гарантировать, что операционная система на 100% контролирует компьютер, если она загружается с помощью UEFI!

Алгоритм работы UEFI

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

  • Фаза SEC. (Security, Безопасность). Фаза безопасности. Все должно быть подписано и проверено иначе не будет запущено!
    • Очистка CPU кэша.
    • Запуск главной процедуры инициализации в ROM.
    • Переход в защищенный режим работы процессора.
    • Инициализируются MTRR (диапазонные регистры типа памяти) для BSP.
    • Запуск патчей микрокода для всех установленных процессоров.
    • Начальная работа с BSP/AP. BSP = Board Support Package. AP = Application Processor. Каждое ядро может быть представлено как BSP + AP. Всем AP рассылается IIPI (Init Inter-processor Interrupt), затем SIPI (Start-up Inter-processor Interrupt).
    • Передача данных и управления в фазу PEI.
  • Фаза PEI. (Pre-EFI Initialization, Пред-EFI Инициализация). Подготовка платформы (памяти и обнаруженных устройств) для главной процедуры инициализации системы в фазе DXE.
    • Перенос данных из ROM в кеш.
    • Инициализация CRTM (Core Root for Trust of Measurement). Это набор инструкций, который запускается платформой в ходе выполнения RTM-операций.
    • Загружается диспетчер PEI. Диспетчер загружает серию модулей (PEIM), которые варьируются в зависимости от платформы. Эти модули завершают оставшиеся задачи PEI. Стадия завершается, когда все модули загружены.
    • PEIM: Загружаются и запускаются модули инициализации процессоров. (пример: модуль кеша процессора, модуль выбора частоты процессора). Инициализируются процессоры.
    • PEIM: Встроенные интерфейсы платформы инициализируются (SMBus). Инициализируются MCH (Memory Controller Hub), ICH (I/O Controller Hub).
    • PEIM: инициализация памяти. Инициализация основной памяти и перенос в нее данных из кэша.
    • Проверка режима S3. Нет - передача управления в фазу DXE. Да - восстановление исходного состояния процессора и всех устройств и переход к ОС.
  • Фаза DXE. (Driver eXecution Environment, Среда загрузки драйверов). Загрузка компонентов этой фазы базируется на ресурсах, которые были инициализированы в фазе PEI. Фаза окончательной инициализации всех устройств. Запуск служб UEFI: Boot Services, Runtime Services и DXE Services.
    • Загружается ядро DXE. Создается инфраструктура DXE: создаются необходимые структуры данных, база данных хендлов. Включает основные интерфейсы DXE. Запускает ряд сервисов: сервисы этапа загрузки (Boot Services), сервисы этапа выпонения (Runtime Services), сервисы фазы DXE (DXE Services).
    • Запуск диспетчера DXE. Посредством переданного из PEI списка Hand-off Block структур (HOB list) определяет доступные Firmware Volume (FV, структурированная база данных исполняемых модулей DXE: драйверов и приложений) и ищет в них драйвера, запускает их, соблюдая зависимости. В этот момент производится активация остальных компонентов, причем одновременно нескольких. Диспетчер грузит все доступные драйвера со всех доступных носителей.
    • Загрузка драйвера SMM Init. Инициирует подфазу. SMM (System management mode) - один из привилегированных режимов исполнения кода x86-процессора, в котором процессор переключается на независимое адресное пространство, сохраняет контекст текущей задачи, затем выполняет необходимый код, затем возвращается в основной режим. Зачем нам SMM? А потому что в этом режиме можно сделать с системой все что угодно и не зависимо от ОС. Код SMM может исполняться и после окончания фазы DXE.
    • Запускается UEFI Boot Manager. Это происходит после запуска всех драйверов. Управление передается в фазу BDS.
  • Фаза BDS. (Boot Device Selection, Выбор устройства загрузки). Реализует политику загрузки платформы. Основная задача - подключить устройства, необходимые для загрузки, выбрать (вручную или автоматически) устройство загрузки и загрузиться с него. Зачастую выполняет рекурсивный поиск по всем доступным FV и пытается найти доступный для загрузки контент.
    • Инициализируются консольные устройства, описываемые переменными окружения ConOut (ConsoleOutHandle), ConIn (ConsoleInHandle), StdErr (StandardErrorHandle).
    • Загружаются UEFI-драйвера устройств, перечисленные в переменной окружения DriverOrder (содержащей опций Driver#### в порядке загрузки).
    • Загружается UEFI-приложение с устройства загрузки Boot#### . Списки устройств содержатся в переменной окружения BootOrder в порядке очередности загрузки.
    • Если не смогли выполнить что-либо из вышеперечисленного, то вызываем диспетчер DXE для проверки обеспечения зависимостей дополнительных драйверов с момента последнего вызова диспетчера. После чего управление опять возвращается в фазу BDS.

Алгоритм работы UEFI Boot Manager

Концепция загрузки UEFI существенно отличается от аналогичной в BIOS. Если вспомнить BIOS, то за загрузку там отвечал код начального загрузчика int 19h (bootstrap loader), задача которого состояла лишь в том, чтобы загрузить главную загрузочную запись (MBR) с устройства загрузки в память и передать ей управление. В UEFI всё несколько интереснее, она содержит свой собственный полноценный встроенный загрузчик, который носит название UEFI Boot Manager (Менеджер загрузки UEFI или просто Boot Manager), имеющий куда более богатый функционал.

UEFI Boot Manager - стандартный типовой модуль UEFI.

Boot Manager реализует довольно широкий набор функций, в число которых входит загрузка таких UEFI-образов, как: UEFI-загрузчиков ОС первой стадии, UEFI-драйверов, UEFI-приложений. Загрузка может производиться из любого UEFI-образа, размещенного на любой поддерживаемой UEFI файловой системе, располагающейся на любом поддерживаемом платформой физическом носителе информации. UEFI Boot Manager имеет свою собственную конфигурацию, параметры которой в виде ряда переменных располагаются в общей NVRAM (Non-volatile RAM).

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

Параметры UEFI хранятся в NVRAM в виде переменных, которые классически представлены парой "название параметра" = "значение". Эти переменные содержат большое количество параметров, которые относятся к разным функциональным частям UEFI, то есть, помимо параметров UEFI Boot Manager"а, NVRAM хранит и многие другие параметры UEFI. Однако, в контексте данной главы нас интересуют лишь переменные, относящиеся к UEFI Boot Manager. Это, в первую очередь, переменная BootOrder , которая указывает на переменные дескрипторов загрузки с именами Boot#### . Каждый элемент Boot#### представляет собой указатель на физическое устройство и (опционально) может описывать даже файл, представляющий собой образ UEFI, который должен с этого физического устройства грузиться.

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

Вот так, примерно, я представляю себе алгоритм перебора носителей в процессе работы UEFI:

Как мы видим, UEFI Boot Manager парсит BootOrder , то есть загружает путь устройства каждого элемента Boot#### в порядке, заданном в переменной BootOrder и пытается выполнить загрузку с указанного устройства. В случае ошибки менеджер загрузки переходит к следующему элементу. Кроме этого, формируется так называемый список загрузки. Этот список актуален для интерфейса настроек UEFI и выглядит как привычное стандартное меню загрузки (Boot Menu). UEFI Boot List формируется на основе переменной BootOrder и используется для внесения пользователем изменений в очередность и конфигурацию устройств загрузки.
А как же формируется сам BootOrder ? А очень просто, например в процессе установки операционной системы Windows, инсталлятор создает раздел ESP (в случае его отсутствия) на установочном диске, форматирует данный раздел в файловую систему FAT, затем помещает свой загрузчик (для Windows 7+ это файл bootmgfw.efi ) и некоторые другие файлы по пути \EFI\Microsoft\Boot\ . По окончании установки ОС, инсталлятор Windows создает переменную в EFI NVRAM с именем Boot#### (где #### - шестнадцатеричный номер), ссылающуюся на менеджер загрузки Windows с именем bootmgfw.efi . Затем, правит переменную BootOrder ?

Требования к загрузочным носителям UEFI

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

Требования для жестких дисков

Каждый загрузочный жесткий диск должен содержать специальный раздел EFI System Partition (ESP). В разделе ESP должна соблюдаться предопределенная стандартом иерархия директорий (структура): в корне раздела ESP должна размещаться директория /EFI . В папке /EFI , в свою очередь, должны располагаться подкаталоги вендоров операционных систем, производителей оборудования, общего инструментария и драйверов:

\EFI \<директория вендора ОС 1> <файл-загрузчик-ОС1>.efi \<директория вендора ОС 2> <файл-загрузчик-ОС2>.efi . . . \<директория вендора ОС N> <файл-загрузчик-ОСN>.efi \<директория производителя оборудования (OEM)> .efi \<директория BIOS вендора> <приложение-BIOS-вендора>.efi \<директория вендора стороннего ПО> <стороннее-приложение>.efi \BOOT BOOT{тип_архитектуры}.efi

\<директория вендора ОС 1>

<файл-загрузчик-ОС1>.efi

\<директория вендора ОС 2>

Реестре поддиректорий .

Вендоры, директории которых не описаны в поддиректории вендоров и которые не имеют собственных поддиректорий в папке /EFI , зачастую размещают свой загрузчик как "загрузчик по-умолчанию". К примеру, для x64 систем по пути: /EFI/Boot/bootx64.efi .

Файл загрузчика (boot loader) является типовым UEFI-приложением, имеет формат PE32+ и содержит код начальной стадии загрузки операционной системы, то есть начинает процесс загрузки ОС. Его цель - подготовить структуры данных, загрузить ядро ОС в память и передать ему управление.
В спецификации описана поддиректория /EFI/Boot . Данная поддиректория используется как расположение "по умолчанию", то есть в ситуации, когда по каким-либо причинам в NVRAM сбивается (не настроен) какой-либо загрузчик. Для подобного случая в данной директории располагается так называемый "загрузчик по-умолчанию" (fallback boot loader), который имеет стандартизованное наименование BOOT{тип_архитектуры}.efi

Некоторые старые реализации UEFI были "забагованы", они попросту игнорировали список загрузки в NVRAM и грузили напрямую модули либо /EFI/BOOT/bootx64.efi . Другие же, не менее "прямые" варианты UEFI не поддерживали меню загрузки и тоже всегда загружали /EFI/Boot/bootx64.efi либо /EFI/Microsoft/Boot/bootmgfw.efi в зависимости от своих таинственных предпочтений.

Загрузка в Legacy-режиме

UEFI не запускает никакого кода из классического MBR, вне зависимости от того, присутствует сектор на установленных в системе носителях или нет. Исключение составляют версии UEFI с реализацией поддержки "режима совместимости". В следствии этого, для традиционной (legacy) загрузки операционных систем, совместимых со стандартом разметки MBR, в UEFI предусмотрены специальные модули, которые могут быть (по усмотрению вендора) включены в прошивку. Узнать поддерживает ли конкретно Ваша UEFI-прошивка "режим совместимости" можно поискав в интерфейсе UEFI такие параметры как Legacy , Legacy CSM , Launch CSM , CSM Boot , CSM OS , Запуск CSM или CSM Support . Надо отметить что в подавляющем большинстве прошивок данный режим присутствует, что сильно упрощает жизнь пользователей, купивших новые ноутбуки или материнские платы, но так и не изменивших своих привычек в использовании "старых" операционных системам от MS:)
Логично предположить, что в случае наличие CSM модуля, код прошивки при загрузке в традиционном режиме должен максимально приближаться к аналогичным функциональным особенностям традиционных BIOS, попросту эмулируя ключевые технологии. Давайте посмотрим, какие действия производит модуль поддержки совместимости (CSM) UEFI при загрузке в традиционном режиме.
Приведу здесь пока лишь абстрактно-условный алгоритм загрузки в режиме Legacy/Compatibility Support Module (CSM):

  1. Требуется ли загрузка в традиционном (legacy) режиме? Если нет, то уходим на обычную цепочку UEFI Boot.
  2. Загружаем модуль Legacy Driver.
  3. Загружаем модуль Legacy BIOS.
  4. Требуется ли поддержка традиционных функций видео-BIOS (реализация функций прерывания int 10h)? Да - загружаем.
  5. Требуется ли поддержка остальных традиционных расширений BIOS (int 13h..)? Да - загружаем.
  6. Загружаем традиционную (legacy) ОС? Нет - уходим на нормальную загрузку UEFI.
  7. Формируем SMBIOS структуры.
  8. Формируем структуры Legacy Device.
  9. Формируем структуру прерывания int 15h, структуру BBS (BIOS Boot Specification) API.
  10. Формируем ACPI RSD PTR.
  11. Загружаем совместимый SMM код.
  12. Загружаем код из MBR и передаем ему управление.

Мультизагрузка в UEFI

С самого начала массового распространения персональных компьютеров, время от времени вставала задача развертывания нескольких операционных систем на одном ПК, в котором мог размещаться один или несколько физических носителей. Не так давно ситуацию существенно изменило открытие технологии виртуализации, но полностью проблему это не сняло. В классическом своём понимании, применительно к станциям, загружающимся по традиционному способу PC/AT BIOS с использованием классической разметки MBR, мультизагрузка представляла собой сторонний код в главном загрузочном секторе (MBR), который загружает так называемый менеджер загрузки (мультизагрузчик), хранящий настройки для каждой установленной на компьютере операционной системы и предоставляющий меню выбора загрузки той или иной ОС. Если говорить про наше время, то есть про мультизагрузку применительно к носителя, разбитым уже при помощи GPT разметки, то теперь многое изменилось. Как мы уже отмечали, UEFI напрямую умеет работать с GPT-дисками, поэтому задача по установке нескольких операционных систем существенно упрощается. Теперь все функции мультизагрузчика берет на себя встроенный UEFI Boot Manager, принципы функционирования которого мы описали выше. Инсталлятору ОС достаточно лишь сделать то, с чем он и так прекрасно справляется: разместить загрузчик на специальный раздел ESP в "свою" иерархию директорий, после чего этот загрузчик становится "видимым" в настройках UEFI. Помимо установщика ОС, теперь и сам пользователь при помощи настроек (графического/текстового интерфейса UEFI) может вручную добавить загрузчик, находящийся на любом подключенном и видимом системой физическом носителе. Все эти добавленные различными способами загрузчики становятся доступными через Меню загрузки, которое пользователь может настраивать/вызывать непосредственно во время работы UEFI, то есть на начальной стадии загрузки ПК. Другими словами, мультизагрузка в UEFI просто вопрос запуска UEFI-приложений (загрузчиков конкретных ОС), размещающихся на подключенных носителях на специальном разделе ESP в иерархии директорий с корнем в /EFI .



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: