Как стать автором
Обновить
0

UEFI *

Unified Extensible Firmware Interface

Сначала показывать
Порог рейтинга
Уровень сложности

Bare-Metal Provisioning инфраструктура с нуля

Время на прочтение5 мин
Количество просмотров6K
Процесс заливки прошивки

Приветствую, Хабр. Меня зовут Роман, я разработчик встраиваемых систем в Getmobit. Хочу поделиться кейсом по развёртыванию программного обеспечения на большом количестве устройств на производственной линии с нуля. Заставлять людей на производстве бегать вдоль конвейера с флешкой не хотелось, а для автоматизации мне необходимо было четко понимать: на какие шаги можно поделить этот процесс, что на каждом этапе должно происходить, а главное – как модифицировать стандартный процесс, чтобы в итоге выполнять специфичные для нашего продукта операции. Основой для решения этой задачи стала технология загрузки устройств по сети (PXE). Об этом и расскажу.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии22

Вы всё ещё меряете FSB сотнями?

Время на прочтение2 мин
Количество просмотров11K
Очень многие именно так и поступают последние 15-20 лет. Сотня или больше.

Что есть, Front Side Bus (FSB, системная шина)?
Шина, обеспечивающая соединение между x86/x86-64-совместимым центральным процессором и внутренними устройствами. Её опроная частота используется, с мультипликатором, процессором.

Весь инструментарий(я знаком с HwInfo64 и CPU-Z) именно на это (сотни) и заточен. Но вот, появился у меня процессор на котором я вижу частоту шины 25МГц.

image

Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии0

Как запускается сервер: UEFI

Время на прочтение9 мин
Количество просмотров29K

Ранее мы уже разбирали последовательность запуска сервера на примере устаревшего Legacy. Настало время познакомиться с UEFI поближе.

Первая версия того, что сейчас известно как Unified Extensive Firmware Interface (UEFI), разрабатывалась в 90-е годы прошлого тысячелетия специально под системы на Intel® Itanium® и называлась Intel Boot Initiative, а позже — EFI.

Желание «обновить» процесс загрузки было ожидаемо. PC-BIOS, именуемый ныне Legacy, предлагает работать в 16-битном real mode, адресует всего 1 МБ оперативной памяти, а загрузчик вместе с таблицей разделов должен размещаться в первых 512 байтах накопителя. Более того, PC-BIOS передает управление первому найденному загрузчику без возможности возврата назад. При этом обработку случаев с несколькими операционными системами возлагают на плечи загрузчика.
Читать дальше →
Всего голосов 57: ↑57 и ↓0+57
Комментарии16

Active Restore: С чего начать разработку в UEFI

Время на прочтение12 мин
Количество просмотров13K

Всем привет. В рамках проекта от компании Acronis со студентами Университета Иннополис (подробнее о проекте мы уже описали это тут и тут) мы изучали последовательность загрузки операционной системы Windows. Появилась идея исполнять логику даже до загрузки самой ОС. Следовательно, мы попробовали написать что-нибудь для общего развития, для плавного погружения в UEFI. В этой статье мы пройдем по теории и попрактикуемся с чтением и записью на диск в pre-OS среде.


cover

Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Комментарии6

Истории

Проблематика и особенности реализации UEFI на различных платформах

Время на прочтение10 мин
Количество просмотров7.9K
С момента выпуска первой спецификации EFI в двухтысячном году прошло около девятнадцати лет. Десять лет понадобилось интерфейсу, чтобы выйти на пользовательский рынок и закрепиться на нем. На текущий момент редко где можно увидеть современный компьютер без UEFI в прошивке материнской платы. Стандарт интерфейса нарастил «мясо» и несколько тысяч страниц в официальной документации. Для обычного пользователя ничего не поменялось, кроме эпизодических столкновений с включённым Secure Boot. Но если плоскость работы смещается в разработку, всё становится интереснее.


Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии15

Как я купил заблокированный ноутбук на eBay и попробовал сделать свой AntiTheft на базе IntelAMT

Время на прочтение10 мин
Количество просмотров65K


TL;DR


Absolute Computrace — технология, которая позволяет заблокировать машину(и не только), даже если на ней переустановили операционную систему или даже заменили жесткий диск, за $15 в год. Я купил ноутбук на eBay, который был залочен этой штукой. В статье описывается мой опыт, как я с ней боролся и пытался сделать то же самое на базе Intel AMT, но бесплатно.
Читать дальше →
Всего голосов 114: ↑112 и ↓2+110
Комментарии62

Микрокод и уязвимости в процессорах

