Модификация БИОС AWARD материнской платы Gigabyte GA-M68SM-S2 v1.0 под новый процессор или Как обновить свой БИОС, потеряв надежду
Давным-давно, когда процессорный разъём AM2 был актуальным и были надежды сохранения его совместимости с последующими, я купил материнку Gigabyte GA-M68SM-S2 с процессором Sempron LE-1100 и почти сразу обновил БИОС. Для тех задач мне этого хватало, а с течением времени, когда стоимость на вторичном рынке камней сильно упала, я купил уже Athlon 64 X2 5400+ и сразу почувствовал разницу.
- Что понадобится для работы
- Вытаскиваем нужные файлы
- Удаляем из оригинального образа
- Вставляем изменённый System BIOS
- Добавляем в оригинальный образ
- Окончание
И всё бы хорошо, тем более, что мне подарили ещё и неплохую видеокарту Sapphire ATI Radeon 4870 1GB, а я к этому добавил немного памяти и довёл её объём до 12 ГБ, но… Хочется повкуснее. И некоторое время назад пошёл за новым процессором. Так как этот сокет электрически совместим с AM2+ и AM3, то выбирал по деньгам. Кулер тоже давно взял с запасом — на 130 TDP.
Но оказалось, что не всё так просто и много чего упиралось в другое. Например, моя матплата официально поддерживала только процессоры до Athlon 64 X2 6400+ и ничего с более новых сокетов. Самый последний БИОС я, естественно, прошил уже давно.
Ну, ладно. Объяснив ситуацию продавцу процессоров, я потащил свой очень тяжёлый системник через всю Москву (как улучшал корпус ещё расскажу). Изрядно оттянув руки система была привезена на тест. Проверив несколько старших процессоров и не дождавшись никакого отклика от материнской платы, мы воткнули Athlon 64 X2 6000+ и только с ним всё зашелестело. Сделав выводы, мы ударили по рукам и я уехал хоть и не с самым продвинутым камнем, но явно с лучшим, чем был у меня.
Что интересно,
на этой системе я играю в Far Cry 3 с максимальными настройками в Full HD и у меня ничего не тормозит. Также и с другими задачами. В общем, мои задачи не могут перегрузить систему. Но хочется лучше! Тем более, что максимальный процессор Phenom II X6 1100T можно сейчас купить за 2500-3000 рублей.
Отодвинув мысль о несправедливости мира, я не забил её окончательно и некоторое время назад подумал: «А может что-то можно сделать с БИОСом?». Покурив интернет я понял, что можно, и дальше покажу как изменить прошивку, чтобы она понимала новые процессоры. А некоторые, не побоюсь этого слова, гениальные, личности даже добавляют новые функции.
Что понадобится для работы
Для работы нам понадобится тройка программ: cbrom32, bit (BIOS Info Tool) и какой-нибудь шестнадцатеричный редактор наподобие HxD. И конечно-же не забываем про cmd. PowerShell мне как-то не зашёл. Ещё не забудем про оригинальный БИОС и БИОС донора (Gigabyte GA-MA785GM-US2H vF12F). Все проги можно скачать в инете.
Смотрим файл с оригинальной прошивкой
cbrom32 m68sms2.f3 /d
и видим куцую строчку с микрокодами
Bridge ID | Bridge ID
North South Update ID CPUID | North South Update ID CPUID
---------------------------------------+| 0062 00000414| 0068 0000040A C0012102 00000401
006D 0000041| 0083 00000680|
Вытаскиваем нужные файлы
Дальше запускаем командную оболочку Windows, переходим в рабочий каталог и запускаем BIOS Info Tool
bit M785GS2H.12f
Достаём AGESA
Эта команда распакует всё что можно в отдельный каталог. Из всего этого разнообразия нам нужен только файл с последней версией AGESA (AMD Generic Encapsulated Software Architecture — Общая архитектура инкапсулированного программного обеспечения AMD) AGESACPU.ROM. Его мы копируем в рабочую директорию. Файл с логом отработки report.dat нам также пригодится.
Достаём CPU micro code
Из этого же БИОСа достанем файл с микрокодами процессоров (CPU micro code) NCPUCODE.BIN с помощью шестнадцатеричного редактора. Этот файл хранится в этой прошивке в распакованном виде, а в нужном нам образе БИОСа запакованном. Нам нужен именно распакованный, т. к. при добавлении микрокодов мы используем ключ /cpucode и модуль внедрится в упакованном виде. Распаковать файл тоже не проблема — используется архиватор lzh с пятым методом сжатия и это видно в заголовке — там записано -lh5-. Но этот модуль нам уже распаковала утилита bit.
Выясняем длину этого файла
cbrom32 M785GS2H.12f /d
в строчке
(SP) NCPUCODE 06800h(26.00K) 06800h(26.00K) NCPUCODE.BIN
это 06800h(26.00K)
Загружаем в редактор файл с BIOS донора и ищем последовательность *ALIN16*. Байт перед звёздочкой — это последний байт нужного нам файла. А чтобы найти начало файла применяем формулу: Адрес последнего байта — Длина файла NCPUCODE.BIN + 1 = Адрес начала файла. Считаем в шестнадцатеричном калькуляторе, который есть в Windows 10 или в самих редакторах. Например в данном случае: E3FDF — 6800 + 1 = DD7E0. Выделяем всё это и сохраняем в файл CPUCODE.BIN в рабочей директории. Сражу же на него ставим защиту от записи.
Иногда этот файл можно вытащить с помощью awbedit (Award BIOS Editor), но именно в этом образе программа его не увидела.
Из оригинального образа БИОСа GA-M68SM-S2 тоже всё вытаскиваем. Последняя версия F3
bit m68sms2.f3
Отсюда нам нужны почти все файлы, но в первую очередь я поработал с системным файлом (System BIOS) и поменял там номер версии, дату и вписал своё имя. Делал всё это в том же шестнадцатеричном редакторе.
Запакуем файл, используя ненужный образ, например
cbrom32 M785GS2H.12f /other 5000:0 m68sms2.BIN
и в рабочей директории появится файл bios.rom, который мы потом вставим в новый пустой образ БИОСа. Файлик пока уберём подальше.
Удаляем из оригинального образа
Начнём удалять всё из оригинальной прошивки снизу вверх
e:\bios>cbrom32 m68sms2.f3 /gv3 release
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
[GV3] ROM is release
и cbrom рапортует, что удалил один из модулей.
Можем посмотреть удалилось или нет
cbrom32 m68sms2.f3 /d
Дальше
e:\bios>cbrom32 m68sms2.f3 /oem0 release
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
[OEM0] ROM is release
e:\bios>cbrom32 m68sms2.f3 /vga release
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
VGA ROM - - - [1] : mcp68-02.rom
[VGA-1] ROM is release
С PCI ROM своя история
e:\bios>cbrom32 m68sms2.f3 /pci release
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
PCI ROM - - - [A] : NVPXES.NIC
PCI ROM - - - [B] : NVRAID.ROM
PCI ROM - - - [C] : AHCI_NV.BIN
выбираем C
Enter a choice:c
[PCI-C] ROM is release
остальные удаляем также, но последний даже выбирать не пришлось. Умная программа догадалась, что его надо удалить.
Следующий шаг
cbrom32 m68sms2.f3 /oem2 release
Потом удаляем GROUP ROM. Номер группы пишется в квадратных скобках
cbrom32 m68sms2.f3 /group0 release
Надо удалить
7. YGROUP ROM 0B080h(44.13K) 04A5Bh(18.59K) awardeyt.rom
и оказывается, что во встроенной справке не записан ключ для работы с таким блоком. Но ключ этот есть — /ygroup
e:\bios>cbrom32 m68sms2.f3 /ygroup release
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
[YGROUP] ROM is release
Удаляем группы 20 и 18
e:\bios>cbrom32 m68sms2.f3 /group20 release
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
[GROUP] ROM is release
e:\bios>cbrom32 m68sms2.f3 /group18 release
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
[GROUP] ROM is release
Далее EPA логотип
e:\bios>cbrom32 m68sms2.f3 /epa release
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
[EPA] ROM is release
И таблица ACPI
e:\bios>cbrom32 m68sms2.f3 /acpitbl release
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
[ACPI] ROM is release
CPU micro code тоже удаляем, тем более, что он под замену
e:\bios>cbrom32 m68sms2.f3 /cpucode release
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
[CPUCODE] ROM is release
Если системный БИОС не изменяли, то на этом можно закончить и начать добавлять модули. Если изменяли, то продолжим удалять.
Опять ключ, отсутствующий во встроенном help /xgroup
e:\bios>cbrom32 m68sms2.f3 /xgroup release
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
[XGROUP] ROM is release
И у нас остался только System BIOS и модуль NVMM. Системный БИОС удалить невозможно, а nVIDIA memory module мы не трогаем.
Вставляем изменённый System BIOS
Чтобы вставить новый системный БИОС, мы открываем оригинальный образ БИОСа нашей материнской платы, из которого мы всё удалили, в шестнадцатеричном редакторе и вставляем в него с самого начала тот bios.rom, который отложили в сторонку. Если внедряемый БИОС окажется чуть больше, то только сохраняем оригинальный образ, а если он чуть меньше, то заливаем байты, оставшиеся от старого БИОС байтами FF (так рекомендуют) и также сохраняем.
Добавляем в оригинальный образ
А сейчас начинаем добавлять в том же порядке, что и удаляли. Это делаем из-за того, что некоторые BIOS не запускаются, если порядок файлов в нём другой. Добавляем разархивированные файлы, а скомпрессированные не трогаем. Если что, то порядок можно посмотреть в report.dat, который нам выдал bit или подсмотрим в не изменённом БИОС командой
cbrom32 m68sms2.f3 /d
Только не сотрите случайно файл, над которым мы так долго работали!
e:\bios>cbrom32 m68sms2.f3 /xgroup awardext.rom
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding awardext.rom ....... 69.4%
Первый пошёл! Вторым пойдёт наш файл с микрокодами процессора, который мы вытащили из БИОСа донора CPUCODE.BIN. Не забываем, что он должен быть защищён от записи.
e:\bios>cbrom32 m68sms2.f3 /cpucode CPUCODE.BIN
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding CPUCODE.BIN ... 16.0%
Проверяем
cbrom32 m68sms2.f3 /d
и видим
** Micro Code Information **
Bridge ID | Bridge ID
North South Update ID CPUID | North South Update ID CPUID
---------------------------------------+| 1000002 00000| 0062 00000414 C0012102 00000401
0068 0000040| 006D 0000041B| 0083 00000680| 1000020 00001000
1000085 0000| 10000BF 00001| 10000C6 00001| 10000C7 00001062
10000C8 0000| 10000C9 00001| 10000CA 00001| 0
что микрокодов стало существенно больше.
Идём в обратном порядке
e:\bios>cbrom32 m68sms2.f3 /acpitbl ACPITBL.BIN
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding ACPITBL.BIN .. 38.4%
e:\bios>cbrom32 m68sms2.f3 /epa AwardBmp.bmp
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding AwardBmp.bmp 11.1%
e:\bios>cbrom32 m68sms2.f3 /group18 ggroup.bin
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding ggroup.bin 72.9%
e:\bios>cbrom32 m68sms2.f3 /group20 ffgroup.bin
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding ffgroup.bin 77.0%
e:\bios>cbrom32 m68sms2.f3 /ygroup awardeyt.rom
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding awardeyt.rom ..... 42.0%
e:\bios>cbrom32 m68sms2.f3 /group0 _EN_CODE.BIN
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding _EN_CODE.BIN ... 40.8%
e:\bios>cbrom32 m68sms2.f3 /oem2 BSMICODE.ROM
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding BSMICODE.ROM ...... 3.2%
e:\bios>cbrom32 m68sms2.f3 /pci NVPXES.NIC
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding NVPXES.NIC ....... 51.4%
e:\bios>cbrom32 m68sms2.f3 /pci NVRAID.ROM
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding NVRAID.ROM ...... 62.8%
e:\bios>cbrom32 m68sms2.f3 /pci AHCI_NV.BIN
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding AHCI_NV.BIN .. 62.6%
e:\bios>cbrom32 m68sms2.f3 /vga mcp68-02.rom
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding mcp68-02.rom ....... 71.1%
e:\bios>cbrom32 m68sms2.f3 /oem0 SBF.BIN
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding SBF.BIN . 73.7%
Последний файл AGESACPU.ROM опять берём с образа донора и добавляем
e:\bios>cbrom32 m68sms2.f3 /gv3 AGESACPU.ROM
cbrom32 V1.99 [02/12/2010] (C)Phoenix Technologies 2001-2008
Adding AGESACPU.ROM .... 34.0%
Должно получиться точь-в-точь как было, за исключением двух блоков — 2. CPU micro code и 15. GV3. И у нас даже осталось 109 КБ свободного пространства.
******** m68sms2.f3 BIOS component ********
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Total compress code space = 67000h(412.00K)
Total compressed code size = 4BC00h(303.00K)
Remain compress code space = 1B400h(109.00K)
*** NVMM 4.081.6403/19/08 ◄♥ * Start Offset => 0, End Offset => 4b00 ***
** Micro Code Information **
Bridge ID | Bridge ID
North South Update ID CPUID | North South Update ID CPUID
---------------------------------------+| 1000002 00000| 0062 00000414 C0012102 00000401
0068 0000040| 006D 0000041B| 0083 00000680| 1000020 00001000
1000085 0000| 10000BF 00001| 10000C6 00001| 10000C7 00001062
10000C8 0000| 10000C9 00001| 10000CA 00001| 0
Окончание
Теперь это можно прошить в микросхему BIOS и запустить компьютер. Естественно делать это стоит только, если есть возможность откатиться на точно рабочий БИОС, например, если на материнской плате стоит Dual BIOS или у вас есть программатор. Я не рискнул, т. к. у меня нет ни того, ни другого.
Я попросил на форумах прошить результат более опытных и имеющих нужное людей. Пока нет видимых результатов и я начал засматриваться на детальки на китайском сайте. Так что есть вероятность, что буду экспериментировать с железками сам и что появится вторая часть. Но также прошу и вас попробовать — файл здесь. О результатах отпишитесь, пожалуйста.
Для мгновенного получения новостей можно подписаться:
. . . . .
И СПАСИБО за помощь перечислением на карту банка ВТБ N 4893 4704 9763 5810, привязанную к телефону +7-927-842-36-72 АНАТОЛИЙ ИВАНОВИЧ А. !
Наша "Политика конфиденциальности"
啥也不说了,希望疫情早点结束吧!
Hi Man,How Are You Doing
Hi! I am fine and you?
You choose peace or war?
I choose not to answer, because for the wrong answer I can go to prison
How is the COVID situation over there?
Almost the same as everywhere:)
kLfboYKFQpRA
So you are a man or woman?
I am a man
Where there is a will, there is a way.
疫情还在影响生活!唉!
I’m impressed, I have to admit. Seldom do I encounter
a blog that’s both educative and engaging, and
without a doubt, you’ve hit the nail on the head. The problem is
something which not enough folks are speaking intelligently about.
I am very happy I came across this during my hunt for something regarding this.
Awesome site you have here but I was wondering if you knew of any discussion boards that cover the
same topics discussed in this article? I’d really love to be a part of group where I can get opinions from other knowledgeable people
that share the same interest. If you have
any suggestions, please let me know. Thanks!
Hello! I use this sites:
https://www.bios-mods.com
https://forum.ixbt.com
https://forums.mydigitallife.net
https://forums.overclockers.ru/
http://www.rom.by/forum
https://www.wimsbios.com/forum
https://www.win-raid.com