Інтернет Windows Android

Витягти биос з exe. Або корисні поради для досвідчених користувачів

Привіт, шановні читачі сайту сайт! Мене звати Роман нахватом і я представляю вашій увазі третю і заключну частину статті про відновлення пошкодженої прошивки BIOS (на прикладі ноутбука Acer Aspire E1-532). Перед прочитанням даної частини статті рекомендується ознайомиться з і, в яких ми виконали розбирання ноутбука Acer Aspire E1-532, витягли з нього материнську плату, підключили до мікросхемі BIOS програматор CH341A і зберегли пошкоджену прошивку BIOS в окремий файл. Продовжимо нашу роботу підготовкою нового файлу прошивки BIOS і далі запишемо його в мікросхему BIOS.

Відновлення пошкодженої прошивки BIOS на ноутбуці программатором, в разі, якщо ноутбук не завантажується. Частина 3. Витяг прошивки BIOS з exe файлу для оновлення БІОС. Редагування файлу прошивки в HEX-редакторі і її запис в мікросхему BIOS

Перейдемо на сайт компанії Acer на сторінку підтримки ноутбука Acer Aspire E1-532.

І виконаємо скачування всіх доступних прошивок BIOS.

Наприклад, відкриємо папку з прошивкою версії 2.10.

У цій папці ми бачимо звичайний exe файл, запустимо його.

Після запуску файлу V5WE2210.exe отримуємо ось таке вікно з помилкою, в якому говориться про те, що дана прошивка BIOS не підходить для даного ноутбука або комп'ютера. Кнопку ОК поки не натискаємо, так як нам потрібно з файлу V5WE2210.exe витягти файл прошивки BIOS для нашого ноутбука Acer Aspire E1-532.

Переходимо на розділ С: по шляху

C: \\ Користувачі \\ Ім'я користувача \\ AppData \\ Local \\ Temp (ім'я користувача може бути будь-яким залежно від того, з яким ім'ям створена обліковий запис). В папці Temp бачимо тимчасову папку 7zS2C4E.tmp, яка з'явилася після запуску файлу V5WE2210.exe.

Відкриємо папку 7zS2C4E.tmp і бачимо в ній файл isflash.bin, який і є файлом прошивки мікросхеми BIOS. Скопіюємо даний файл на флешку.

Файл isflash.bin, скопійований на флешку.

Розмір даного файлу прошивки BIOS становить 9.45 MB.

При спробі відкриття цього файлу прошивки в програмі CH341A-USB отримуємо повідомлення, що обсяг файлу більше ніж потрібно, тобто даний файл прошивки занадто великий для того, щоб використовувати його для перепрошивки мікросхеми Winbond W25Q64FV (а саме ця мікросхема встановлена \u200b\u200bна материнській платі ноутбука Acer Aspire E1-532).

Мікросхеми можуть бути різних обсягів, розглянемо це на прикладі мікросхем Winbond. Як видно з таблиці, обсяг мікросхеми може становити 512, 256, 128, 64, 32 Mbit і так далі.

Мікросхема W25Q64FV має обсяг 64 Mbit (або 8 MB).

Так як наш файл прошивки BIOS isflash.bin, витягнутий вище з exe файлу важить 9.45 MB, а обсяг мікросхеми BIOS на материнській платі ноутбука Acer Aspire E1-532 становить 8 MB, то для успішного відновлення прошивки BIOS нам необхідно зменшити файл isflash.bin з 9.45 MB до 8 MB. Для цих цілей скористаємося hex редактором, наприклад HxD. Переходимо за адресою

https://mh-nexus.de/en/downloads.php?product\u003dHxD20

і виконуємо скачування інсталяційний файл hex редактора HxD

Клацаємо по викачаного файлу і запускаємо установку.

Встановити.

Установка завершена.

Клацаємо по ярлику hex редактора HxD і запускаємо його.

Головне вікно HxD.

Клацаємо по File-Open.

Виділяємо файл isflash.bin і тиснемо "Відкрити"

Отримуємо наступне.

Таким же чином відкриваємо файл пошкодженої прошивки BIOS isflash01.bin (який ми зберегли в другій частині статті).

Розглянемо уважно структуру файлу isflash01.bin. Як бачимо, файл прошивки isflash01.bin починається зі значень FF (рядок 00000000), а в рядку 00000010 присутні значення 5A A5 F0 0F.

Тепер розглянемо структуру файлу isflash.bin. Бачимо, що даний файл прошивки починається зі значень 4D 5A 00 00 (рядок 00000000). Нам потрібно зробити так, щоб файл isflash.bin починався точно так же, як і файл isflash01.bin, тобто щоб початком файлу isflash.bin були значення FF (рядок 00000000).

В відкритому файлі isflash.bin тиснемо Search-Find.

І виконуємо пошук значення 5A A5 F0 0F.

Бачимо, що значення 5A A5 F0 0F в файлі isflash.bin знаходиться в рядку 0001F340, також вище в рядку 0001F330 бачимо значення FF.

Виділимо в файлі isflash.bin діапазон рядків 00000000-0001F320. Для цього вибираємо Edit-Select block.

Вказуємо початкову (00000000) і кінцеву (1F320) рядки діапазону, що виділяється.

Виділений діапазон рядків 00000000-1F320.

Видалимо виділений діапазон рядків з файлу isflash.bin, клацнувши Delete.

Як бачимо, після видалення виділених рядків файл прошивки isflash.bin тепер починається точно так же, як і файл isflash01.bin, а саме в рядку 00000000 присутні значення FF, а в рядку 00000010 значення 5A A5 F0 0F.

Повернемося до файлу прошивки isflash01.bin. Перегорнемо його до кінця і бачимо, що він закінчується рядком 007FFFF0.

Якщо перегорнути до кінця файл isflash.bin, то бачимо, що він закінчується рядком 009548F0.

Видалимо з файлу isflash.bin всі рядки, що знаходяться в діапазоні 00800000-9548F0, тобто зробимо так, щоб файл isflash.bin закінчувався рядком 007FFFF0. Тиснемо Edit-Select block.

Вказуємо діапазон виділених рядків.

Виділений діапазон рядків 00800000-9548F0.

Видалимо виділений діапазон термін 00800000-9548F0, клацнувши Delete.

Як бачимо, тепер файл прошивки isflash.bin закінчується рядком 007FFFF0.

Збережемо файл прошивки BIOS під новим ім'ям, вибравши Save as ...

Вказуємо ім'я, наприклад isflash_new і тиснемо Зберегти.

Новий файл прошивки BIOS isflash_new.bin.

Слід звернути увагу на те, що файл isflash_new.bin важить стільки ж, скільки і файл isflash01.bin, який ми зберегли у другій частині, а саме 8 MB.

Так як мікросхема W25Q64FV, як було сказано вище має обсяг 64 Mbit (або 8 MB), і наш редагований файл прошивки isflash_new.bin важить 8 MB то ми можемо приступати до перепрошивки. Підключаємо програматор CH341A до мікросхемі BIOS таким же чином, як це робили в другій частині статті.

Запускаємо програму CH341A-USB. Вказуємо виробника і модель мікросхеми і видаляємо стару прошивку BIOS, натиснувши "Стирання".

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

Дамп треба робити завжди, коли ми хочемо зробити прошивку, оновлення, 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.