Здесь я пишу свои идеи, мысли, описываю события своей жизни и просто делаю личные и рабочие заметки. «А Вы что, собираетесь жить вечно?»

Как разрезать файл 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 (та, которая ещё рабочая). Обратим внимание на начало и конец файла.

Начало файла дампа BIOS'a Конец файла дампа BIOS'a

В архиве, так же имеется файл 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 дамп из микросхемы с самого ноутбука.

ВАЖНО. На данных моделях прошивать надо обе микросхемы разом, разные версии прошивок микросхем могут быть не совместимы между собой.

Отправить
Поделиться
Запинить