Принесли коллеге ноутбук с поврежденным BIOS, ноутбук Lenovo в процессе обновления прошивки окирпичился, да, увы, так к сожалению бывает. Я обычно говорю — чудес не бывает — а фигня случается постоянно. Так как проблема понятная и диагностика неисправности по сути не нужна, причина не запуска ноутбука понятна, приступим к восстановлению прошивки BIOS.
Для начала выпаиваем SPI микросхему BIOS, вставляем в программатор и снимаем дамп.
Lenovo_родной.Bin — это наш поврежденный дамп прошивки. Открыв в hex редакторе я увидел что-то такое:
К сожалению на корпусе отсутствовала информация по точной модели ноутбука, у нас есть только модель платы GS440&GS540 NMC511 Rev:1.0 :
Для начала узнаем точную модель аппарата, для этого дешифруем дамп BIOS в части DMI информации ноутбука, для этого будем использовать программу Lenovo DMI Decryptor
Свежая версия программы 1.4.5 к сожалению хоть и имеет графический интерфейс — послала нас в пешее эротическое путешествие:
Пришлось воспользоваться более старой версией без графического интерфейса: Lenovo DMI Decryptor | v1.3.1
Из описания утилиты у нас есть разные команды:
LENV.exe "BIOS.bin" -info ["Info.txt"] Prints info in console (or to «Info.txt» if added)
LENV.exe "BIOS.bin" -decrypt ["BIOS_DECRYPTED.bin"] Decrypts DMI region and writes results to input file (or to «BIOS_DECRYPTED.bin» if added)
LENV.exe "BIOS.bin" -encrypt ["BIOS_ENCRYPTED.bin"] Encrypts DMI region and writes results to input file (or to «BIOS_ENCRYPTED.bin» if added)
LENV.exe "BIOS.bin" -extract "BIOS_DMI.bin" Extracts DMI region to file «BIOS_DMI.bin»
LENV.exe "BIOS.bin" -transfer "BIOS_TARGET.bin" Transfers DMI region from «BIOS.bin» to «BIOS_TARGET.bin» (Note: DMI regions size has to match. Only use the same model/check if the encryption/decryption byte matches)
Дешифруем дамп:
Кладем LENV.exe в папку рядом с дампом BIOS, у нас это D:\Lenovo BIOS
Открываем командную строку от имени Администратора, переходим в каталог и даем команду на анализ Info:
cd /d D:\Lenovo BIOS
LENV.exe «Lenovo_родной.Bin» -info Info.txt
После анализа из Info.txt получаем такую информацию:
File name: Lenovo_родной.Bin
File size: 8388608 KB
LENV offset 1: 0x1000
LENV offset 2: 0x2000
Encryption/decryption byte: 0xec
DMI region size: 0x2000
Data strings LENV block 1: 14
Data strings LENV block 2: 13
Это значит, что в дампе в двух местах дублируется информация DMI.
Делаем дешифровку дампа:
LENV.exe «Lenovo_родной.Bin» -decrypt Lenovo_родной_DECRYPTED.bin
Видим, что программа отработала:
Success: DMI successfully decrypted with key ec
Рядом с файлом дампа появился файл Lenovo_родной_DECRYPTED.bin, открываем его в hex редакторе и переходим в поиске по слову LENV:
Здесь мы увидим модель аппарата: IdeaPad S145-15API 81UT0064R , серийные номера, а также ключ Windows:
Отлично, что за зверь мы узнали, теперь нам нужен инженерный дамп. Нарежем его из официального обновления Lenovo с официального сайта:
Скачиваем обновление BIOS по модели ноутбука:
Запускаем и распаковываем в отдельную папку:
Нас интересует файл BIOS.cap
Он отличается по размеру от нашего дампа снятого программатором:
Нужно выделить тело BIOS из BIOS.cap, для этого воспользуемся программой UEFIExtract из пакета LongSoft/UEFITool.
Скачиваем UEFIExtract_NE_A74_win64.zip и распаковываем рядом с файлов BIOS.cap:
Переходим в командную строку от имени Администратора, переходим в каталог:
cd /d D:\Lenovo BIOS\UPDATE
Запускаем UEFIExtract.exe и видим список команд:
Нам нужна команда UUEFIExtract imagefile all, вводим команду:
UEFIExtract BIOS.CAP all
После выполнения команды увидим созданные рядом с BIOS.CAP папки и файлы:
В папке BIOS.CAP.dump ищем файл body.bin соответствующий размеру нашего дампа: 800000h (8388608)
Файл body.bin это и есть наш инженерный дамп без серийных номеров, далее будем работать с ним. Копируем его в папку рядом с Lenovo_родной.Bin
Теперь нам необходимо перенести серийные номера и DMI информацию с поврежденного дампа Lenovo_родной.Bin в наш инженерный body.bin
Для этого воспользуемся снова утилитой LENV.exe и командой LENV.exe "BIOS.bin" -transfer "BIOS_TARGET.bin"
LENV.exe Lenovo_родной.Bin -transfer body.bin
Модифицированный файл body.bin это и есть наш подготовленный для прошивки дамп! Остается залить дамп во флешку программатором и запаять обратно на плату, собрать ноутбук и включить!
Легких Вам Ремонтов!






