Время на прочтение2 мин
Количество просмотров7.3K
Отсутствие уязвимости в CPU лучшее что может быть, но как проверить есть ли они, эти уязвимости? Как выясняется в современных процессорах они буквально "пачками". И счастливому обладателю «уязвимостей» в лучшем случае предлагается ползать по таблицам и искать каким из них подвержен его процессор. А с течением времени количество найденных дыр только растет.

Простейшим решением предлагается обновление БИОСа/UEFI с установкой новой версии микрокода. Но решает ли оно все проблемы, или собственно хотябы их часть?
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии0

Active Restore: может ли аварийное восстановление происходить быстрее? Намного быстрее?

Время на прочтение6 мин
Количество просмотров6.7K
Резервное копирование важных данных – это хорошо. Но что если работу нужно продолжить сразу, и на счету каждая минута? Мы в Acronis решили проверить, насколько возможно решить задачу максимально быстрого запуска системы. И это первый пост из серии Active Restore, в котором я расскажу, как мы приступили к проекту вместе с Университетом Иннополис, какое нашли решение, и над чем работаем сегодня. Подробности – под катом.

image
Читать дальше →
Всего голосов 42: ↑41 и ↓1+40
Комментарии10

Использование новых NVMe SSD в качестве загрузочного диска на старых системах с Legacy BIOS (для любой ОС)

Время на прочтение8 мин
Количество просмотров251K
Короткий мануал — как реализовать поддержку загрузочного NVMe SSD на старых материнских платах с Legacy BIOS и с использованием Clover (для любых ОС). По следам вот этого поста, где на мой взгляд, решение не так изящно и не для всех BIOS & OS.

Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии42

Будущее уже здесь или кодим прямо в браузере

Время на прочтение3 мин
Количество просмотров29K
Расскажу о курьезной ситуации, случившейся со мной, и о том как стать конрибьютором в известный проект.
Читать дальше →
Всего голосов 66: ↑43 и ↓23+20
Комментарии63

Расширяем функционал WDS: добавление возможности загрузки в UEFI

Время на прочтение5 мин
Количество просмотров22K

Всем привет!


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


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


1. Windows Server 2012R2 (или новее)
2. Полностью настроенный DHCP для работы с WDS
3. Собственно сам WDS
4. IIS
5. Виртуальная машина или ПК с Ubuntu

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


Предисловие


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


Помогли мне кстати тогда вот эти статьи:
Добавляем WDS универсальности
Загрузочное меню PXE с System Center Configuration Manager

Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии11

Эксплуатация подписанных загрузчиков для обхода защиты UEFI Secure Boot

Время на прочтение7 мин
Количество просмотров40K
English version of this article.

Введение

Прошивки современных материнских плат компьютера работают по спецификации UEFI, и с 2013 года поддерживают технологию проверки подлинности загружаемых программ и драйверов Secure Boot, призванную защитить компьютер от буткитов. Secure Boot блокирует выполнение неподписанного или недоверенного программного кода: .efi-файлов программ и загрузчиков операционных систем, прошивок дополнительного оборудования (OPROM видеокарт, сетевых адаптеров).
Secure Boot можно отключить на любой магазинной материнской плате, но обязательное требование для изменения его настроек — физическое присутствие за компьютером. Необходимо зайти в настройки UEFI при загрузке компьютера, и только тогда получится отключить технологию или изменить её настройки.

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

Мне хотелось сделать загрузочную флешку с различным ПО для восстановления компьютера, которая бы грузилась без отключения Secure Boot. Посмотрим, как это можно реализовать.
Читать дальше →
Всего голосов 67: ↑65 и ↓2+63
Комментарии94

Статический анализ «BIOS/UEFI» или как получить Dependency Graph

Время на прочтение13 мин
Количество просмотров10K
«Я вчера закончил ковку,
Я два плана залудил…»
… V.S. Vysotsky song...

Уже почти 3 года назад (в начале 2016) в issue проекта UEFITool на GitHub появилось пожелание пользователей: построить «Dependency Graph» для исполняемых модулей, входящих в BIOS/UEFI.

Завязалось даже небольшое обсуждение, в результате которого окончательно выяснилось, что данная задача отнюдь не тривиальна, имеющегося функционала для её решения недостаточно, перспективы в тот момент туманны…

И остался этот вопрос в подвешенном состоянии, с перспективой реализации в неопределённом будущем (но желание, наверное, осталось, а надежда, как известно, умирает последней!).

Есть предложение: отыскать, наконец, решение этой проблемы!
Читать дальше →
Всего голосов 45: ↑45 и ↓0+45
Комментарии21

Ближайшие события

LoJax: первый известный UEFI руткит, используемый во вредоносной кампании

