Как отключить me fw в bios
UEFI – усовершенствованный аналог старого доброго BIOS. И в нем есть точно такая же функция Secure Boot, предотвращающая запуск установщиков нелицензированных, пиратских систем. И к тому же он не дает загрузиться операционкам версией ниже 8. Поговорим о том, как отключить данную функцию через утилиту BIOS. См. также: как зайти в BIOS на Windows 10 .
Как узнать, включена ли защита Secure Boot
По сути, UEFI Secure Boot понадобится только в корпоративном кругу, где недопустима загрузка нелицензионных программ, а также вредоносного шпионского программного обеспечения. Для обычных пользователей же она совершенно ни к чему. К примеру, если нужно будет установить совместно с Windows систему Linux.
Для начала надо узнать, включена ли данная защита, а сделать это можно в самой ОС Windows. Открываем окно «Выполнить» нажатием на комбинацию клавиш Win + R, в окне «Открыть» вводим запрос «msinfo32» для перехода к сведениям о системе и жмем на кнопку ОК.
В новом открывшемся окне ищем пункт «Состояние безопасной загрузки». Если UEFI Secure Boot включен, он будет отмечен как «Вкл».
Процесс отключения будет отличаться в зависимости от производителя ноутбука/материнской платы компьютера. Но для начала надо открыть UEFI, и сделать это возможно несколькими способами.
Первый способ входа в UEFI – нажать на кнопку при загрузке системы. В зависимости от модели компьютера или ноутбука она может отличаться – F1, F2, Delete, Esc и так далее.
Второй способ – через раздел с настройками ОС Windows 8 или 10. Сначала открываем «Параметры» нажатием на комбинацию клавиш Win + I. Далее входим в раздел «Обновление и безопасность», жмем на вкладку «Восстановление» и под «Особыми вариантами загрузки» кликаем по кнопке «Перезагрузить сейчас».
Отключение UEFI Secure Boot в разных ноутбуках и материнских платах
Прежде чем приступить к действию нужно узнать производителя материнской платы компьютера. Все это делается потому, что интерфейс в утилитах разных производителей несколько отличается.
Для перехода к функции UEFI Secure Boot в материнских платах Acer нужно перейти в раздел «Authentication» или в «Advanced System Configuration».
А вот с ноутбуками дело обстоит несколько сложнее – нужный параметр располагается в основной вкладке, но просто так его не отключить. Сначала понадобится открыть вкладку «Security», перейти к пункту «Set Supervisor Password» и установить пароль.
Asus, Dell, Lenovo и Toshiba
В более новых моделях нужный раздел – «Boot», а в других – «Security». Переходим, ищем пункт «UEFI Secure Boot» и устанавливаем значение «Disabled» для отключения этой функции.
Gigabyte
В материнских платах Gigabyte после запуска UEFI нужно перейти в раздел «BIOS Features», найти в нем пункт «Secure boot» и отключить его. В некоторых случаях может понадобится включение CSM и прежнего варианта загрузки.
В ноутбуках HP находим раздел «System Configuration», в ней будет пункт «Boot Options» для перехода к более подробным настройкам. Открываем его, находим параметр «UEFI Secure Boot» и отключаем его установкой значения «Disabled».
Заключение
Отключить UEFI Secure Boot в компьютере или ноутбуке не составит труда. Всего-то и нужно, перейти к UEFI или BIOS, найти в соответствующем разделе одноименный пункт и отключить его. Впоследствии препятствий для установки операционных систем не будет.
Напомним, что основным компонентом Intel ME является встроенный в чипсет микроконтроллер с кастомной архитектурой. Известна лишь базовая модель, это 32-х разрядный ARCtangent-A4 (ME 1.x — 5.x), ARCtangent-A5 (ME 6.x — 10.x), SPARC (TXE) или x86 (ME 11.x — . ).
Начиная с 6-й версии, ME-контроллер встраивают во все чипсеты Intel.
[рисунок взят отсюда]
Загрузчик его прошивки хранится во внутренней ROM и недоступен для анализа. Сама прошивка располагается в регионе ME во внешней SPI флэш-памяти (т.е. в той же памяти, где хранится BIOS). Структура этой прошивки такова, что весь исполнимый код разбит на модули, которые хранятся в сжатом виде (либо кастомной реализацией алгоритма Хаффмана, либо LZMA). Эти кодовые модули криптографически защищены от модификаций.
Если есть желание поревёрсить прошивку, рекомендуем воспользоваться этими двумя инструментами для изучения её структуры и распаковки кодовых модулей.
Итак, рассматриваемая подсистема является аппаратно-программной основой для различных системных функций (некоторые раньше реализовывали в BIOS) и технологий Intel. Их имплементация включается в состав прошивки Intel ME. Одной из таких технологий, использующих несколько особых привилегий Intel ME, является Active Management Technology (AMT).
AMT – технология удалённого администрирования компьютерных систем, для которых заявлена официальная поддержка Intel vPro (это бренд, объединяющий несколько технологий, в том числе, AMT). Речь идёт о системах с чипсетами линейки Q (например, Q57 или Q170).
Учитывая высокую стоимость таких платформ, вряд ли кто-то случайно приобретёт компьютер с AMT для того, чтобы принципиально этой технологией не пользоваться. Тем не менее, если под рукой именно такой продукт, и есть необходимость убедиться, что AMT на текущий момент выключена, следует воспользоваться утилитой ACUwizard:
[рисунок взят отсюда]
или средством Intel Management and Security Status (входит в состав ПО Intel ME для vPro-платформ, можно обнаружить в трее):
В продуктах, не относящихся к разряду vPro-платформ AMT включить нельзя, однако в состав прошивки Intel ME входят сетевые драйверы:
Это означает, что ME-контроллер (не будем забывать, что он всегда включен) имеет техническую возможность использования сетевого интерфейса.
Поэтому проблему стоит решать основательно – пытаться выключить подсистему Intel ME.
- Прошивку Intel ME в бинарном виде;
- Модули MEBx для BIOS;
- ПО Intel ME для ОС;
- Intel System Tool Kit (STK) — комплект программных средств и документации для сборки образов SPI флэш-памяти, применения этих образов и получении информации о текущем состоянии Intel ME.
Несмотря на то, что этот комплект распространяется по NDA (судя по меткам «Intel Confidential» в прилагаемых документах), многие вендоры забывают его вырезать из архива с ПО Intel ME, который передаётся пользователям. А ещё не закрывают свои ftp-серверы от внешнего доступа. В результате, утекших версий STK очень много. Здесь можно слить комплект для любой версии Intel ME.
Важно, чтобы major и minor version (первая и вторая цифры) используемого STK совпадала с версией Intel ME целевой системы, информацию о которой можно получить, например, воспользовавшись ME analyzer:
Проверять текущее состояние Intel ME можно при помощи утилиты MEinfo, которая через Management Engine Interface (MEI) получает информацию о работе этой подсистемы:
Напомним, что MEI является интерфейсом для связи основного CPU с подсистемой Intel ME и представляет собой набор регистров в конфигурационном пространстве PCI и в MMIO. Команды этого интерфейса не документированы, как и сам протокол.
Flash Image Tool
На старых платформах (Intel ME версии 5.x и ниже) выключить данную подсистему можно, воспользовавшись Flash Image Tool (утилита из STK, предназначенная для сборки образов SPI флэш-памяти из отдельно взятых регионов BIOS, ME, GbE). При сборке задаются параметры, которые прописываются в этих регионах и в регионе Flash Descriptors. В последнем есть один очень интересный флаг, «ME disable»:
Таким образом, для выключения Intel ME на целевой компьютерной системе, в её SPI флэш-память следует записать (программатором) новый образ с выставленным флагом «ME disable».
Работает ли этот способ, нам неизвестно. Но звучит правдоподобно, учитывая, что ME-контроллер в тех версиях интегрировался только в чипсеты линейки Q, т.е. был не обязательным компонентом для всех платформ.
Flash Programming Tool
Начиная с Intel ME 9 версии, в утилиту Flash Programming Tool, предназначенную для программирования SPI флэш-памяти компьютерных платформ, была добавлена возможность временно выключать Intel ME:
Выключение выполняется отправкой команды в MEI. После отработки Intel ME не подаёт «признаков жизни», не отвечает даже MEI:
Согласно документации, в таком состоянии подсистема Intel ME находится до следующего запуска компьютера или перезагрузки.
На vPro-платформах возможность отправки этой команды есть и в более ранних версиях. Для этого необходимо воспользоваться разделом конфигурирования ME/AMT в BIOS, где должна быть опция «Intel ME disable»:
[рисунок взят отсюда]
Нельзя говорить о том, что этот способ позволяет полностью отключить Intel ME, хотя бы потому, что до момента принятия команды на отключение ME-контроллер успеет загрузиться, а значит, выполнить некоторую часть кода прошивки.
Несмотря на то, что Intel ME не подаёт «признаков жизни» после этой операции, неизвестно, может ли эту подсистему заново включить какой-нибудь сигнал извне. Также неясно, насколько Intel ME выключена.
В интересах исключения возможности исполнения ME-контроллером кода прошивки, логично попробовать ограничить ему доступ к ней. А что? Нет кода – нет проблемы.
Проанализировав документацию, которая прилагается к STK, и, немного подумав, мы предположили, что это можно сделать следующими способами.
1. Вырезать (обнулить) ME регион из SPI флэш-памяти.
Те, кто пробовал так делать сообщают о том, что их платформа либо не загружалась без наличия подлинной прошивки ME, либо выключалась ровно после 30 минут работы.
Отказ компьютерной системы грузиться без прошивки Intel ME можно объяснить важностью ME-контроллера в процессе инициализации аппаратной составляющей. А 30-минутный таймаут наводит на мысль о WDT (Watch Dog Timer).
- стереть первые 0x20 байт в ней (таким образом повредив сигнатуру 0x0FF0A55A, которая определяет режим работы флэш-памяти);
- выставить джампер HDA_SDO (если он есть).
Таким образом, ME-контроллер не получит доступ к своему региону, и, следовательно, не будет исполнять прошивку.
С одной стороны, ME-контроллер так же, как и в предыдущем случае, может препятствовать нормальной работе компьютерной системы. С другой стороны, не дескрипторный режим включает т.н. manufacturing mode, который используется вендорами в отладочных целях, и есть шанс, что система запустится.
3. Известно, что прошивка Intel ME распаковывается в выделенную и скрытую от основного CPU область оперативной памяти – ME UMA. Выделение и блокировку этой области осуществляет BIOS во время конфигурирования карты памяти. Тогда почему бы не вырезать эти фрагменты кода из BIOS, чтобы данная область не выделялась. Тогда прошивка ME не будет распаковываться и исполняться.
Проведённые эксперименты показали, что такой способ тоже не годится, и система не запускается. К тому же, у ME-контроллера есть внутренняя SRAM, которая используется при недоступности ME UMA. Поэтому часть прошивки всё равно будет исполняться.
- отключение при каждом старте командой в MEI или отключение флагом в регионе flash descriptors (в зависимости от версии);
- ограничение доступа ME-контроллеру к своей прошивке либо перевод компьютерный платформы в manufacturing mode.
- препятствование нормальной работе ME-контроллера не обеспечивая его runtime-памятью.
Очевидно, что некоторые предложенные решения влекут за собой неработоспособность компьютерной системы, остальные не дают никакой гарантии того, что подсистема Intel ME действительно выключена. В связи с этим, мы пришли к выводу, что полностью выключить Intel ME крайне сложно.
Вероятно, это связано с тем, что, отключая Intel ME, мы нейтрализуем важный компонент в архитектуре компьютерной системы. Например, без ME некому будет решать важные системные задачи вроде ACPI или ICC (которые когда-то реализовывались в BIOS). Чтобы заставить платформу стабильно работать без ME, как минимум, необходимо вернуть реализацию этих технологий в BIOS.
Так или иначе, вопрос о том, как отключить Intel ME без потери работоспособности компьютерной системы, остаётся открытым.
Написал однажды мне друг с ноутбуком Samsung r60. Процессор в этом ноутбуке поддерживает аппаратную виртуализацию, но по умолчанию она отключена, и пункт включения в биосе отсутствует. Биос — Phoenix. Мы не будем патчить биос, мы будем патчить NVRAM!
Нам понадобятся:
• Samsung's FW Modules Extractor
• Phoenix BIOS Editor
• SYMCMOS — читалка/писалка cmos
• NDISASM — дизассемблер x86 кода
• Загрузочная флешка/дискета с DOS
Ну что ж, приступим!
Качаем прошивку с сайта Samsung. Прошивка идет одним .exe файлом вместе с прошивальщиком, нужно достать сам файл прошивки. Для этого воспользуемся Samsung's FW Modules Extractor
Не все файлы распаковались, но это не важно.
Открываем прошивку в Phoenix BIOS Editor, сворачиваем его и достаем файлы BIOSCOD*.ROM из папки TEMP Phoenix BIOS Editor'а. Он распаковал нашу прошивку. Копируем файлы в другую папку, закрываем Phoenix BIOS Editor.
Начинается самое интересное. Дизассемблируем файлы из прошивки, в моем случае их было 7 (0-6):
$ for i in ; do ndisasm -a -p intel -b 16 BIOSCOD0$i.ROM > BIOSCOD0$i.dasm; done
Путем гугления выяснилось, что искать нужно команду mov ecx,0x3a:
$ grep 'mov ecx,0x3a' *.dasm
BIOSCOD04.dasm:0000BE99 66B93A000000 mov ecx,0x3a
Отлично, команда найдена в файле BIOSCOD04.dasm!
0000BE99 66B93A000000 mov ecx,0x3a
0000BE9F 0F32 rdmsr
0000BEA1 668BD8 mov ebx,eax
0000BEA4 83E305 and bx,byte +0x5
0000BEA7 B86F06 mov ax,0x66f
0000BEAA 9A355400F0 call word 0xf000:0x5435
0000BEAF C1E002 shl ax,0x2
0000BEB2 40 inc ax
0000BEB3 38D8 cmp al,bl
0000BEB5 7432 jz 0xbee9
Из кода видно, что в регистр ax записывается значение по адресу 0x66f, выполняются сравнения между al и bl, и если оба значения совпадают — прыгаем на адрес 0xbee9 — адрес отключения виртуализации.
Пришло время SYMCMOS. Создаем загрузочную флешку/дискету, записываем программу на носитель, загружаемся и выполняем
symcmos -v2 -lNVRAM.TXT
Теперь у нас есть файл nvram.txt примерного содержания:
( SYMBOLIC CMOS EDITOR - Version 643710-035 )
CRC = 350F
(0015) [0000]
(0018) [0001]
(001B) [0001]
(0021) [0000]
(0024) [0001]
(0027) [0001]
(002A) [0000]
(002D) [0001]
(0030) [0000]
(0036) [0000]
(0039) [0000]
(003F) [0001]
(0042) [0000]
.
(066F) [0000]
(0672) [0000]
(0675) [0000]
(0678) [0002]
(067B) [0000]
(067E) [0000]
(0681) [0002]
Видно, что значение параметра, отвечающего за виртуализацию, установлено в 0. Изменим его прямо в этом файле:
(066F) [0001]
Опять загрузимся в DOS и выполним:
symcmos -v2 -uNVRAM.TXT
Повсеместно распространена практика сокрытия различных функций, параметров, используемых на этапах разработки и тестирования. Вместе с тем производится и сегрегация плат на уровне БИОС. Как результат, пользователь лишается доступа к фактически прописанным и реализованным возможностям.
реклама
Естественно, пытливого юзера не может устраивать такое злодейское ограничение пользовательской свободы. В связи с чем предлагаю рассмотреть способы обхода этих искусственных препон. Рассматривать будем на примере плат Intel 100-300 чипсетов. Аспекты работы с AMIBCP общеприменимы.
Способ 1. Простой
требуется: программа AMIBCP и навык прошивки МП
Качаем подходящую версию AMIBCP. В нашем случае v5.02.
реклама
File → Open… (файл_биос)
Слева представлено структурное меню БИОС. Сопоставляя названия с фактически наблюдаемыми при входе в БИОС, определяем главный блок.
Именно в этом блоке в соответствующих меню и подменю находятся все доступные настройки. Иерархия та же, что и в БИОС. Наряду со знакомыми наблюдаем и совершенно новые отдельные параметры и даже целые разделы!
реклама
Для открытия элемента достаточно поменять значение в колонке Access/Use на USER:
Обратите внимание, на разделы, описанные как бы наравне с главным, есть ссылки в теле главного блока. Т.е. доступ к ним получить можно. Например, по пути Setup → Advanced → System Agent (SA) Configuration → Memory Configuration большой раздел с настройками памяти.
реклама
Помимо открытия доступа к настройкам, AMIBCP позволяет изменить значения настроек по умолчанию, переименовать параметры и разделы.
Этим способом можно открыть только те настройки, которые непосредственно прописаны в главном блоке.
Способ 2. Сложный (для разделов)
то же + UEFITool, IFR-Extractor и HEX-редактор
Попытаемся разблокировать тот же раздел с настройками памяти на Gigabyte. Организация БИОС здесь другая, упоминаний нужного раздела в главном блоке нет.
Подменим доступный раздел скрытым. «Пожертвуем», к примеру, подменю USB Configuration (Setup → Peripherals).
Определились с тем, что хотим открыть, определились, что хотим закрыть. К делу!
UEFITool
Ищем модуль по сигнатуре $SPF: *Ctrl+F* → Text
Извлекаем и сохраняем модуль: *ПКМ* → Extract Body (to SPF.bin)
GUID модуля может отличаться, в этом случае вести поиск по сигнатуре Setup.
Модуль → PE32 Image Section → *ПКМ* → Extract Body (to Setup.bin)
IFR-Extractor
*открыть* → Setup.bin → Extract (to Setup IFR.txt)
Открываем Setup IFR.txt в блокноте.
Нас интересует FormId.
Теперь определим FormId раздела «Memory Configuration»:
0x3B628 Form: Memory Configuration, FormId: 0x2738
Открываем SPF.bin в HEX-редакторе.
Ищем HEX-последовательность, соответствующую FormID раздела Memory Configuration:
*Ctrl+F* → Hex Values (3827)
Нас интересует page_id через 4 позиции – 0060 (последовательность 6000)
Аналогично ищем page_id для Usb Configuration. Сразу за page_id 005D следует parent_id 0019.
Parent_id – это page_id родительского раздела, в нашем случае раздела Peripherals.
Ищем обратную последовательность parent_id+page_id (19005D00). Это форма вызова раздела USB Configuration.
Заменяем page_id USB Configuration на page_id Memory Configuration. Вместо 19005D00 получаем соответственно 19006000:
Остается только заменить исходный SPF модуль на модифицированный в UEFITool:
*ПКМ* → Replace Body…
Сохраняем: File → Save image file. Прошиваем.
Теперь вместо раздела USB Configuration будет вызываться раздел с настройками памяти.
При желании можно изменить имя раздела в AMIBCP.
Если AMIBCP не работает
С новыми материнками все чаще AMIBCP работать отказывается.
В этом случае остается лишь использовать 2 способ.
О прошивке
Подпишитесь на наш канал в Яндекс.Дзен или telegram-канал @overclockers_news - это удобные способы следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
С далёкого 2008 года и до сегодняшних дней во все чипсеты на базе intel встроена интересная микросхема, которая называется Intel Management Engine.
Про данную систему известны некоторые факты, которые очень понравятся любителям теории заговоров , каждый для себя из этих сведений сможет сделать свой вывод.
Факт первый: работает когда компьютер выключен
Intel ME это микросхема, которая встроена в северный мост материнской платы компьютера (на новых платах в PCH). За счёт дежурного напряжения, подаваемого на чипсет, на эту микросхему подаётся питание даже тогда, когда компьютер выключен.
Факт второй: как работает — большой секрет
Программа, работающая с микросхемой, находится в закрытой области BIOS и зашифрована.
Сама микросхема имеет нетипичную архитектуру. Функции этой системы Intel не документирует. А прошивка ещё и дополнительно запутана.
Факт третий: у неё прямой доступ к сети
Система имеет прямой доступ к сетевой карте, а микросхема отдельный MAC адрес, что уже наводит на мысли.
Более того, каждый бит данных входящий в сетевую карту компьютера из интернета в обход windows передается в intel me.
Факт четвертый: подозревают давно
Фонд электронных рубежей - известная правозащитная организация, уже давненько обвинила intel в том, что в их чипсете содержится троян, который может давать доступ к любому компьютеру в мире.
Но так никто и не показал полную документацию на микросхему.
Факт пятый: её невозможно отключить
Существовали прошивки умельцев в которых чип был отключен, но компьютер на таких прошивках работал нестабильно.
Вместе с отключением микросхемы урезалась часть полезных функций.
К тому же, теперь intel перенесли в ME часть функций BIOS, что ещё сильнее затруднило отключение системы.
Некоторые экспериментаторы отключали чип програмно, но получали довольно странную ошибку, в следствии которой компьютер выключался ровно через пол часа работы. Срабатывал так называемый watch dogs timer.
Факт шестой, её развивают и улучшают
Как я уже писал выше, часть функций из BIOS, например ACPI (отвечает за кулеры, оверклокинг и много чего еще) была перенесена в intel me.
Кроме того в новых сериях чипсетов была добавлена поддержка NFC и Wi-Fi.
Факт седьмой
Intel является стратегическим партнёром АНБ. Ну может кто не знал.
Выводы
Официально компания заявляет, что intel me нужна для стабильности и повышения производительности системы. Очень туманное на мой взгляд объяснение.
Довольно удобно переложить важные функции ПК из BIOS в микроконтроллер с незадокументированной архитектурой и зашифрованной программой.
Делая, таким образом, эту микросхему обязательной для использования и абсолютно неконтролируемой для пользователя.
Для чего это нужно - пока не понятно. Интересно будет послушать ваши версии.
Спасибо за внимание. Если вам понравилась статья - жмите кнопку вверх и подписывайтесь. Будет интересно.
Читайте также: