Как разрезать файл BOIS на примере ноутбука DNS (Clevo W350ET)
Всем привет.
При ремонте одного ноутбука, столкнулся с проблемой, одна из микросхем памяти, оказалась битой. Сам девайс включается, но изображение на экране отсутствует. Ноутбук DNS с материнской платой W350ETQ. После проверки всех напряжений, которые оказались в норме, дошло дело до прошивки микросхем памяти, которых к тому же оказалось аж 2 шт. Одна микросхема, это сам BIOS, вторая микросхема — это память мультиконтроллера. Документацию по ноутбукам Clevo можно найти по ссылке. Там, собственно, имеются и схемы, и пользовательские мануалы и файлы BIOS. И всё бы ничего вроде, качаем файл, запихиваем в микросхемы. Но не тут-то было. Сам файл прошивки в архиве представляет собой один общий файл, на обе микросхемы, соответственно в таком виде, он не подходит для прямой прошивки программатором.
После некоторого поиска на форумах, столкнулся с ГЛАВНОЙ по моему мнению проблемой форумов в российском сегменте интернета — это полное нежелание пользователей делиться знаниями. Это главное отличие российских форумов от зарубежных. Об этом сказано уже много, многие с этим не согласятся, но это увы ФАКТ. Если вы задали не понятный вам вопрос, то вам нахамят, скажут «не умеешь — не лезь», скажут, что вопрос идиотский и не стоит даже его обсуждать и в результате внятного ответа вы не добьетесь. Особенно заметно это на форумах по 1С, кому интересно, почитайте :) Ну да ладно.
Столкнулся и я с проблемой, что BIOS надо разрезать, умельцы с форумов отправляют обращаться к теории, огульно кидают «надо делить файлы», сравнивать файлы со старыми прошивками или вообще предлагают отрастить руки и купить другой программатор.
В результате, НИГДЕ не удалось найти конкретной информации по вполне конкретной модели, при том, что БИОСы могут быть разными и делить файлы надо по-разному. А в моём случае даже не с чем сравнивать т. к. микросхема мультиконтроллера вышла из строя и снять дамп, увы, не представляется возможным.
Ну да ладно, после небольшого отступления, приступим к делу.
И так, на руках плата W350ETQ, у неё имеются 2 микросхемы BIOS. Первая — 2 Мб (U29), сам BIOS. Вторая — 4 Мб (U30) память мультиконтроллера. С репозитория, ссылку на который я давал выше, я скачал архив W3xET_B0222.zip. Распаковываем архив и смотрим его содержимое.
В архиве представлены файлы для прошивки ноутбука путём запуска программы из DOS. Т. к. ноутбук не включается, прошить его данным способом не получится.
Открываем файл FLASH.BAT и смотрим его содержимое. Приведу лишь часть файла:
@echo off
@set BIOS.ROM=W370ET.bin
@if exist MSDM.BIN del MSDM.BIN
Как видим, из кода, для прошивки используется файл W370ET.bin, данный файл прошивается в микросхему 4 Мб (U30), память рядом с мультиконтроллером.
Для примера, я слил старый дамп микросхемы BIOS (та, которая ещё рабочая). Обратим внимание на начало и конец файла.
В архиве, так же имеется файл flashme.bat, открываем его и смотрим код:
fpt -f W370ET.ALL -L 0x200000 -y
Call flash.bat
fpt /closemnf < yes.txt
Afudos /S /SHUTDOWN
В первой же строке видим важную для нас информацию. Для прошивки используется файл W370ET.ALL, но сам файл весит 6 Мб, что очень много, но 6 Мб — это суммарный размер прошивок наших микросхем.
Так же, можно заметить упоминание адреса «0x200000». Это размер записываемых данных. Откроем файл W370ET.ALL и обратим внимание на начало файла. Начало данного файла полностью совпадает с началом дампа биоса.
Теперь, перейдём по адресу 0x200000, адрес указан в шестнадцатеричной системе, в десятичной это будет равно 2 Мб (2097152 байт). Через задание блока указываем размер от 0 до 2097152.
Выделенный блок и будет нашей прошивкой в микросхему 2 Мб. Данный блок можно скопировать и сохранить в новый файл. Либо отрезать оставшиеся 4 Мб, оставив начальные 2 Мб, а затем сохранить файл с другим именем.
Дальше, обратим внимание на блок, идущий следом за первыми 2 Мб (2097152 байт).
Последующие 4 Мб — это прошивка для второй микросхемы, обозначенной, как U30. Данная часть аналогична файлу W370ET.bin.
Для примера, я взял файл W370ET.ALL, кстати, из расширения файла логично предположить, что он содержит все (ALL) прошивки, и «отрезал» от него первые 2 Мб, и сохранил данный файл с именем W370ET_.bin. Затем, через инструмент сравнения сравнил полученный файл с файлом W370ET.bin. В результате, данные файлы полностью идентичны.
Надеюсь, что данная статья поможет вам разобраться в практической части вопроса работы прошивками BIOS для некоторых моделей ноутбуков.
Важное примечание, части прошивок BIOS’ов могут идти в разном порядке. В данном случае порядок был 2/4 Мб, а может быть 4/2. Для проверки, желательно иметь хотя бы 1 дамп из микросхемы с самого ноутбука.
ВАЖНО. На данных моделях прошивать надо обе микросхемы разом, разные версии прошивок микросхем могут быть не совместимы между собой.