Как извлечь файл биоса из exe. Альтернативный способ модификации AMI BIOS для поддержки процессоров в конструктиве LGA771

Универсальная программа для снятия прошивок и бекапов БИОСа с любых моделей ноутбуков и персональных компьютеров.

Дамп надо делать всегда, когда мы хотим сделать прошивку, обновление, update или откат БИОС. Иногда просят сделать копию БИОСа ноутбука или материнской платы персонального компьютера, для ремонта аналогичного оборудования.

А что же такое БИОС и как это расшифровывается эта аббревиатура.

БИОС это сокращения от английских слов Base_Input_Output_System и переводится это как базовая_система_ввода_вывода

Делать дамп БИОСа ноутбуков и компьютеров при помощи этой программы очень легко и просто.

Краткая инструкция как пользоваться программой Universal BIOS utility Backup ToolKit 2.0 для создания bios damp, а по-русски резервную копию.

Видео инструкция по работе с этой программой.

Многие антивирусы определяют эту программу как вирус, но это не так.

После скачивания можете проверить этот архив на сайте www.virustotal.com который, скажет что половина антивирусов найдут в нём различные вирусы, а вторая половина не найдёт.

Мой AVG определяет его то же как вирус. А на буке каспер говорит, что всё нормально.

После проверки этого файла посмотрите, находит ли ваш антивирус в нём вирус. Если да то отключите его на время работы программы.

Потом распаковываем архив и запускаем полученный файл с именем Universal BIOS Backup ToolKit 2.0.exe

Если ваша система скажет что требуются права администратора. Тогда щелкаем правой клавишей мыши по этому файлу и жмём пункт запустить от имени администратора.

После этого открывается окно программы, в которой мы видим информацию о типе, версии, размере, производителе и дате вашего БИОСа.

После этого, жмем кнопку Read и ждем, пока не закончится процесс чтения БИОСа.

После этого появится табличка с надписью, что чтение БИОСа завершено успешно.

Жмём ОК. Потом жмём кнопку Backup.

Нам предлагают выбрать место, куда мы сохраним дамп БИОСа. Выбираем нужную папку и жмём кнопку сохранить.

Все мы с вами сделали резервную копию БИОСа, можно обновить версию, шить новую или старую стабильную версию БИОСа.

Как извлечь файлы BIOS Dell?

Скопируйте файл BIOS.exe на диск C:
Запустить командную строку в режиме администратора и напишите это:

cd\
bios.exe /writeromfile
bios.exe /writebinfile
bios.exe /writehexfile

» bios.exe — это файл загруженный c сайта Dell. «

Распакованный файл bios, будет скопирован на диск C:!

Распаковка новых BIOS Dell.

  • Скачиваем интерпретатор Python 2.7.
    https://www.python.org/download/releases/2.7/
  • Устанавливаем Python 2.7 на компьютер (именно этой версии!).
  • со скриптом Python — DecompNewDell.py.
  • Извлеченный из архива скрипт DecompNewDell.py копируем в папку с интерпретатором Python (обычно это C:\Python27).
  • Также в папку с интерпретатором (обычно это C:\Python27) копируем наш скаченный с сайта dell bios. Переименовываем его в biosupdate.exe. Должно получиться как на фото ниже.
  • Запускаем командную строку Windows в режиме администратора и пишем это:

cd\
cd Python27
python DecompNewDell.py biosupdate.exe

Должно получиться как на фото ниже.


И в папке с Python (обычно это C:\Python27), появится файл biosupdate.exe_decompressed.hdr.

  • с программой PFSExtractor.exe, извлекаем программу в ту же папку где у нас был создан файл.hdr (обычно это C:\Python27).
  • В командной строке Windows пишем:

PFSExtractor biosupdate.exe_decompressed.hdr

Получится как на фото ниже.


И будет создана папка biosupdate.exe_decompressed.hdr.extracted, внутри которой находятся все извлеченные файлы из которых можно собрать дамп для прошивки на программаторе. Готово!

Собственно, оригинальный способ, оснастку и микрокоды можно найти (непосредственно инструкция по AMI ), и в большинстве случаев использование этого способа не несет никаких проблем и не имеет подводных камней, но я в своей практике регулярно сталкивался с такой проблемой:

Т.е. имела место банальная нехватка свободного места внутри образа. Когда модифицируешь BIOS для себя под конкретный процессор, на это можно не обращать внимания, т.к. всегда можно загрузить всего один микрокод именно под свой процессор, либо удалить какой-нибудь старый микрокод для освобождения места, но когда модифицируешь потоком, нужно искать другое решение, компромиссное.

В качестве компромисного я выбрал следующее решение — берем последние версии микрокодов для всех процессоров поколения CORE во всех конструктивах (Celeron E, Pentium E, Core 2 Duo, Core 2 Quad, Xeon *3xxx/*5xxx) и подменяем ими всё что было до того. Набор микрокодов получился следующий:

Объём этого набора — всего 76 килобайт. Данный файл получился путём объединения этих файлов:

cpu00010676_plat00000001_ver0000060f_date20100929.bin
cpu00010676_plat00000004_ver0000060f_date20100929.bin
cpu00010676_plat00000010_ver0000060f_date20100929.bin
cpu00010676_plat00000040_ver0000060f_date20100929.bin
cpu00010677_plat00000010_ver0000070a_date20100929.bin
cpu0001067a_plat00000011_ver00000a0b_date20100928.bin
cpu0001067a_plat00000044_ver00000a0b_date20100928.bin
cpu000006f2_plat00000001_ver0000005d_date20101002.bin
cpu000006f6_plat00000001_ver000000d0_date20100930.bin
cpu000006f6_plat00000004_ver000000d2_date20101001.bin
cpu000006f7_plat00000010_ver0000006a_date20101002.bin
cpu000006f7_plat00000040_ver0000006b_date20101002.bin
cpu000006fb_plat00000001_ver000000ba_date20101003.bin
cpu000006fb_plat00000004_ver000000bc_date20101003.bin
cpu000006fb_plat00000010_ver000000ba_date20101003.bin
cpu000006fb_plat00000040_ver000000bc_date20101003.bin
cpu000006fd_plat00000001_ver000000a4_date20101002.bin

Сама процедура модификации тоже немного изменилась и стала если не проще, то быстрее:

Шаг 1 — открываем образ BIOS в программе MMTool:



Шаг 2 — для проверки переходим на последнюю вкладку (CPU PATCH) и смотрим количество микрокодов. Здесь их к примеру 31 штука:

Шаг 3 — переходим на вкладку Replace и ищем на ней пункт «P6 Micro Code»:

Шаг 4 — выбрав пункт «P6 Micro Code» жмём кнопку Икщцыу, выбираем файл ncpucode.bin, описанный выше и заменяем его кнопкой Replace:





Шаг 5 — для проверки переходим на последнюю вкладку (CPU PATCH) и смотрим количество микрокодов. После подмены микрокодов осталось 17, версия самая последняя:

Фундаментальной разницы с порядком модификации, описанным на delidded.com нет. В большинстве случаев на выходе получается конечно не то же самое, но процессор получает нужный микрокод. Из субъективных положительных моментов я хотел бы обратить внимание лишь на то, что гарантированно обновляются микрокоды на все актуальные процессоры, будь то «гражданские» или «серверные», а так же практически нет риска получить сообщение о нехватке места. Хотя, в моей практике даже на такой набор микрокодов пару раз места не хватало, это было с BIOS для плат ECS P4M900T-M и ECS P4M900T-M2, которые в общем совместимы с Xeon E5450.

По традиции публикую ссылку на архив с инструментами — (zip, 234KB). Архив содержит исполняемый файл MMTOL.exe (версия 3.22 BKMOD), файл с микрокодами на все 45/65nm процессоры поколения core/xeon ncpucode.bin , а так же два файла 45nm.bin и 65nm.bin с микрокодами только на 45nm процессоры и только на 65нм. Использование этих файлов может быть полезным в тех случаях когда необходимо освободить дополнительный объём в BIOS, например, для новой firmware какого-то контроллера, сетевого, дискового и пр.

!NB : Ни в файле ncpucode.bin, ни в файлах 45nm.bin/65nm.bin нет поддержки процессоров Pentium 4, Celeron (без буквенных индексов), Pentium D, Celeron D и Xeon W (Xeon 5080 например). Это процессоры поколения NetBrust.