- Модифицируем биос китайских материнок своими руками
- Нам понадобится
- Пошаговая инструкция
- Видео-инструкция
- Ссылки на необходимый софт
- Afudos + инструкция по прошивке bios
- Создаем загрузочную флэшку с afudos
- Делаем бэкап старого биоса
- Прошиваем новый bios
- Видеоинструкция
- Ссылки на скачивание Afudos и Rufus
- Mi899
- Скачать
- Intel Flash Programming Tool
- Создаем загрузочную флэшку с FPT
- Создаем fullflash бэкап
- Прошиваем fullflash дамп
- Модификация UEFI BIOS, часть вторая: полезные модификации
- Введение и еще один отказ от ответственности
- Необходимые инструменты
- Модификации
- CPU PM patch, MSR 0xE2 lock removal
- AES NI unlock
- Whitelist removal
- BIOS lock removal
- Advanced settings unlock
- CPU Microcode, OptionROM, drivers and images update
Модифицируем биос китайских материнок своими руками
С ростом количества всевозможных китайских материнок на 2011 сокете резко выросла и потребность в биосах с возможностью разгона процессора и оперативной памяти. Вокруг наиболее популярных моделей давно сформировалось комьюнити, готовое ответить на вопросы и помочь с модификацией, а вот владельцам новых или непопулярных плат зачастую приходится месяцами ждать появления заветного файла.
Сегодня мы, на примере одной из старых ревизий huanan x79 deluxe, научимся модифицировать биос. Так как почти все современные платы из Поднебесной работают на коде от American Megatrends, инструкция может считаться универсальной.
Все действия Вы выполняете только на свой страх и риск. В случае ошибки есть риск окирпичить плату, в таком случае поможет только прошивка программатором.
Нам понадобится
- Дамп нашего биоса. В зависимости от платы, снять его можно с помощью FPT или Afudos. Если точно не уверены, воспользуйтесь сразу обеими утилитами.
- Замечательная программа UEFITool. Скачать можно на официальном сайте или внизу этой страницы.
- Любой HEX редактор. Можно использовать бесплатный HxD, приложенный также снизу.
- Бесценные знания о том, что и где нужно менять. А именно DeathBringer ram patch и DeathBringer multiplier patch.
Пошаговая инструкция
- Снимаем дамп биоса, на всякий случай сохраняем его копию. Сам файл для удобства переименуем в mod.rom (или bin, смотря чем снят дамп). Запускаем UEFITool и открываем в ней наш файл.
- Начнем с разблокировки разгона памяти. Нажимаем Ctrl+F, в открывшемся окне переходим на вкладку GUID и копируем значение 5C08C7C8-24C2-4400-9627-CF2869421E06
- Нажимаем ОК и программа сообщает нам об успешном поиске. Дважды кликаем на сообщение в нижней области, затем разворачиваем открывшийся список. Нам нужна PE32 image, находящаяся в IvtQpiandMrcInit.
- Правый клик — Extract body. Сохраняем файл, назовем его «ram».
- Открываем наш HEX-редактор, а в нем — только что сохраненный файл.
- Нажимаем Ctrl+F и на вкладке HEX-values выполняем поиск 3B D1 7E 06
- Найденное значение заменяем на 3B D1 7E 00 и сохраняем наш файл.
- Возвращаемся в UEFITool, делаем правый клик на PE32 image и выбираем Replace body.
- Указываем наш файл «ram». В столбце Action после этого действия появятся Rebuild и Rebase. С модификацией ram закончено, перейдем к модификации cpu.
Если вы используете процессор с заблокированным множителем (Xeon E5 серии 2600), то на этом можно закончить и сразу перейти к последнему шагу.
Видео-инструкция
\Ссылки на необходимый софт
HeX-редактор HxD
Размер файла: 3 MB Кол-во скачиваний: 4071
UEFITool_0.25.1_win32
Размер файла: 7 MB Кол-во скачиваний: 6017
Поделиться «Модифицируем биос китайских материнок своими руками»
Источник
Afudos + инструкция по прошивке bios
Для возможности разгона процессора множителем на некоторых китайских платах требуется прошивка модифицированного bios. Разберемся, как это сделать. Инструкция делалась на примере huanan x79 2.47, но должна подойти и для похожих китайских плат.
Все действия выполняем на свой страх и риск.
Создаем загрузочную флэшку с afudos
На загрузочной флешке удобно хранить сразу afudos и fpt.
- Скачиваем Rufus и создаем в нем загрузочную флешку с параметрами как на скриншоте.
- Скачиваем архив с AfuDos, распаковываем его содержимое на созданную флешку.
- Идем на http://x79.apphb.com/mb/ и скачиваем модифицированный биос для нужной нам платы. Нам нужна не fullflash версия, так как прошивать мы будем афудосом.
- Скаченный файл с расширением rom (это и есть биос) переименовываем в newbios.rom и копируем на созданную флешку.
Делаем бэкап старого биоса
- Загружаемся с созданной флешки. FreeDOS спросит, какую раскладку клавиатуры мы хотим использовать, выбираем US-English.
- Появляется командная строка. Для создания бэкапа пишем afudos backup.rom /oТеперь на нашей флешке сохранен старый биос в указанном файле. Если что-то пойдет не так, прошьем его обратно.
Прошиваем новый bios
- Все в той же командной строке пишем
afudos newbios.rom /gan - После прошивки, перезагружаемся и заходим в bios. На вкладке «Save and Exit» сбрасываем настройки на дефолтные. Сохраняемся и перезагружаемся.
- Опять заходим в биос. Проверяем, доступен ли разгон. Заходим в раздел управления процессором (Advanced->CPU Power Managment Configuration). Множитель для каждого ядра задается отдельно в поле Core Ratio Limit. Устанавливаем 40 (как наиболее безопасное значение), перезагружаемся и проверяем разгон уже в операционной системе.
Если прошивка Bios началась, но завершилась с ошибкой, прошейте Bios повторно этим же дампом. Некоторые платы шьются со второго раза.
Видеоинструкция
Ссылки на скачивание Afudos и Rufus
Размер файла: 511 KB Кол-во скачиваний: 35295
Размер файла: 899 KB Кол-во скачиваний: 22947
Поделиться «Afudos + инструкция по прошивке bios»
Источник
Mi899
Mi899 — небольшая утилита, призванная облегчить процесс снятия бэкапов и прошивки биосов для большинства популярных китайских плат сокета 2011-3. Mi899 уже содержит весь необходимый софт и наиболее распространенные версии bios. Автор программы — Miyconst.
В версии 1.2.0 поддерживаются платы Huananzhi x99 (TF \ F8 \ T8 \ 8M \ 8M-F \ 8MD3 \ F8D \ T8D \ ZD4), Jingsha (X99 D8, X99M-H, X99M-H2, X99M-G2, X99-E8I), а также Machinist X99z v102, Machinist X99-K9, Machinist X99-RS9, Veineda X99, Alzenit X99-PE7, Ant Country X99S-D3 и Ant Country X99S-D4.
Возможности:
- Снятие дампа и прошивка биоса из под Windows через FPTw или Afuwin, в зависимости от конкретной платы.
- Поддерживаются биосы как со встроенным анлоком турбо-буста, так и с андервольтингом
Ограничения:
- Поддерживаются только FFS-драйверы для анлока ТБ.
- Для плат Jingsha перед прошивкой необходимо снять ограничения биоса на запись. Для этого в биосе идем в IntelRCSetup > PCH Configuration > Security Configuration и меняем значение пункта Bios Lock на Disabled.
Как пользоваться:
- Скачать архив, распаковать
- Запустить Mi899.exe
- (Опционально) Переключиться на русский язык
- Перейти на вкладку Explore > Motherboards
- Выбрать нужную модель платы
- В окне с описанием переходим по ссылке «Tools» (FPT или Afuwin в зависимости от платы)
- Для снятие дампа нажимаем на «Dump current bios», в открывшейся папке запускаем «dump.bat» от имени администратора. После выполнения в той же папке появится снятый дамп.
- Для прошивки биоса выбираем необходимую версию в выпадающем списке и нажимаем на «Flash selected bios». В открывшейся папке папке запускаем «flash.bat» от имени администратора. После прошивки перезагружаемся, заходим в биос и сбрасываем настройки на дефолтные.
Скачать
Последнюю актуальную версию программы можно скачать на github.
Версию 1.2.0 также можно скачать с данной страницы.
Источник
Intel Flash Programming Tool
С помощью Intel Flash Programming Tool (или просто fpt) можно сделать дамп (бэкап) Bios материнской платы или прошить свой или чужой дамп. Нам программа понадобится для прошивки модифицированного дампа биос в некоторые китайские платы на сокете 2011.
Работает программа как из под командной строки windows, так и под дос. Мы будем пользоваться загрузочной dos флешкой. В нашем конкретном случае используется плата Huanan x79 Deluxe Gaming.
Все действия выполняем на свой страх и риск.
Данная инструкция писалась для китайских плат 2011 сокета, для работы с которыми подходит версия FPT 8.1.60.1561. Для сокета 2011-3 можно попробовать использовать версию 9.1.10.1000, скачать которую можно также внизу данной страницы.
Создаем загрузочную флэшку с FPT
На загрузочной флешке удобно хранить сразу fpt и afudos. Afudos может пригодится, если в процессе прошивки будут ошибки.
- Скачиваем Rufus и создаем в нем загрузочную флешку с параметрами как на скриншоте.
- Скачиваем архив Intel ME System Tools v8 r1 внизу данной страницы, распаковываем и копируем на созданную флешку все файлы, лежащие в папке System Tools v8 r1\Flash Programming Tool\DOS\
- Если планируется не только сделать бэкап, но и прошить модифицированный дамп — копируем его в корень флешки. Для удобства назовем его new.bin
- (Опционально) На всякий случай, копируем на флешку Afudos.
Создаем fullflash бэкап
- Загружаемся с созданной флешки. FreeDOS спросит, какую раскладку клавиатуры мы хотим использовать, выбираем US-English.
- Появляется командная строка. Для создания бэкапа пишем fpt -d fullbackup.bin и дожидаемся надписи FPT Operation Passed. Теперь на нашей флешке сохранен дамп биоса в указанном файле.
Прошиваем fullflash дамп
- Все в той же командной строке пишем
fpt -f new.bin - Прошиваем Bios повторно этой же командой, часто с первого раза не всё прошивает, потом допрошивает. Некоторые платы в принципе шьются только со второго раза.
В результате мы должны увидеть примерно такую надпись
Источник
Модификация UEFI BIOS, часть вторая: полезные модификации
Введение и еще один отказ от ответственности
Не хочу повторять свою тираду про необходимость SPI-программатора и тот факт, что все модификации вы делаете на свой страх и риск, поэтому если вдруг вы ее не читали — прочтите и возвращайтесь.
С этого момента я полагаю, что с восстановлением после неудачной прошивки у вас пролем нет, и с UEFITool’ом вы тоже знакомы, поэтому останавливаться на технических вопросах типа «Как мне вытащить из образа файл» и «как потом его вставить обратно» не буду.
Необходимые инструменты
Чтобы успешно модифицировать ваш образ UEFI BIOS, могут потребоваться следующие инструменты:
- Hex-редактор на ваш выбор.
- Редактор образов UEFI, в качестве которого я, по понятным причинам, буду использовать UEFITool, но вы также можете использовать PhoenixTool (универсальный и хорошо отлаженый, но не без ограничений) или MMTool (более или менее сносно работает только с образами AMI Aptio).
- Если для необходимой модификации не нашлось постоянного паттерна, могут потребоваться ассемблер и дизассемблер с поддержкой x86-64. Ассемблера вполне досточно онлайнового, а вот дизассемблер нужен нормальный, иначе поиски точки модификации могут сильно затянуться.
К сожалению, бесплатная версия IDA Pro не поддерживает разбор 64-битных PE-файлов, поэтому для Windows я рекомендую использовать утилиту dumpbin, входящую в набор компиляторов Microsoft, а для MacOS X — либо objdump, либо пробную версию Hopper Disassembler. - Если модификация может быть выполнена утилитой от производителя UEFI-платформы, пусть ей она и будет выполнена — это надежнее, чем вручную. К сожалению, «узок круг этих революционеров и страшно далеки они от народа», поэтому чаще всего подходящей утилиты от производителя не существует.
Модификации
Довольно предисловий, перейдем к сами модификациям. Здесь я опишу только те модификации, которые протестировал сам, поэтому список может быть обязательно будет неполным. Если вы пробовали какие-то другие моды — прошу поделиться результатами в коментариях. Формат описания будет таким: название модификации или класса модификаций, назначение и краткое описание необходимых шагов. Поехали.
CPU PM patch, MSR 0xE2 lock removal
Достаточно заменить в этом месте 00800018 на 00000018 и 00800000 на 00000000, чтобы обойти установку лока.
В PowerManagement код выглядит иначе, чаще всего вот так:
Можно заменить JNE на JMP, BTS на BTR или просто «занопать» весь код установки лока. Проще всего сделать первое, т.е. поменять 75 08 на EB 08.
Если такого кода в вашем UEFI BIOS не нашлось, ищите в драйверах, относящихся к CPU Power Management, значение 0xE2, и проверяйте весь код на предмет установки 15-го бита. В последних версиях BIOSов для некоторых современных десктопных плат AMI перестали лочить этот регистр, поэтому такого кода в них уже не найти — считайте, что производитель сделал этот мод за вас.
AES NI unlock
Что: обход установки бита LOCK (0x02) в регистр MSR 0x13C
Зачем: включение аппаратного ускорения AES на системах с экспортными ограничениями
Где искать: в UEFI-драйверах, относящихся к CPU PM, чаще всего в PowerManagement
Способ модификации: мало чем отличается от PM patch’а (и уже был описан на хабре), поэтому останавливаться подробно на нем не буду.
Whitelist removal
Все переходы к этому коду необходимо пропатчить на безусловные, а в самом коде необходимо «занопать» первую и вторую строки, после чего проверка всегда будет заканчиваться успешно.
BIOS lock removal
Можно изменить JE на JMP, но иногда вместо короткого прыжка попадается длинный, у которого приходится дополнительно вычислять смещение, поэтому лучше изменить test на любую команду, устанавливающую флаг ZF, например на xor rax, rax (48 31 C0), а возможную разницу в размерах команд исправить добавлением NOP’ов.
Если в PchInitDxe нужного кода не нашлось, можно изменить драйвер BiosWriteProtect таким образом, чтобы обойти регистрацию находящегося в нем SMI-обработчика, который устанавливает бит BLE при попытке его сброса, после чего для разблокировки прошивки достаточно сбросить этот бит. У меня отлично работает вышеописанный способ, поэтому этот вариант я пока не пробовал и потому подробно описывать не буду.
Advanced settings unlock
Что: разблокировка доступа к скрытым настройкам BIOS Setup.
Зачем: среди эти настроек может попасться что-то интересное, но обычно их скрывают не просто так.
Где искать: для Phoenix и Insyde меню хранится в HII-файлах с именами вроде SetupMain, SetupAdvanced и т.п. Для AMI меню хранится в файле Setup, а настройки — в AMITSE. Более того, AMI предоставляет пороизводителям end-user продуктов свою программу AMIBCP, версии которой частенько утекают в публичный доступ. Работа с ней достаточно проста, поэтому описывать её я не вижу смысла — скачайте и попробуйте.
Способ модификации: для AMI — открываем образ в AMIBCP, меняем настройки по умолчанию, сохраняем, прошиваем, выполняем сброс настроек, готово. Для Insyde и Phoenix все немного сложнее. Если доступ на запись в NVRAM не запрещен, можно воспользоваться методом товарища Falseclock, описанным в этой его статье, а вот если доступа нет — придется модифицировать прошивку. Потребуется разобрать формат HII Form File либо вручную, либо предоставить это скрипту, описанному в вышеупомянутой статье, или утилите Universal IFR Extractor, которую необходимо натравить на извлеченные из образа UEFI файлы HII. После этого достаточно изменить в извлеченном файле HII Form условия SUPRESS_IF так, чтобы они никогда не выполнялись, и все меню станут доступны.
CPU Microcode, OptionROM, drivers and images update
Что: обновление микрокодов CPU, прошивок различных переферийных устройств, EFI-драйверов и отображаемых при загрузке и в BIOS Setup картинок.
Зачем: иногда обновление помогает исправить ошибки в работе системы, иногда добавляет поддержку важной фичи (работу TRIM для SSD в RAID0, к примеру), но чаще всего обновление производится потому, что наконец вышла новая версия.
Где искать: сильно зависит от производителя, EFI-драйверы можно найти просто по имени (SataDriver, например), микрокод можно найти по Model ID процессора, для которого он предназначен, OROMы — по VID/DID устройств, которые они обслуживают, картинки в формате JPEG можно найти по строке «JFIF», в GIF — по «GIF8» и т.п.
Способ модификации: прост как мычание — найти новую версию в свободном доступе, найти, где в образе лежит старая, и заменить одно на другое. Для AMI товарищем LS_29 был написан набор для автоматического обновления на основе утилиты MMTool, скачать можно из нашей темы на оверах. Об автоматизированных решениях для Phoenix или Insyde я пока не слышал.
Замена картинок может быть сделана либо утилитами вроде AMI ChangeLogo, либо вручную, но чаще всего не подготовленная специальным образом картинка вызывает зависание, т.к. декодеры форматов изображений бывают сильно ограничены. В общем, данные EXIF лучше удалить заранее.
Источник