Доступ к скрытым настройкам UEFI BIOS от Insyde
Одно из направлений моей компании — продажа технологических решений в области виртуализации. По долгу службы, приходится делать пилотные проекты или устраивать тестовые стенды. Недавно, компания Citrix выпустила новый продукт под название XenClient XT, который по сути является клиентским гипервизором первого уровня, то есть работает на чистом железе. Основной идеей клиентского гипервизора является создание виртуальных машин на собственном ноутбуке. Где и как это применимо — опустим.
Все современные процессоры Intel и AMD поддерживают технологию аппаратной виртулизации.
И так, в моем распоряжении был ноутбук с H77 чипсетом и Intel Core i7-3820QM процессором. Согласно спецификации от производителя, мой процессор поддерживал Intel Virtualization Technology (VT-x) и Intel Virtualization Technology for Directed I/O (VT-d) технологии. Если первая имеется почти на всех новых ноутбуках, то вторая технология встречается только на топовых моделях. Но она дает много преимуществ, как например прямой проброс GDU в виртуальную среду, соответственно клиентская машина получает полную поддержку 3D. Но давайте не будем углубляться в технологии, отличные от тематики данной статьи.
В моем биосе была возможность включения VT-x, но вот управление технологией VT-d не было предусмотрено изначально.
В расстроенных чувствах, я стал бродить по разным ресурсам в интернете и наткнулся на два очень интересных ресурса: mydigitallife и bios-mods.
Оказалось, что большая часть настроек биоса скрыта от обычного пользователя. Причина понятно — не давать пользователям ковыряться в настройках инициализации железа, дабы не создавать очереди у сервисных центров из армии любопытных «бородатых» субъектов с «кирпичами» в руках.
Первоначальное знакомство с технологией повергло меня в некоторое замешательство. Куча незнакомых мне утилит, новые термины, непонятные трактовки… Я решил не мучиться и написал на обоих ресурсах, что готов заплатить тому, кто мне поможет открыть скрытые от меня меню. Для этого было необходимо покопаться в ассемблерном коде, убрать несколько проверок, прошить патченный биос и у вас полное меню вашего биоса.
Так я прождал неделю, а заработать никто не захотел… ну или не смог.
Взяв себя в руки, я решил сам разобраться как этот биос работает и сделать патч самому. Спустя две недели и с помощью русского сообщества IXBT я написал свой первый патч к биосу моего тестового ноутбука. Скрестив пальцы на руках и с замиранием сердца я прошил свой ноутбук…
Вы помните в лохматые годы мы прошивали свои системные блоки новыми биосами для материнских плат? Тогда на экране красовалась надпись, мол ни в коем случае не выключайте компьютер до окончания прошивания? Были случаи, когда по странному стечению обстоятельств именно в тот момент отключалось электричество… В итоге получали большой не функциональный ящик. Что делалось дальше — история умалчивает.
Мой ноутбук не включился. Перебои с электричеством с батарейкой ему не страшны. Но вот я что-то сделал не правильно. Душевному расстройству не было предела. К моей большой радости оказалось, что биос имеет функцию recovery и путем нехитрых комбинаций клавиш и заранее подготовленной флешки ноутбук можно оживить.
Я пошел другим путем: пропатчил те места, которые ну ни как не могли повлиять на функционал биоса, а точнее заменил логотип. Снова прошил и снова получил кирпич. Размышляя и советуясь с опытными дельцами в этом деле мы пришли к выводу, что современные UEFI биосы имеют вторичную проверку на контрольную сумму образа прошивки. Первая проверка происходит когда вы пытаетесь прошить, а вторая когда биос запускается. Если в первом случае я также пропатчил прошивальщик, чтобы он не проверял контрольную сумму, то вторую проверку мне не преодолеть, так как она зашита в самом железе.
На данный момент имеем следующее: Можно патчить EFI биосы и не можем UEFI. Мой, конечно же, второй случай. Опять долгие поиски в интернете и натыкаюсь на статью Enable VT on InsydeH2O based Sony Vaio laptops, the EFI way.
Суть метода проста: вы загружаетесь в EFI режим с помощью специального загрузчика и получаете доступ к VSS памяти, где настройки вашего биоса и хранятся. Я протестировал что на моем ноутбуке это работает, снова открыл прекрассный дизассемблер IDA, скачал последние спецификации и в полном вооружении начал потрошить свой биос.
Успешным результатом двухнедельной работы стало выпотрошенное меню
Я успешно загрузился в загрузчик с доступом к VSS памяти, прописал нужные мне переменные и включил или выключил чего мне не хватало или мешало в моей работе.
Ну а теперь о том как это сделать вам.
Подготовка инструментария
1. Необходимо скачать PhoenixTool с этого форума, где постоянно выкладывается текущая версия. Он вам будет нужен, чтобы разложить файл прошивки на его составляющие.
2. Вам нужен perl. Если у вас есть UNIX система, то все просто, если нет, то ActivePerl или Cygwin под Windows.
3. Вам нужен последний биос от вашего производителя.
4. Любой архиватор.
Получение образа прошивки
1. Откройте архиватором exe файл вашей прошивки, найдите там файл с расширением bin или fd и распакуйте в удобное для вас место. Лучше в отдельную папку.
2. Запустите PhoenixTool и попробуйте открыть файл прошивки.
3. Если при попытке открыть вы видите такое окно
то скорее всего ваш образ от производителя зашифрован. Decrypt метод пока не придумали, но это только дело времени. Если это ваш случай, то переходите к следующему шагу, если нет, то пропускаем и переходим к пункту 8.
4. Распакуйте программу прошивания в удобную для вас папку и запустите обновление вашего биос до последней версии.
5. После того как ваш ноутбук перезагрузится, снова зайдите в эту папку и найдите там файл platform.ini
6. Откройте текстовым редактором и сделайте слеующие изменения:
Это позволит вам прошить еще раз ваш биос, но при этом будет создана резервная копия текущего биоса.
7. После перезагрузки откройте полученную резервную копию с помощью PhoenixTool
8. Через пару секунд вы должны будете увидеть окошко похожее на это:
9. Теперь можете закрыть окошко.
10. В папке, где у вас лежал образ появится папка DUMP, а в ней множество файлов. Нас интересует, который начинается на FE3542FE и имеет самый большой размер:
11. Теперь скачиваем исходный код моего
12. Сохраняете его себе на компьютер туда, где у вас лежит файл из пункта 10 и даете ему удобное для вас название, например uefidump.pl
13. Переходите в консольный режим и даете команду perl uefidump.pl FE3542FE-C1D3-4EF8-657C-8048606FF670_2_514.ROM > uefidump.log
14. По окончанию вы найдете дамп меню вашего биоса в файле uefidump.log.
Подготовка загрузочной дискеты
1. Берем флешку, размер не важен.
2. Форматируем ее в FAT32
3. Создаем структуру каталогов EFI\Boot
4. Скачиваем BOOTX64.EFI
5. Кладем в папку Boot
6. Перегружаемся в BIOS, включаем Legacy и отключаем Secure Boot.
7. Сохраняемся и загружаемся через флешку.
8. После загрузки вы должны увидеть желтый текст на черном экране
9. К модификации настройки биоса все готово.
Изменение параметров
Для изменений используются поля VarStore и Value. Value в логе в десятичном варианте, при изменении необходимо указывать шестнадцатиричное значение.
1. Допустим вам надо изменить режим работы диска с IDE на AHCI. Кому-то это надо для хакинтошей, а кто-то купил себе твердотельный жесткий диск, а ноутбук его не видит. Ищем в лог файле что что касается сабжа и находим следующие строки:
Для того чтобы вам изменить настройку, необходимо сперва дать команду setup_var 0x39 .
Результатом данной команды будет текущее значение данной переменной. Чтобы ее изменить и поставить в AHCI, надо дать команду setup_var 0x39 0x1 . Учтите, что если у вас стоит Windows, то потребуется его переустановка, так как однажды настроенный Windows на IDE не сможет понять, что теперь ему надо работать с AHCI. Как вариант — предварительно загрузившись в безопасный режим подредактировать реестр, тогда переустанавливать ничего не придется.
2. Например вам надо запретить дискретный видеоадаптер. За этот пункт отвечает следующие строки:
Команда setup_var 0x1e6 0x0 отключит дискретный и будет работать только встроенный.
3. Хотим чтобы Numlock не включался
Команда setup_var 0x08 0x0 отключит его при загрузке.
Эпилог
Данное руководство составлено как оно есть и так как я делаю это на практике. Я не несу ответственности за испорченные материнские платы или утерянную информацию. Все что мы можете сделать — вы делаете на свой страх и риск.
Если что-то пошло не так, то первым спасательным кругом может быть извлечение батарейки биоса для стирания VSS памяти. Если не помогает, то вам нужно искать способ recovery для вашего биоса. В случае HP инструкцию можно посмотреть здесь. Для других вендоров там же, но я не искал.
Моя тема, где я нет, нет помогаю страждущим находится здесь. Благодарности от пользователей в доказательство тому, что это все работает.
И последнее, не пытайтесь отключить оборудование, которое у вас имеется или включить то, которого у вас нет, иначе сбой инициализации оборудования приведет к полном краху и невозможности восстановления материнской платы.
И самое последнее, мой вам совет: прежде чем начинать экспериментировать с оверклокингом и тюнингом биоса, проверьте, что для вашего ноутбука работает способ восстановления биоса в случае его краха. Пока таких случаев не было, но мало ли.
Добавляем анлок в биос раз и навсегда
С помощью этой инструкции вы сможете добиться анлока турбо-буста не на уровне системы, как в стандартной инструкции, а на уровне bios. Этот метод имеет весомые преимущества:
- Выполняется несколько проще
- Все действия достаточно выполнить только 1 раз
- Анлок не слетит при смене операционной системы или компонентов ПК
- Анлок будет работать как в Windows, так и в Linux и любых других ОС
Но есть и недостатки:
- Драйверов, подходящих для встраивания (FFS) выпущено заметно меньше, чем стандартных EFI-версий
- Метод не заработает на двухсокетных материнских платах (анлок применится только для одного процессора). Для подобных конфигураций можно использовать стандартный способ с встраиванием EFI-драйвера, либо новый метод анлока через S3TurboTool.
Не рекомендуется выполнять анлок по данной инструкции, если в дальнейшем планируется смена процессора на Xeon e5 16XX v3\v4 или e5 26XX v4, так как эти серии не поддерживают анлок.
Первоисточник информации — замечательное видео с канала Miyconst. Автор также сделал отличную презентацию, которую вы можете наблюдать чуть ниже. В конце презентации также доступны ссылки на уже готовые биосы для популярных плат.
Подготовка
- Убедитесь, что используете подходящий процессор (Haswell степпинга pre-QS и выше). Подробнее о степпингах здесь.
- Убедитесь, что система охлаждения выдержит увеличившуюся после применения хака температуру.
- Потребуется дамп биоса. Для большинства китайских плат снять и прошить его можно через FPT прямо в Windows, можно также использовать скаченный, но только если его работа уже проверена на конкретной плате.
В некоторых платах (в основном производства Jingsha) биос защищен от записи, поэтому FPT при попытке прошивки будет выдавать ошибку error 280. К счастью, решение довольно простое: в биосе идем в IntelRCSetup > PCH Configuration > Security Configuration и меняем значение пункта Bios Lock на Disabled. После сохранения настроек и перезагрузки защита от записи будет снята.
Необходимый софт
Нам понадобятся 3 программы (скачать их можно чуть ниже):
- MMtool_a5 для удаления микрокода 06F2 (не требуется, если вы скачали версию биос уже без микрокода)
- UEFITool для установки самого драйвера анлока в биос для отключения функций C3 и C6 Report, чтобы предотвратить зависания системы после анлока.
FFS-драйверы
Также нам понадобится FFS драйвер. В данном случае нужен именно FFS, а не EFI-драйвер, как в стандартной инструкции по анлоку. В архиве на данной странице — протестированные драйвера, сделанные Christian Peine, но желающие поэкспериментировать могут также попробовать FFS драйверы от MOF, ссылки на них находятся тут. Стоит помнить, что для экспериментов с другими драйверами лучше иметь под рукой программатор.
Вернемся к драйверам от Peine. Было выпущено достаточно много версий. Разобраться, что означает каждый конкретный файл можно по его названию. Например драйвер v3_payne_30_20.ffs имеет пониженное на 30mv напряжение на процессор и пониженное на 20mv напряжение на контроллер памяти.
Большинство процессоров серии Xeon e5 2600 v3 способно стабильно работать как минимум при -20mv, а зачастую и при гораздо меньшем напряжении. Однако, узнать точно, на сколько можно понизить напряжение для каждого конкретного процессора можно только с помощью тестирования. Для начала рекомендуется выбрать драйвер без заниженного напряжения или с небольшим занижением.
-
UEFITool_0.25.1_win32
UEFITool_0.25.1_win32
Размер файла: 7 MB Кол-во скачиваний: 8148mmtool_a5
MMtool
Размер файла: 5 MB Кол-во скачиваний: 5618AMIBCP 5-02
Amibcp ver. 5.02
Размер файла: 5 MB Кол-во скачиваний: 59965TU Drivers
Драйверы для анлока ТБ от Christian Peine
Размер файла: 62 KB Кол-во скачиваний: 2165
Удаляем микрокод 06F2
Если вы скачали биос уже без данного микрокода — пропустите этот пункт.
Для удаления мы будем использовать заранее подготовленную утилиту MMtool.
- Скачиваем и распаковываем архив с MMtool
- Запускаем программу, нажимаем «Load Image» и открываем наш ранее снятый\скаченный дамп