Время на прочтение25 мин
Количество просмотров16K
Кибергруппа Sednit, также известная как АРТ28, Strontium и Fancy Bear, работает как минимум с 2004 года. Считается, что группа стоит за рядом резонансных кибератак. Некоторые ИБ-компании и Министерство юстиции США назвали Sednit ответственной за взлом Национального комитета Демократической партии перед выборами в США в 2016 году. Группе приписывают взлом глобальной телевизионной сети TV5Monde, утечку электронных писем Всемирного антидопингового агентства (WADA) и другие инциденты. У Sednit множество целей и широкий спектр инструментов, некоторые из которых мы уже задокументировали ранее, но в этой работе мы впервые детально опишем применение UEFI руткита.


Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии5

Как я научился напрямую перезагружаться в нужную ОС через UEFI

Время на прочтение5 мин
Количество просмотров82K

Добрый вечер, Habrahabr!


Сегодня мы научимся перезагружаться из Linux прямиком в Windows и обратно всего за один (двойной) клик.


image

Читать дальше →
Всего голосов 65: ↑61 и ↓4+57
Комментарии41

Пишем для UEFI BIOS в Visual Studio. Часть 3 — русифицируем Front Page

Время на прочтение19 мин
Количество просмотров14K

Введение


В этой статье мы создадим русский шрифт и русифицируем с его помощью главную страницу настроек из имеющегося в edk2 примера.



Кого заинтересовало — прошу пожаловать под кат.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии6

Пишем для UEFI BIOS в Visual Studio. Часть 2 – создаем свой первый драйвер и ускоряем отладку

Время на прочтение15 мин
Количество просмотров20K

Введение


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

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


Те, кто заинтересовался — добро пожаловать под кат.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии7

Пишем для UEFI BIOS в Visual Studio. Часть 1 — разворачивание среды разработки, компиляция и запуск на отладку

Время на прочтение8 мин
Количество просмотров34K

Введение


В этой статье будет описано, как быстро начать программировать для UEFI во фреймворке edk2 в среде Visual Studio, не тратя массу времени на настройку среды обычным способом, по оригинальным мануалам. Достаточно дать команду git clone ... в корневом каталоге диска, и это на самом деле все, среда будет полностью установлена и готова к работе. Требуются 64-разрядная Windows 7 и выше c Visual Studio 2008-2015. Эти два условия не обязательны, но тогда придется немного потрудиться над собиранием системы edk2-Visual Studio в единое целое, краткая памятка будет приведена.

Цель статьи — провести начинающего за руку по первому UEFI проекту, оставаясь в привычной ему среде. Для более опытных людей, надеюсь, будет интересным поработать в VS вместо привычной командной строки, или разобрать подход и перенести его в любимый Eclipse.

Начнем с простых вещей, вывода строки на консоль и русификации (довольно востребованная вещь, причем простая в реализации), потом будет работа с формами в HII (то, что называлось в обиходе страницами BIOS Setup), потом графика, потом Boot Manager, а потом видно будет (с).


Желающие — прошу пожаловать под кат.
Читать дальше →
Всего голосов 48: ↑48 и ↓0+48
Комментарии16

Немного о багах в BIOS/UEFI ноутбуков Lenovo/Fujitsu/Toshiba/HP/Dell

Время на прочтение11 мин
Количество просмотров18K
В этой статье я приведу описание багов в BIOS/UEFI ноутбуков, с которыми приходилось работать и для которых приходилось адаптировать загрузчики. В первую очередь речь пойдет о багах, которые не видны пользователю, но которые могут помешать работе загрузчика даже при условии, что все было сделано правильно. Баги были выявлены как в интерфейсах соответствующих сред исполнения, так и в коде режима SMM процессоров Intel. Приводимый материал основывается на накопленном опыте, который растянут на достаточно большой период времени. Поэтому к моменту написания список конкретных моделей был утрачен. Тем не менее, сохранился список фирм-производителей, на ноутбуках которых возникали проблемы. Баги будут описаны последовательно, начиная с простых и заканчивая самыми сложными. Также по ходу описания будет приведен способ их обхода.
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии21

Что такое UEFI, и чем он отличается от BIOS?

Время на прочтение5 мин
Количество просмотров932K
image

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

Некоторые новые компьютеры, поставляемые с UEFI, по-прежнему называют его «BIOS», чтобы не запутать пользователя, привычного к традиционным PC BIOS. Но, даже встретив его упоминание, знайте, что ваш новый компьютер, скорее всего, будет оснащён UEFI, а не BIOS.
Читать дальше →
Всего голосов 36: ↑25 и ↓11+14
Комментарии145

Вклад авторов