Uefi bios что это


Отличия BIOS и UEFI

BIOS – хорошо известный термин в рядах владельцев компьютеров, который используется уже на протяжении многих лет. Осенью 2017 года Intel сообщила о своих планах полностью отказаться от BIOS на всех своих платформах до 2020 года. Вместо BIOS теперь будет использоваться только UEFI, что может навести многих на логичный вопрос: чем UEFI лучше BIOS и какая вообще между ними разница?

Чип BIOS на материнской плате Gigabyte.

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

Что такое BIOS

BIOS – это сокращенно “Basic Input-Out System” или "базовая система ввода-вывода". Она живет на специальном чипе внутри материнской платы (на фото выше) и не зависит от того, установлен ли в компьютер жесткий диск. При включении компьютера первым делом включается BIOS. Эта система ответственна за «пробуждение» хардверных компонентов вашего компьютера, проверку их нормального функционирования, активацию загрузчика и дальнейшего старта операционной системы.

Старый как мир BIOS.

Пользователь может настроить большое количество различных параметров внутри BIOS. Конфигурация компонентов, системное время, порядок загрузки и так далее. Зайти в BIOS можно при помощи специальной клавиши во время включения ПК. У разных компьютеров она может быть разной. К примеру, Esc, F2, F10 или Delete. Производитель сам решает, какую выбирать. После изменения настроек все параметры записываются в саму материнскую плату.

BIOS также отвечает за процесс под названием POST – “Power-On Self-Test или "проверка при включении". POST проверяет пригодность конфигурации компьютера и исправность хардверных компонентов. Если что-то идет не так, на экране отображается соответствующая ошибка или же компьютер начинает издавать ряд определенных звуков (также существует понятие POST-кодов и в некоторых материнских платах даже установлен соответствующий дисплей для их отображения). Интенсивность этих звуков зависит от типа ошибки, и чтобы их расшифровать, надо обратиться на сайт производителя или к руководству пользователя.

После завершения POST BIOS ищет Master Boot Record (MBR) или "главную загрузочную запись", которая сохранена на носителе компьютера. Затем инициализируется загрузчик (бутлоадер) и стартует операционная система. В BIOS также часто используется термин CMOS, что расшифровывается как «Complementary Metal-Oxide Semiconductor» или "вспомогательный металл-оксидный полупроводник". Это обозначение специальной памяти, которая питается от встроенной в материнскую плату батарейки. Память хранит в себе различные настройки BIOS и часто для сброса параметров БИОС советуют извлечь батарейку из материнской платы. В современных компьютерах на смену CMOS пришла флеш-память (EEPROM).

Почему BIOS устарел

BIOS – это очень старая система, которая существовала еще в 1980 году (а разработана была и того раньше), на момент запуска MS-DOS. Конечно, со временем BIOS развивалась и улучшалась, но концепция и основные принципы работы остались прежними. Развитие BIOS фактически нулевое, если сравнивать его с развитием компьютеров и технологий в целом.

Традиционный BIOS имеет много серьезных ограничений. К примеру, он может запустить систему только из раздела объемом не больше 2.1 Тб (максимум 4 раздела) или меньше. В современных реалиях пользователи покупают очень емкие накопители, объем которых часто превышает 4 и даже 8 Тб. BIOS не сможет работать с таковыми носителями. Это обусловлено тем, как работает MBR (главная загрузочная запись использует 32-битные элементы). Кроме того, BIOS работает в 16-битном режиме (так как был разработано еще в 70-х годах) и имеет всего лишь 1 Мб адресуемого пространства для операции. У BIOS также проблемы с инициализацией большого количества компонентов за раз, что приводит к замедленному старту компьютера.

BIOS нуждается в замене уже на протяжении большого периода времени. Intel начала разработку EFI (Extensible Firmware Interface) еще в 1998 году и Apple перешла на использование EFI в 2006 году, когда состоялся переход на архитектуру Intel. В 2007 году Intel, AMD, Microsoft и различные производители компьютеров одобрили спецификацию UEFI – "Unified Extensible Firmware Interface" или "объединенный расширяемый интерфейс встроенного программного обеспечения". Windows получила поддержку UEFI в Windows Vista SP1 и Windows 7. Сегодня почти все компьютеры используют UEFI вместо BIOS.

Чем UEFI лучше БИОС

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

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

Новый стандарт избавился от неприятных ограничений BIOS. Компьютер с UEFI может загружаться с накопителей объемом больше 2.2 Тб. Теоретически, максимальный объем носителя для UEFI составляет 9.4 Зтб (9.4 триллиона гигабайт). Это очень много. Вся суть в том, что UEFI использует схему GPT с 64-битными элементами..

UEFI запускается в 32 и 64-битном режимах, а также имеет больше памяти для работы. Это в свою очередь конвертируется в ускоренную загрузку процессора, и удобство использования. UEFI-системы зачастую имеют красивые интерфейсы с поддержкой ввода с мыши (на скриншоте выше). Есть также и ряд других преимуществ. К примеру, UEFI поддерживает Secure Boot. Это специальная процедура, которая проверяет загружаемую операционную систему и убеждается в том, что во время ее загрузки вредоносное или просто сторонеее программное обеспечение не будет вмешиваться. Также в UEFI есть поддержка различных сетевых функций, что полезно при решении технических проблем с компьютером. В традиционном BIOS пользователь должен иметь физический доступ к компьютеру, тогда как в UEFI есть возможность удаленного доступа для конфигурации.

В целом UEFI – это такая маленькая операционная система. Она может храниться на флеш-памяти материнской платы или же ее можно загрузить из жесткого / сетевого диска. Разные компьютеры с разными UEFI имеют не менее разные интерфейсы и возможности. Все зависит от предпочтений производителя вашего компьютера.

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

wp-seven.ru

О UEFI и BIOS - Настройка BIOS

 

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

Однако все несколько сложней...

  1. Код микропрограммы BIOS пишется на ассемблере и он выполняется в 16-битном режиме процессора, но часто совмещает и 16 битные и 32 битные команды. Адресуемая память ограничена 1 Мбайт.
  2. Код микропрограммы UEFI написан на C и выполняется в современном 64-битном режиме.

 

Но далее плюсы UEFI заканчиваются - проблемы при установки ОС, проблемы с Secure Boot UEFI как из-за сырых прошивок как и традиционного подхода корпорации Microsoft - использованием закрытого ключа.

