КАТАЛОГ ТОВАРОВ

Срок доставки товара в течении 1-3 дней !!!

 

ПОЛЬЗОВАТЕЛЬ
КОРЗИНА

Немного про UEFI и Secure Boot. Support csm bios что это


Немного про UEFI и Secure Boot / Хабр

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

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

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

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

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

habr.com

О 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 в режиме совместимости

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

        Давайте рассмотрим технологии, которые стоят на страже спокойствия пользователей: что обеспечивает совместимость UEFI в условиях за­ме­ны устаревших концепций более новыми?

        Технология совместимости

        С появлением UEFI программный код Option ROM (или другими словами BIOS периферийных устройств) становится таким же артефактом, как и Legacy BIOS. Так, на смену VGA BIOS приходит Graphics Output Protocol (GOP), а встроенный BIOS других контроллеров заменяется аналогичными решениями из мира UEFI. Но, в отличие от системного BIOS, низкоуровневое программное обеспечение периферии не подвластно производителям вычислительных платформ. Это значит, что необходимо обеспечить совместимость UEFI-систем с устаревшим оборудованием.

        На решение этой задачи нацелена технология Compatibility Support Module (CSM). Компатибильность здесь ключевое понятие. Как IT-индустрия приходила к пониманию этого процесса? Рассмотрим состав Aptio Setup Utility трехлетней давности. Версия v2.00 еще не отражает в полной мере все подробности совместимости, где за строкой меню EFI Optimized Boot скрывается работа именно CSM-модулей.

        Скриншот меню Aptio Setup Utility v2.00.1201 на системной плате Intel S1200BTРис 1. Скриншот меню Aptio Setup Utility v2.00.1201на системной плате Intel S1200BT

        Обратите внимание, что параметр Use Legacy Video for EFI OS недоступен для редактирования, в отличие от соседних пунктов меню Boot Option Retry и USB Boot Priority. В отсутствие GOP-совместимых видеоадаптеров на серверной платформе Intel S1200BT по умолчанию используется VGA BIOS, обслуживающий бортовое видео на дискретном чипе. Хотя такое аппаратное решение и не препятствует использованию программного кода, написанного по правилам Graphics Output протокола.

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

        Скриншот меню Aptio Setup Utility v2.00.1201 на системной плате ASUS Z87-KРис 2. Скриншот меню Aptio Setup Utility v2.00.1201на системной плате ASUS Z87-K

        Новая версия Aptio v2.10, установленная на системной плате ASUS Z87-K, дает более полное представление о функциональности Compatibility Support Module. Активация опции меню Launch CSM приводит к появлению четырех дополнительных параметров, каждый из которых балансирует между новаторством UEFI и сов­ме­сти­мостью с Option ROM.

        Выбор устройств для запуска оперционной системы: ​UEFI-совместимая загрузки или использование Option ROMРис 3. Выбор устройств для запуска операционной системы:UEFI-совместимая загрузки или использование Option ROM

        Последний писк

        Наиболее полный подход к управлению совместимостью демонстрирует American Megatrends, разработчик низко­уров­не­во­го программного обеспечения, в Aptio v2.15 (датирование прошлым годом добавляет драйва :). Эта версия Setup Utility была обнаружена на серверной плате Tyan S7052 (снимок анбоксинга в заголовке статьи).

        Boot-меню в Aptio Setup Utility на серверной платформе S7052GM3NRРис 4. Boot-меню в Aptio Setup Utilityна серверной платформе S7052GM3NR

        Логика управления периферийными устройствами отражает все аспекты использования CSM-технологии: для видео адаптеров выделено отдельное меню, сетевые Boot ROM и OpROM систем хранения данных — на своих местах. Все прочие PCI-устройства вынесены в отдельное меню, а фильтр загрузочных опций, регулирующий порядок старта операционных систем, располагается на самом видном месте.

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

         

        composter.com.ua