- Переходим на вкладку «Cpu Patch» и видим список микрокодов
- Смотрим на столбец «Cpu ID», нам нужен 06F2, выделяем его

- Ставим галочку напротив «Delete a patch data», затем жмём «Apply» и подтверждаем удаление
- Сохраняем наш биос кнопкой «Save imege as. »
Добавляем драйвер анлока
- Скачиваем и распаковываем архив с UEFITool
- Открываем в программе наш дамп
- Раскрываем список «Bios Region»

- Теперь в отобразившихся списках находим содержащий множество DXE-драйверов

- Выделяем самый последний в списке DXE драйвер, правый клик — «Insert After. »

- В открывшемся окне выбираем наш ранее скачанный FFS (не EFI) драйвер
- Сохраняем наш дамп биоса (File — Save as).
Отключаем CPU C3\C6 State
Сделать это нужно, чтобы предотвратить зависания системы.
- Скачиваем и распаковываем архив с AmiBCP
- Открываем в программе наш дамп
- Переходим на вкладку Setup Configuration
- Разворачиваем «Intel RCSetup», затем — «Advanced Power Management» и выделяем «CPU C State Control»

- Для параметров Cpu C3 Report и Cpu C6 Report устанавливаем значение «Disabled» в столбцах «Failsafe» и «Optimal»