Secure Boot

Secure Boot — это специальный механизм защиты от запуска не подписанного кода - т.е. защищает от подмены загрузчика (в случае с Microsoft – это еще и защита от не лицензионного использования ОС), но в силу ряда причин пользователи часто вынуждены его отключать или же даже по умолчанию он идет в отключенном режиме.

Но сама по себе опция SecureBoot достаточна важна, так как..

 

UEFI — это
  1. по факту самая настоящая операционная система, работающая на неограниченном уровне доступа к ресурсам "ring 0"
  2. имеет собственные драйверы, собственный сетевой стек, полный доступ к всей памяти, устройствам минуя традиционную операционную систему, т.е оборудованием типа RAID/USB/SATA/Ethernet-контролеров могут управляться драйверами UEFI.
  3. пока наиболее распространенная форма UEFI - это отдельный модуль стандартного BIOS, но уже встречаются материнские платы с в которых осуществлен вариант "наоборот".

Как пишет Интел: "UEFI заменяет стандартные решения BIOS и отличается более высокой гибкостью, быстродействием, эффективностью и отсутствием ограничений по размеру драйверов. Модуль поддержки совместимости (CSM) используется для загрузки старых операционных систем и взаимодействия со старым встроенным ПО."

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

     

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

    Например, пока вы используете legacy-загрузки из MBR или с внешних устройств - Compatibility Support Module полностью обойтись без традиционного БИОС в настоящее время не получиться.

     

    Если в БИОСе нет опции загрузки с USB -  флешка и uefi ?

    Необходимо в UEFI:

    1. в опции Secure Boot поставить Disable,
    2. в опции OS Mode Selection поставить Uefi and Legacy Boot.
    3. после этого появляется возможность загрузки с USB.

     

    Справочно - Расширяемый интерфейс прошивки

    Extensible Firmware Interface (EFI) (англ. Расширяемый интерфейс прошивки) — интерфейс между операционной системой и микропрограммами, управляющими низкоуровневыми функциями оборудования, его основное предназначение: корректно инициализировать оборудование при включении системы и передать управление загрузчику операционной системы. EFI предназначен для замены BIOS — интерфейса, который традиционно используется всеми IBM PC-совместимыми персональными компьютерами. Первая спецификация EFI была разработана Intel, позднее от первого названия (Загрузочная Инициатива Intel) отказались и последняя версия стандарта носит название Unified Extensible Firmware Interface (UEFI). В настоящее время разработкой UEFI занимается Unified EFI Forum.

    • Изначально UEFI поддерживали 64-разрядных ОС. Поддержка 32-двух разрядных операционных систем была включена в UEFI 2.0.
    • Интерфейс, определённый спецификацией EFI, включает таблицы данных, содержащие информацию о платформе, загрузочные и runtime-сервисы, которые доступны для загрузчика операционной системы (ОС) и самой ОС. Некоторые существующие расширения BIOS, типа ACPI и SMBIOS, также присутствуют в EFI, поскольку не требуют 16-разрядного runtime-интерфейса.
    • Менеджер загрузки EFI используется для выбора и загрузки ОС, исключая потребность в специализированном механизме загрузки (загрузчик ОС является приложением EFI).
    • EFI поддерживает графические меню и некоторые возможности, например, осуществленные Aptio или Great Wall UEFI
    • Спецификация EFI включает схему разметки дисков — Master boot record (MBR) и GUID Partition Table (GPT).
    • Расширения EFI могут быть загружены с любого энергонезависимого устройства хранения данных, присоединённого к компьютеру.
    • Прошивки UEFI предоставляет ряд технических преимуществ по сравнению с традиционной системой BIOS:
    1. Возможность загрузки с большими дисками (более 2 TiB ) с таблицей разделов GUID , GPT.
    2. CPU-независимый архитектура
    3. CPU-независимый драйверы
    4. Гибкая среда относительно ОС, в том числе возможность работы в сети
    5. Модульная конструкция

    http://ru.wikipedia.org/wiki/Extensible_Firmware_Interface

      UEFI загрузки

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

      Загрузчики операционных систем представляют собой класс из UEFI приложений. Как таковые, они хранятся в виде файлов на файловой системе , которые могут быть доступны прошивки под названием EFI системный раздел (ESP). UEFI определяет конкретную версию FAT. Поддерживаемые таблицы разделов включают схемы MBR и GPT , а также томов оптических дисков .

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

      Загрузчики также могут быть автоматически обнаружены в UEFI прошивками, чтобы позволить загрузку со съемного устройства. Автоматическое определение опирается на стандартизированной путь к файлу с загрузчиком операционной системы, в зависимости от фактической архитектуры для загрузки. Формат пути к файлу определяется как <EFI_SYSTEM_PARTITION>/BOOT/BOOT<MACHINE_TYPE_SHORT_NAME>.EFI , например /efi/BOOT/BOOTX64.EFI .

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

      Для обеспечения обратной совместимости, большинство UEFI реализации на ПК класса машин также поддерживают загрузку в стандартном режиме BIOS от МБР-разбитых на разделы дисков, через модуль совместимости поддержки (CSM), которая обеспечивает совместимость с BIOS. При таком сценарии, загрузка выполняется таким же образом, как в традиционных системах на основе BIOS, игнорируя таблицу разделов, опираясь на содержание в загрузочном секторе .

      BIOS загружающиеся с MBR -разбитых на разделы дисков обычно называют BIOS-MBR, независимо от его выполняется на UEFI или традиционные системы BIOS основе. В качестве примечания, загрузка системы устаревшие BIOS на основе из GPT дисков также можно, и это обычно называют BIOS-GPT.

      Несмотря на то, таблицы разделов MBR обязаны быть полностью поддерживается в пределах спецификации UEFI, некоторые UEFI прошивки сразу же переключается на BIOS на базе CSM загрузки в зависимости от типа таблицы разделов загрузочного диска, тем самым предотвращая UEFI загрузку должны быть выполнены из EFI Системные разделы на МБР-разбитых на разделы дисков. Такая схема обычно называется UEFI-MBR.

      Загрузка по сети

      UEFI спецификация включает в себя поддержку загрузки по сети через Preboot Execution Environment (PXE). Основополагающие сетевые протоколы включают Протокол Интернета (IPv4 и IPv6), протокол пользовательских дейтаграмм (UDP), протокол Dynamic Host Configuration (DHCP) и Упрощенный протокол передачи файлов (TFTP). 

      В комплект входит также поддержка загрузочных образов удаленно хранящиеся на сетях хранения данных (SAN), с интернет-интерфейс малых вычислительных систем (ISCSI) и Fibre Channel через Ethernet (FCoE), как поддерживаемых протоколов для доступа к сети.

      Защищенная загрузка

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


        Еще по настройке БИОС (БИОЗ) плат:

        www.nastrojkabios.ru

        UEFI - Унифицированный расширяемый микропрограммный интерфейс

        Спецификация 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.

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

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

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

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

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

        \EFI

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

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

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

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

            . . .

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

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

            \<директория производителя оборудования (OEM)>

                <OEM-приложение>.efi

            \<директория BIOS вендора>

                <приложение-BIOS-вендора>.efi

            \<директория вендора стороннего ПО>

                <стороннее-приложение>.efi

            \BOOT

                BOOT{тип_архитектуры}.efi

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

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

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

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

        Для переносных устройств структура несколько другая, абсолютно все загрузчики должны быть собраны в поддиректории "по умолчанию" с полным путем /EFI/Boot:

        \EFI \BOOT BOOT{тип_архитектуры}.efi

        \EFI

            \BOOT

                BOOT{тип_архитектуры}.efi

        Имя файла загрузчика по-умолчанию (fallback boot loader) должно соответствовать следующим требованиям:
        BOOT{тип_архитектуры}.efi, где имя загрузчика может быть следующим:

        Архитектура Имя файла Поле PE "MachineType"
        x86 (32-битная) BOOTIA32.EFI 0x14c
        x64 (64-битная) BOOTx64.EFI 0x8664
        Itanium BOOTIA64.EFI 0x200
        AArch42 BOOTARM.EFI 0x01c2
        AArch64 BOOTAA64.EFI 0xAA64

        Некоторые реализации UEFI были "забагованы", они некорректно обрабатывали (либо попросту игнорировали) значение глобальной переменной BootOrder, содержащей порядок вариантов запуска (load option entry) и всегда первым грузили модули /EFI/Microsoft/Boot/bootmgfw.efi либо /EFI/BOOT/bootx64.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.

        datadump.ru

        UEFI Platform Initialization / Habr

        В первой части этой статьи мы познакомились с форматом UEFI Capsule и Intel Flash Image. Осталось рассмотреть структуру и содержимое EFI Firmware Volume, но для понимания различий между модулями PEI и драйверами DXE начнем с процесса загрузки UEFI, а структуру EFI Firmware Volume отставим на вторую часть.

        UEFI Platform Initialization

        С высоты птичьего полета процесс загрузки UEFI выглядит так:

        Вообще говоря, нас интересует не весь это процесс, а его часть — Platform Initialization (PI), которая делится на 3 фазы: SEC, PEI и DXE.
        Всю документацию по PI можно свободно загрузить с сайта UEFI Forum. Фазы SEC и PEI описаны в Volume 1, фаза DXE — в Volume 2, общие архитектурные элементы, в том числе интересующие нас форматы файлов и заголовков EFI FFS — в Volume 3, субфаза SMM (стартует в середине DXE и идет параллельно) — в Volume 4, стандарты на совместимое с PI оборудование и ПО — в Volume 5. Про оборудование и ПО здесь я писать не стану, а вот остальные фазы нужно упомянуть, т.к. не зная их, сложно понять, зачем в файле BIOS'а столько всего и чем это всё отличается друг от друга.
        Фаза SEC

        Первая фаза загрузки, задачи которой следующие:
        1. Обработать все виды platform restart'ов: включение питания после неактивного состояния, перезагрузка из активного состояния, выход из режима глубокого сна, различного рода исключительные ситуации
        2. Подготовить временную память
        3. Стать Root of Trust системы: или доверять остальным частям PI, или проверить их валидность каким-либо способом
        4. Подготовить необходимые структуры данных и передать их и управление в фазу PEI. Как минимум, передаются состояние платформы, адрес и размер BFV, адрес и размер временной RAM, адрес и размер стека

        По факту, на x86-64 фаза SEC проходит так:
        1. Reset Vector: сброс кэша и переход на главную процедуру иницилизации в ROM
        2. Switch to protected mode: переключение в защищенный режим процессора с плоской памятью без подкачки
        3. Initialize MTRRs for BSP: запись в кэш известных значений для различных областей памяти
        4. Microcode Patch Update: обновление микрокода всех доступных процессоров
        5. Initialize NEM: свободный кэш помечается как несбрасываемый, после чего его можно использовать как временную RAM до инициализации основной, а также позволяет написать эту самую инициализацию на обычных ЯП со стеком, в данном случае на C
        6. Early BSP/AP interactions: отправка всем AP прерывания INIT IPI, затем Start-up IPI, получение данных BIST со всех AP
        7. Hand-off to PEI entry point: передача управления и данных в фазу PEI

        Видно, что в участникам фазы SEC из образа BIOS понадобятся как минимум хранящиеся там патчи для микрокода CPU, а также адрес и размер Boot Firmware Volume. Да и сам код SEC записан в той же микросхеме и пока еще выполняется там же.
        Фаза PEI

        Вторая фаза, основная задача которой — инициализировать достаточное количество непрерывной RAM для того, чтобы можно было запустить фазу DXE, подготовить и передать в фазу DXE данные об обнаруженных устройствах, чтобы драйверы DXE смогли их правильно инициализировать. Исполняемый код PEI состоит из ядра, называемого PEI Foundation, которое является общим для процессоров с одинаковой архитектурой и модулей PEIM, выполняющих начальную инициализацию конкретных устройств и разработанные производителями этих устройств. Модули поддержки Chain of Trust, выполняющие проверку валидности других модулей, также могут присутствовать. Архитектура PEI позволяет независимую разработку и отладку модулей, и никто не мешает написать и интегрировать свой собственный модуль, если понадобится.
        У PEIM может присутствовать список зависимостей от других модулей, поэтому порядок их запуска не случаен и выбирается диспетчером PEI. Модули PEIM могут заполнять независимые от позиции структуры данных — HOB'ы, в которых содержатся данные для передачи драйверу DXE и GUID этого драйвера.
        По факту, на x86-64 фаза PEI происходит так:
        1. Establish use of «memory»: перенос данных из ROM в раннюю RAM (т.е. в кэш)
        2. PEI Dispatcher: запуск модулей PEIM в порядке от не имеющих зависимостей до имеющих сложные зависимости. Это цикл, который заканчивается в момент, когда не запущенных модулей не остается
        3. CPI PEIM: инициализация CPU, настройка MSR и т.п. (Мы вернемся к этому модулю при обсуждении патча CPU PM)
        4. Platform PEIM: ранняя инициализация MCH, ICH, встроенных интерфейсов платформы (SMBus, Reset, и т.п.). Определение режима загрузки (обычный, Recovery, S3 Resume), используя данные, полученные в фазе SEC.
        5. Memory Initialization PEIM: инициализация основной RAM и перенос в нее данных из кэша, которым теперь можно пользоваться нормально. процесс зависит от определенного на предыдущем шаге состояния системы, например, при S3 Resume тестирование памяти не выполняется, что сокращает время загрузки
        6. Если система не находится в S3 Resume, то происходит передача HOB'ов и управления в фазу DXE, а фаза PEI на этом завершается
        7. Если все же находится — выполняется CPU PEIM for S3 Boot Script, выполняющий возврат всех процессоров в их сохраненное состояние
        8. S3 Boot Script Executor: восстановление состояния других устройств
        9. OS Resume Vector: переход к ОС

        Таким образом, при S3 Resume запуск фазы DXE не происходит вообще, что позволяет сильно ускорить загрузку. При включении FastBoot загрузку можно ускорить еще сильнее, выполняя минимальный набор тестов и модулей PEIM.
        Видно, что в фазе PEI из образа BIOS нужны будут как минимум PEI Foundation и модули для всего оборудования, нуждающегося в ранней инициализации. Также стоит рассказать о том, что формат модулей PEI может как совпадать с форматом драйверов DXE (PE32+), так и отличаться от него заголовком, т.к. заголовок PE32+ содержит множество неиспользуемых в фазе PEI полей, а место в кэше процессора не резиновое. Поэтому для PEIM был разработан специальный формат TE, заголовок которого содержит только необходимые поля. TE бывают исполняемые-на-месте (XIP), перемещаемые (relocatable) и независимые от позиции (PIC). Также встречаются гибридные DXE/PEI-модули с двумя точками входа, но они обязаны быть в формате PE32+, поскольку иначе как драйвер DXE такой модуль не запустится.
        Фаза DXE

        Здесь выполняется основная и окончательная инициализация всего на основе полученных от PEI HOB'ов. Код DXE состоит из ядра, оно же DXE Foundation, диспетчера и драйверов. Ядро инициализирует и запускает различные службы UEFI: Boot Services, Runtime Services и DXE Services. Диспетчер отвечает за поиск и запуск DXE-драйверов, которые также имеют зависимости. Драйверы проводят окончательную инициализацию аппаратуры и предоставляют аппаратную абстракцию для служб. Весь код DXE, кроме Runtime-частей Foundation и Runtime DXE драйверов выгружается из памяти по окончанию фазы BDS, которую я здесь рассматривать не буду.
        Расписывать досконально процесс запуска DXE тоже нет смысла, можно описать его в двух словах: загружается ядро, создает нужные структуры данных, затем запускается диспетчер и грузит все доступные драйверы со всех доступных носителей, затем запускается бутлоадер и пытается найти на этих носителях загрузчик ОС и передать ему управление. Если нашелся — отлично, если нет — пробуем дальше, пока не найдем. Если так ничего и не нашли — выполняем код модуля Platform Policy, который для нас написал производитель материнской платы, выводящий нам сообщение о том, что «Operating System is missing».
        Видно, что из образа BIOS'а для этой фазы нужны DXE-драйверы и все, что им может понадобится. Большая часть файлов в EFI FS используется именно здесь.
        Cубфаза SMM

        Во время фазы DXE наступает момент, когда диспетчер загружает драйвер SMM Init, с которого и начинается эта субфаза. SMM — специальный режим процессора, в который он переходит при получении специального прерывания — SMI, которое может быть как программным, так и аппаратным. Большую часть (или вообще все) источников SMI можно отключить, если переход в SMM не требуется. Код SMM выполняется в SMRAM, которая становится недоступной для ОС после окончания фазы DXE, поскольку драйвер SMM намеренно закрывает к ней доступ. Код SMM выполняется и после окончания фазы DXE, до самого выключения ПК.
        Драйвер SMM Init открывает SMRAM, создает ее карту и структуры данных, необходимые для запуска других драйверов SMM, а перед окончанием фазы DXE закрывает доступ к SMRAM полностью. Драйверы SMM зависят от оборудования и не имеют доступа к интерпретатору байткода, поэтому написание драйверов SMM на EBC не поддерживается. Бывают эти самые драйверы двух видов: чистые SMM, которые загружаются Init-ом непосредственно в SMRAM, и SMM/DXE-гибриды, которые сначала запускаются диспетчером DXE, а потом уже копируют часть себя в SMRAM. Сам SMM Init — именно такой гибрид.
        Видно, что для этой субфазы из образа BIOS'а нужны драйверы SMM.
        Заключение

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

        1. Analysis of the building blocks and attack vectors associated with the Unified Extensible Firmware Interface (UEFI), Paper by Jean-François Agneessens
        2. Reducing Platform Boot Time, Paper by Michael Rothman, Genliu Xing, Yan Wang and Jiong Gong
        3. UEFI Platform Initialization Specification 1.2.1 Errata A, Documents by UEFI Forum

        habr.com

        BIOS — EFI, UEFI. Что такое UEFI?

        BIOS — EFI, UEFI. Что такое UEFI?

        Cистема UEFI –это комплекс спецификаций, появившийся как «загрузочная инициатива Интел» (Intel Boot Initiative) в очень далеком 1998 году. Причиной рождения инициативы послужило то, что ограничения, обусловленные BIOS, стали ощутимо тормозить прогресс вычислительных систем на основе новейших в ту пору интеловских 64-х разрядных процессоров Itanium для серверов. Несколько позже эта же инициатива стала называться EFI, а в 2005 году корпорация «подарила» свою разработку специально созданному под нее консорциуму UEFI Forum, главными членами которого стали помимо Intel такие зубры IT-индустрии, как AMD, Apple, IBM, Microsoft и ряд других, и EFI превратился в UEFI .

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

        Полностью построенная на основе программного кода, UEFI действительно стала объединенной кросс-платформенной системой. Уже сегодня спецификации UEFI предусмотрены в работе почти любой комбинации чипов с 32- и 64-битной архитектурой, выпускаемых AMD, Intel и многочисленными лицензиатами ARM. Единственное, что требуется для обеспечения этой универсальности, это скомпилировать исходный код под требования каждой конкретной платформы.

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

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

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

        Некоторые из преимуществ UEFI:

        1. Поддержка дисков объемом более 2,2 Тбайт.

        UEFI использует таблицу разделов GPT (GUID Partition Table), которая использует глобальные уникальные идентификаторы адреса разделов и позволяет загрузку с жесткого диска такого размера, как 9,4 ZB (зетабайт). Терабайт составляет 1024 Гб, а зетабайт равен 1024x1024x1024 Гб. Что такое GPT? GPT — новый стандарт формата таблиц разделов на жестком диске (128 разделов). Он является частью интерфейса EFI. EFI использует GPT там, где BIOS использует таблицу разделов MBR. Поддержка современных драйверов устройств с 64-разрядным встроенным ПО, которые система может использовать для привлечения более 17,2 миллиарда гигабайт памяти во время запуска.

        2. Также EFI позволяет больше вариантов загрузки, не предписывает особые файловые системы и имеет превосходные способности к загрузке сети.

        3. Повышение безопасности при защите процессов, происходящих перед запуском или загрузкой, от атак bootkit. Что такое Secure Boot? Спецификация Secure Boot разработана Microsoft в рамках проекта UEFI и позволяет защитить загрузочную среду от вмешательства в загрузочные файлы путем контроля подписей загружаемых файлов на предмет их соответствия белому списку ключей, зашитых в uefi как доверенные. "Побочным эффектом" такой защиты от руткитов является невозможность установки ОС, отличной от Windows 8 (на данный момент только она поддерживает Secure Boot), а также исключает возможность запуска с старых mbr дисков и загрузочных CD-дисков/флешек.

        4. Уменьшение времени загрузки или восстановления после гибернации.

        С момента включения в сеть и до полной загрузки Windows пройдет примерно 30-60 секунд, или даже больше, а вот с UEFI загрузка происходит намного быстрее, сейчас уже достигнут рекорд — 2 секунды.

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

        6. Простое управление.

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

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

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

        Если разобраться, то UEFI сама по себе является операционной системой, она чем-то похожа на DOS, потому что выполняет текстовые команды. Она может помочь разобраться в причинах отказа загрузки основной Операционной Системы, если такое произошло, но работать в ней могут только опытные пользователи.

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

        al-tm.ru

        UEFI Capsule и Intel Flash Image / Habr

        Выпуск материнских плат на чипсетах Intel шестой серии (P67 и его братьях) принес на массовый рынок ПК новый вариант BIOS — UEFI. В этой статье мы поговорим об устройстве файлов UEFI Capsule и Intel Flash Image.
        Структура EFI Firmware Volume и полезные в хозяйстве патчи будут описаны во второй части.

        UEFI Capsule

        В качестве примера файла UEFI Capsule возьмем образ BIOS для ASUS P8Z77-V версии 2003.
        Это типичный представитель семейства AMI Aptio4 UEFI с несколькими расширениями ASUS, не сильно влияющими на его формат. В качестве примера он взят потому, что в нем присутствуют все составляющие файла UEFI Capsule, о которых я хотел бы рассказать сегодня.

        Для работы с этим файлом в первой части статьи нам понадобятся:

        • Hex-редактор на ваш вкус, я буду использовать HxD
        • Утилита Intel Flash Image Tool подходящей версии, для чипсетов 7 серии — это версия 8.xx

        Распаковав архив, получаем файл размером 0х800800 байт с расширением CAP.
        Это файл UEFI Capsule, формат которого был описан AMI на одной из конференций UEFI Plugfest и выглядит так:

        Открываем файл hex-редактором и проверяем его на соответствие этому формату, в нашем случае заголовок выглядит так:

        Размер заголовка действительно 0x0000001C, общий размер файла действительно 0x00800800, начало образа FFS действительно находится по смещению 0x800 — сомнений не остается.
        Сразу же возникает соблазн разобраться досконально, как именно устроены блоки FW Certificate и OEM Header, но это не нужно. Закрытого ключа ASUS у нас пока нет, а без него подписать модифицированный файл невозможно, даже зная формат блока FW Certificate, а взламывать RSA2048 и SHA256 — дело гиблое.
        На самом деле, формат этот в секрете никто и не держит, он описывается знакомой знатокам PE32+ структурой WIN_CERTIFICATE, описание которой можно найти, например, здесь, но в нашем случае это все не важно.
        Ни одного байта из этого двухкилобайтного заголовка в микросхему BIOS'а не попадает, и используется этот заголовок только для проверки валидности файла перед прошивкой стандартными утилитами ASUS. При прошивке аппаратным программатором, а также низкоуровневыми утилитами вроде Intel Flash Programming Tool или flashrom этот заголовок нужно просто удалить.
        Более того, микроконтроллер, осуществляющий прошивку по технологии UBF, хоть и проверяет наличие этого заголовка, но не проверяет при этом сертификаты и прошивает модифицированные файлы ничуть не хуже оригинальных.
        Поэтому, если для прошивки не будет использоваться UBF, смело отрезаем 0x800 байт заголовка и сохраняем получившийся файл с расширением ROM.
        Если в файле вашего BIOS'а заголовка UEFI Capsule не оказалось, значит он либо достаточно старый, например для платы на P67 или Z68, либо производитель не пожелал его использовать, несмотря на настойчивые рекомендации Intel. Считайте, что производитель уже удалил его за вас и читайте дальше.

        А дальше могут быть несколько вариантов.
        Если у вас десктопная плата на Intel, как в нашем примере, то получившийся файл будет состоять из нескольких регионов: дескриптора, региона GbE при наличии встроенной сетевой карты Intel, региона ME и региона BIOS.
        Если у вас десктопная плата или ноутбук на AMD, то из всего вышеперечисленного остается только регион BIOS.
        Если у вас ноутбук на Intel, то в файле BIOS'а, который вы можете скачать с сайта производителя и использовать для обновления, содержатся чаще всего образ только региона BIOS и прошивка для EC, хранящаяся обычно в отдельной микросхеме flash. Сам файл может быть при этом достаточно хитро структурирован или зашифрован, но при этом в микросхеме BIOS он хранится в том же виде, что и на десктопных платах, поэтому все эксперименты лучше проводить не с файлом обновления, а с дампом уже имеющегося BIOS'а, который можно снять при помощи FPT.

        Intel Flash Image

        AMD'шники могут смело пропустить весь текст ниже и читать вторую часть этой статьи, а мы продолжаем разбирать получившийся файл ROM.
        Intel рассказывает о структуре своих BIOS'ов на страницах даташита на соответствующие чипсеты. Для всех чипсетов, начиная с 6 серии, этот формат в общем не менялся, поэтому его можно смело взять оттуда. Файл делится на 3-5 регионов:

        Необязательными являются регионы GbE (используется совместно с встроенными сетевыми картами Intel начального уровня) и PDR (предназначен для данных OEM, но я ни разу не видел, чтобы он где-то использовался).
        Descriptor

        Этот регион должен находится в первой (из двух поддерживаемых) микросхеме flash по нулевому адресу и подразделяется на 11 секций, суммарный размер которых не должен превышать 4 килобайта. Устроен он так:

        Первые 16 байт не используются и всегда равны 0xFF, за ними следует сигнатура 0x0FF0A55A, затем секция Descriptor Map, указывающая смещение начальных пяти секций и их размер.
        Секция Component содержит информацию об используемых микросхемах flash: их количество (1 или 2), плотность (от 512 Кб до 16 Мб), запрещенные команды (такие как chip erase, например) и частоты чтения, быстрого чтения и стирания/записи.
        Секция Region содержит смещения и размеры других регионов.
        Секция Master содержит настройки доступа каждого из трех возможных мастеров (BIOS, ME, GbE) к пяти возможным регионам.
        Секции PCH/PROC Straps содержат параметры конфигурации процессора и северного моста.
        Секция Upper Map содержит смещение и размер таблицы VSCC.
        Таблица VSCC содержит идентификаторы JEDEC и данные VSCC всех поддерживаемых Management Engine микросхем flash.
        Секция OEM может быть заполнена OEM-производителями по своему усмотрению, но я не видел её заполнения ни разу.

        Проверим теперь структуру полученного нами файла ROM на соответствие вышеприведенной:

        Легко видно, что структура вполне себе соответствует, но угадать, за что именно отвечает каждый байт каждой секции будет непросто.
        К счастью, Intel избавил нас от угадывания, выпустив утилиту FITC, которая позволяет настроить дескриптор (и не только его) и содержит подсказки по каждому доступному для редактирования пункту. Утилита эта входит в набор для разработчиков материнских плат и не предназначена для конечных пользователей, но ссылку на нее всегда можно найти на форумах, посвященных модификации BIOS'ов.
        Открываем наш файл ROM в FITC 8.xx и все настройки дескриптора как на ладони:

        Я крайне не рекомендую ничего менять, кто не знает, зачем он это делает.
        Самыми часто изменяемыми настройками здесь являются настройки доступа к регионам (выделены зеленым на скриншоте hex-редактора), которые в дикой природе встречаются двух видов: вышеприведенные «всем можно всё» и стандартные настройки Intel. Иногда открытость записи в регион МЕ помогает справится с нарушением его работоспособности, просто перезаписав его полностью. На платах со стандартными настройками это невозможно без получения доступа к МЕ, которое на разных платах реализовано по разному и может потребовать достаточно нетривиальных манипуляций (замыкания ног аудиочипа во время загрузки, например).
        Обратная сторона открытости — вредоносный код может делать что угодно с дескриптором и всем остальным содержимым микросхемы BIOS. Почему-то об этом говорить не принято, при том, что абсолютно все платы ASUS на P67 с BIOS'ам версий 3ххх и все платы ASUS на Z68 имеют открытый дескриптор. И security никакая, и с obscurity проблемы, о чем инженеры думали — не знаю.
        Вторая полезная настройка — плотность микросхемы BIOS, которую приходится менять в случае восстановления испорченного BIOS'а платы с микросхемой большого объема, используя работоспособную плату с микросхемой меньшего.

        GbE

        Присутствует только на платах со встроенными сетевыми картами Intel начального уровня, вроде 82579.
        В даташите на этот чип в разделе 10 имеется описание структуры NVM, которая и хранится в регионе GbE целиком.
        Главная настройка, которую может быть интересно изменить — MAC-адрес, находящийся в самом начале региона, в первых 6 байтах. Если вдруг вам нужно сменить аппаратный MAC своей встроенной карты Intel, и регион GbE на вашей плате имеется — вы знаете что делать.
        В нашем примере регион GbE находится по смещению 0x1000 от начала и содержит стандартный MAC для всех образов NVM, выпускаемых Intel в качестве обновления — 88:88:88:88:87:88:

        При прошивке стандартными средствами регион GbE не обновляется вообще, несмотря на присутствие обновленного NVM в файле с обновлением BIOS'а, поэтому Intel пришлось выпустить отдельную утилиту NVM Update, когда в результате ошибки в версии 1.3 карта переставала работать нормально после установки Windows 8.
        Регион содержит кучу других настроек, о которых можно прочесть в указанном выше даташите.
        ME

        Здесь находится Management Engine Firmware и ее настройки. Про ME можно писать бесконечно, потому что там чего только нет. Лучшее описание структуры этого региона и возможных векторов атаки на него вы можете прочесть в докладе Игоря Скочински на Breakpoint 2012.
        Для тех, кто еще не ушел читать его — краткая выжимка:
        В чипсетах Intel имеется микроконтролер с архитектурой ARCompact, получающий питание от дежурной линии ATX, имеющий доступ ко всем устройствам, к RAM, собственный сетевой стек и работающий под управлением ОСРВ ThreadX. Вот он то и обеспечивает все рекламируемые Intel технологии, вроде Active Management, AntiTheft, Identity Protection, Rapid Start, Smart Connect, Protected Audio Video Path и так далее и тому подобное. А при помощи Dynamic Application Loader на нем можно даже Java-апплеты запускать.
        На наше счастье, с безопасностью МЕ все более или менее в порядке, и пока я не слышал о случаях успешного внедрения вредоносного кода, но само по себе наличие в чипсете МК, исполняющего неизвестные никому, кроме Intel, программы и имеющего полный доступ к RAM и сети — уже повод для паранойи у склонных к ней людей.
        Изменить доступные настройки МЕ можно при помощи той же Intel FITC:

        В нашем примере регион ME начинается со смещения 0x3000 и имеет размер 1,5 Мб, что указывает на плату без поддержки AMT.
        BIOS

        Регион состоит из одного или нескольких EFI Firmware Volume, о структуре которых я напишу во второй части этой статьи.
        Там же мы затронем процесс загрузки UEFI и полезные в некоторых случаях патчи.
        Platform Data Region

        Регион предназначен для описания каких-либо зависящих от платформы возможностей и по плану должен использоваться OEM-производителями, но по факту я не видел его ни разу.
        Источники информации

        1. Secure Firmware Update, UEFI Plugfest presentation by Zachary Bobroff (AMI)
        2. Intel 6 Series Chipset and Intel C200 Series Chipset Datasheet
        3. Intel 82579 Gigabit Ethernet PHY Datasheet
        4. Rootkit in your laptop, Breakpoint 2012 presentation by Igor Skochinsky (Hex-Rays)

        P.S.

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

        habr.com

        Противостояние UEFI BIOS и традиционного БИОС-а(Legacy BIOS)

        Технология UEFI (Unified Extensible Firmware Interface), как и BIOS, представляет собой интерфейс встроенного ПО компьютера, и обеспечивает связь между ним и операционной системой. Как и БИОС, интерфейс UEFI (также упоминающийся в русскоязычной компьютерной публицистике как УЕФИ) используется для инициализации аппаратных компонентов компьютера и запуска операционной системы, хранящейся на жестком  диске.

        Схема позиционирования UEFI в обобщенной структуре взаимодействия компонентов ПК.

        Содержание статьи

        В чем же состоят отличия UEFI BIOS от традиционного BIOS?

        BIOS считывает информацию с первого сектора жесткого диска, где содержится главная загрузочная запись (MBR) и выбирает загрузочное устройство, где находится операционная система. Поскольку BIOS – это очень старая система, работающая с середины 1970-х гг, то она до сих пор работает в 16-битном режиме. Это обстоятельство ограничивает количество информации, которое может быть прочитано из системной ROM (постоянной памяти компьютера).

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

        Процесс загрузки компьютера на основе UEFI и эмуляции традиционной Legacy BIOS

        УЕФИ в перспективе предназначена для полной замены BIOS и предлагает много новых функций и улучшений, которые не могут быть реализованы в BIOS:

        1. Отсутствие ограничений объема разделов и их количества. Для хранения информации о жестком диске БИОС использует главную загрузочную запись (MBR), в то время как UEFI – так называемую GPT (GUID partition table). Основная разница между ними состоит в том, что MBR использует 32-битные элементы, что позволяет системе иметь лишь 4 физических раздела диска, а каждый раздел может быть размером не более 2 терабайт. Что же касается GPT, то она имеет 64-битные элементы, что позволяет системе иметь до 128 разделов размером до зеттабайта (1021 байт).
        2. Скорость и производительность. Поскольку технология УЕФИ не зависит от конкретной платформы, то она способна уменьшить время загрузки и увеличить скорость работы компьютера, особенно в том случае, если в системе установлены объемные жесткие диски.
        3. Безопасность. Самым большим преимуществом UEFI по сравнению с БИОС является безопасность. Она реализуется при помощи технологии Secure Boot (безопасный запуск), поддерживаемой операционной системой Windows 8. Поскольку Secure Boot имеет возможность запрашивать цифровую подпись у загрузочных программ, то интерфейс UEFI позволяет использовать во время загрузки только аутентифицированные драйверы и службы. Secure Boot контролирует процесс загрузки до тех пор, пока операционная система полностью не загружена. Это дает гарантию того, что во время загрузки в компьютер не проникнет вредоносное ПО.
        4. Обратная совместимость. Для обратной совместимости большинство реализаций УЕФИ на компьютерах архитектуры PC также поддерживают режим Legacy BIOS для дисков с MBR. Для этого в UEFI существует функция CSM (Compatibility Support Module, модуль поддержки совместимости). В случае диска с MBR загрузка производится в том же режиме, что и в системах на основе BIOS. Также возможна загрузка систем на основе BIOS с дисков, имеющих GPT.
        5. Поддержка сетевой загрузки. УЕФИ может осуществлять загрузку через сеть при помощи технологии Preboot eXecution Environment (PXE). Эта технология поддерживает основные сетевые протоколы, такие, как IPv4 и IPv6, UDP, DHCP и TFTP. Также поддерживается загрузка с загрузочных образов, хранящихся в сетевых хранилищах данных.
        6. Менеджер загрузки.В стандарте UEFI менеджер загрузки определяется как инструмент, предназначенный для загрузки операционной системы и всех необходимых драйверов. Загрузчики операционной системы хранятся в файлах, к которым может осуществляться доступ со стороны встроенного ПО. УЕФИ поддерживает файловые системы FAT32, а также FAT16 и FAT12 для съемных носителей. UEFI не зависит от загрузочных секторов, хотя ESP отводит для них место в целях обратной совместимости. Загрузчики автоматически определяются программным обеспечением UEFI, что позволяет осуществлять загрузку со съемных носителей.

        История возникновения технологии

        Технология EFI BIOS изначально была разработана компанией Intel. Сейчас стандарт UEFI разрабатывается организацией UEFI Forum.

        Первоначальной мотивацией для разработки EFI были ограничения BIOS, такие, как 16-битный процессорный режим, 1 МБ адресуемого пространства памяти, что было неприемлемо для серьезных серверных платформ, таких, как Itanium. Попытка устранить эти проблемы в 1998 г. первоначально получила название Intel Boot Initiative, а затем была  переименована в EFI.

        В 2005 году Intel приостановила развитие стандарта EFI на версии 1.10 и передала его Unified EFI Forum, которая развила стандарт в версию UEFI. При этом владельцем исходного стандарта EFI BIOS продолжает оставаться Intel, выдающая лицензии на продукты, основанные на технологии  EFI. Версия UEFI 2.1 была выпущена в январе 2007 г. В ней были добавлены возможности шифрования данных, сетевой аутентификации и технология User Interface Architecture. Текущая версия стандарта UEFI 2.4 была принята в июле 2013г.

        Критика УЕФИ

        В адрес УЕФИ порой высказывается критика, в частности со стороны поборников информационных прав. Например, компьютерный эксперт Рональд Г. Миних, один из разработчиков альтернативной открытой технологии загрузки Coreboot, осуждает EFI как попытку ограничить возможность пользователя полностью контролировать свой компьютер. Кроме того, он считает, что эта технология не решает ни одной из застарелых проблем традиционного BIOS, в частности,  потребности в двух драйверах – одного для встроенного ПО, другого – для операционной системы.

        Заключение

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

        Порекомендуйте Друзьям статью:

        biosgid.ru

        что это? Загрузка, установка, преимущества, особенности настройки :: SYL.ru

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

        UEFI: что это такое?

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

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

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

        Основные отличия UEFI от BIOS

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

        Самое первое отличие состоит в том, что первичные системы ввода/вывода BIOS не позволяют корректно работать с жесткими дисками, объем которых составляет 2 Тб и более, что состоит в том, что система не имеет возможности полноценного использования дискового пространства.

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

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

        Немного истории

        Такова система UEFI. Что это такое, уже немного понятно. Теперь посмотрим, с чего же все начиналось. Ошибочно считать, что UEFI является относительно недавней разработкой.

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

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

        Система безопасности UEFI

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

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

        Чем UEFI лучше BIOS?

        То, что UEFI по своим возможностям превосходит BIOS, отмечается всеми специалистами. Дело в том, что новая разработка позволяет решать некоторые задачи даже без загрузки операционной системы, старт которой, кстати, при установленном оптимальном режиме работы основных «железных» компонентов вроде процессора или оперативной памяти, происходит намного быстрее. По некоторым данным, та же Windows 8 загружается в течение 10 секунд (правда, показатель этот является явно условным, поскольку нужно учитывать общую конфигурацию оборудования).

        Однако поддержка UEFI имеет и ряд неоспоримых преимуществ, среди которых можно выделить следующие:

        • простой интуитивно понятный интерфейс;
        • поддержка региональных языков и управления мышью;
        • работа с дисками 2 Тб и выше;
        • более быстрая загрузка операционной системы;
        • наличие собственного загрузчика;
        • возможность работы на базе процессоров с архитектурой x86, x64 и ARM;
        • возможность подключения к локальным и виртуальным сетям с доступом в интернет;
        • наличие собственной системы защиты от проникновения вредоносных кодов и вирусов;
        • упрощенное обновление.

        Поддерживаемые операционные системы

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

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

        Особенности режима загрузки Secure Boot

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

        Когда для операционной системы производится повторная установка через UEFI, проблем не будет при условии, что инсталлируемая система приближена к оригиналу установленной ранее по максимуму. В противном случае (что не редкость) может быть выдан запрет на установку. Однако и тут выход есть, поскольку сам режим Secure Boot можно отключить в настройках. Об этом будет сказано отдельно.

        Нюансы доступа и настройки UEFI

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

        В принципе, для большинства компьютеров и ноутбуков с поддержкой UEFI можно использовать универсальное решение – нажатие клавиши Esc при входе в систему. Если такой вариант не срабатывает, можно воспользоваться и собственными средствами Windows.

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

        Что касается основных настроек, от стандартных систем BIOS они практически не отличаются. Отдельно можно отметить наличие режима эмулятора BIOS, который в большинстве случаев может называться либо Legacy, либо Launch CSM.

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

        Загрузочная флешка UEFI: обязательные условия для создания

        Теперь посмотрим, как создать загрузочный USB-носитель для последующей установки операционной системы с использованием интерфейса UEFI. Первое и главное условие состоит в том, что загрузочная флешка UEFI должна иметь объем не менее 4 Гб.

        Вторая проблема касается файловой системы. Как правило, Windows-системы по умолчанию производят форматирование съемных накопителей с использованием NTFS. А вот UEFI USB-носители с файловыми системами, отличными от FAT32, не распознает. Таким образом, на первом этапе следует произвести форматирование именно с применением такого параметра.

        Форматирование и запись образа дистрибутива

        Теперь самый главный момент. Форматирование лучше всего производить из командной строки (cmd), запущенной с правами администратора.

        В ней сначала вводится команда diskpart, после чего прописывается строка list disk, и командой select disk N, где N – порядковый номер USB-флешки, выбирается нужное устройство.

        Далее для полной очистки используется строка clean, а затем командой create partition primary создается первичный раздел, который активируется командой active. После этого используется строка list volume, строкой select volume N (вышеуказанный порядковый номер раздела) выбирается флешка, а затем командой format fs=fat32 активируется старт процесса форматирования. По окончании процесса командой assign носителю можно присвоить определенную литеру.

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

        Иногда может появиться сообщение о том, что установка в выбранный раздел MBR невозможна. В этом случае нужно зайти в настройки приоритета загрузки UEFI. Там отобразится не одна, а две флешки. Старт загрузки нужно произвести с того устройства, в названии которого отсутствует сокращение EFI. При этом отпадает необходимость преобразования MBR в GPT.

        Обновление прошивки UEFI

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

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

        Отключение UEFI

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

        Сначала нужно зайти в раздел безопасности Security и отключить режим безопасной загрузки Secure Boot (если это возможно), установив для него параметр Disabled. После этого в загрузочном меню Boot в строке приоритета Boot Priority следует выставить значение Legacy First. Далее из списка нужно выбрать устройство, которое будет первым для загрузки (жесткий диск) и выйти из настроек, предварительно сохранив изменения (Exit Saving Changes). Процедура полностью аналогична настройкам BIOS. Вместо команд меню можно использовать клавишу F10.

        Краткие итоги

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

        www.syl.ru

        UEFI Boot - что это такое

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

        Биос и 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 Boot это как и его предшественник, стандарт, который являет собой интерфейс, связывающий операционную система и микропрограммы, осуществляющие низкоуровневую работу подключенного оборудования. Его цель – это инициализация оборудования и передача управления загрузчику ОС.

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

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

        • Основные бонусы нового стандарта UEFI Boot – это более скорая загрузка операционной системы.
        • Автоматическая поддержка работы мыши и высокого разрешения графики, и это без установки дополнительных драйверов.
        • Пользователями также замечено, что при ЮЭФИ популярной ошибки BOOTMGR is missing Press Ctrl+Alt+Del to restart нет.
        • Он написан на языке Си, работает в 64-битном режиме, поддерживает значительно больший объём памяти и многое другое.

          Скриншот UEFI

        Отличие 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. Впечатляет, не правда ли.

        Логотип 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 и познакомиться с ним поближе.

        droidov.com


        Смотрите также



        © 2010- GutenBlog.ru Карта сайта, XML.