- Сохраняемся (File — Save As) и закрываем AmiBCP.
Прошиваем мод-биос
Выполняем прошивку с помощью софта, которым снимали дамп. Если всё прошло удачно, сбрасываем биос на стандартные настройки.
Как правило, большинство китайских плат можно прошить одним из следующих способов:
- Прошивка из под Windows: скачиваем FPTW 9.1.10, открываем командную строку (от администратора) и прошиваем биос командой fptw64 -bios -f bios.bin. Где bios.bin (или ROM) — модифицированный биос, который нужно скопировать в папку с fpt. Само собой, в командной строке нужно сначала перейти в папку с fpt командой cd
- Традиционный метод — FPT с загрузочной флешки
- С помощью загрузочной флешки можно прошиться через Afudos
- Еще один вариант прошивки из под Windows — Afuwin
- Самый надежный способ — программатор.
Проверяем
Для проверки можно использовать программу HwInfo, которая показывает частоты для каждого ядра. Параллельно можно запустить какой-либо бенчмарк или стресс-тест (например cpu-z), чтобы нагрузить процессор.

Если всё прошло удачно — частота каждого ядра будет равна максимальному значению турбо-буста процессора.
INSYDE BIOS
Сегодня я вам поведаю историю о том, как я пытался разблокировать биос на ноутбуке Sony VAIO VPCEH1E1R (Хотя нет, там материнская плата от VPCEH1L1R с видеокартой бестолковой).
Так вот, задался я целью разогнать этот ноут по-максимуму, недавно успешно поменял процессор на Intel core i7-2860QM и вполне успешно! Ноут не узнать, 4 ядра и 8 потоков творят чудеса. Теперь все работает как на компе (кроме игр конечно). Так вот о чем я… Поставил мощный процессор и задался целью покопаться в глубоких настройках энергосбережения и вообще в теме модификаций биоса.
Хорошая новость оказалась в том, что фирма Insyde когда-то давно раздавала так называемым инсайдерам-разработчикам старые версии их ПО для редактирования биоса. Так как архив с ними успешно удаляется на гитхаб, я оставлю эти файлы тут:
В общем джентельменский набор я вам предоставил. Дальше можете ковыряться с файлами. Вот кстати последняя прошивка биоса и мой дамп биоса если надо:
Что по итогу, ничего разблокировать у меня не удалось, при открытии раздела Update defult в программе H2OEZE она просто вылетает или выдает ошибку. Видимо биос слишком старой версии или какой-то чересчур урезанный.
Так что если у Вас получится что-то сделать с моим образом биоса — прошу, свяжитесь со мной 🙂
А вот вам наглядный видос как это делается в пару кликов:

И по идее все будет в шоколаде. Возвращаясь к опыту по замене видеочипа, на форуме писали что определялся он в системе все равно как старый 410М, но ошибок не выдавал. Полагаю смысл как раз в том, что пока ты не поменяешь перемычку, ноут будет думать что у него все тот же видеочип, а для видеочипов разные настройки питания в биосе прописаны (или не в биосе). В общем дополню статью, как что-то сломаю или сделаю.
Урезанный биос как разлочить
Может кому пригодится
Как мы можем знать, начиная с 10-го поколения, Интел начали отключать возможность Андервольта мобильных процессоров. Поэтому для его включения понадобится доступ к расширенным настройкам биоса. Ну и кроме того, там будут и другие полезные настройки, изменение которых, конечно же — на ваш страх и риск
Для данного ноутбука Lenovo Legion 7i, есть следующая инструкция (в оригинале )
» To enable advanced BIOS in 7i: Click ‘more options’ to enter BIOS, then hold Fn, run your finger across the keyboard: Q-P, A-L, Z-M (must slide fast). Press F10, and Yes. Spam/hold F2 to enter BIOS. To enable undervolting: advanced>overclocking performance menu>enable overclocking feature>enable XTU interface «
Перевод гугла: » Чтобы включить расширенный BIOS в 7i: нажмите «Дополнительные параметры», чтобы войти в BIOS, затем, удерживая клавишу Fn, проведите пальцем по клавиатуре: Q-P, A-L, Z-M (должен скользить быстро). Нажмите F10 и Да. Спам / удерживайте F2, чтобы войти в BIOS. Включение пониженного напряжения: дополнительно> меню производительности разгона> включить функцию разгона> включить интерфейс XTU «
Либо еще в таком варианте:
— enter BIOS by tapping F2 while booting up
— Click «more settings»
— hold Fn, then slide your finger through all the alphabetical keys (Q to P, A to L, Z to M)
— release Fn, then quickly press F10
— save and exit
— enter BIOS again and more settings will be unlocked спойлер
Видео с разлоченным биосом
https://youtu.be/yC8AeBqhZik