При попытке прошить BIOS на материнских платах Intel или ноутбуках Dell, Lenovo вы можете столкнуться с файлом расширения .fd, который программатор или утилита отказывается принимать, требуя формат .bin. Это происходит потому, что формат FD (Firmware Descriptor) содержит не только сам код BIOS, но и служебные области: дескриптор стека, Intel ME-модуль и разделы с настройками платформы, тогда как большинство универсальных прошивальщиков ожидают «голый» образ. Просто переименовать файл недостаточно — утилита проверит контрольную сумму и сигнатуру, поэтому необходимо выполнить корректную конвертацию структуры.
Ниже разобраны три рабочих метода преобразования .fd в .bin: с помощью официального инструмента Intel Flash Programming Tool, через редактор HEX-кода и с применением скрипта на Python. Каждый способ подходит для разных ситуаций: от перепрошивки через программатор до восстановления после неудачного обновления.
Почему файл .fd не открывается как .bin и в чем разница
Формат .fd — это полный образ флэш-микросхемы, который Intel использует для своих чипсетов серий 8, 9, 100, 200 и 300. Он включает Flash Descriptor — область размером 4 КБ, где хранятся карта разделов, флаги безопасности и параметры доступа. Именно дескриптор мешает стандартным программаторам типа CH341A или ASProgrammer корректно определить границы разделов.
Файл .bin — это универсальный бинарный дамп, который может содержать как полный образ (с дескриптором), так и только область BIOS. Большинство утилит для прошивки (например, FPT или Intel Flash Programming Tool) работают с обоими форматами, но сторонние программы часто проверяют расширение и сигнатуру в первых байтах.
Ключевое отличие: в файле .fd первые 16 байт содержат сигнатуру дескриптора 5A A5 F0 0F, а в классическом .bin для прошивки через программатор обычно ожидается сигнатура FF FF FF FF или код инициализации. Если вы подадите файл .fd напрямую в SPI-программатор, он может прошить дескриптор с неверными флагами, что заблокирует чип.
⚠️ Внимание: конвертация .fd в .bin без удаления дескриптора может привести к полной блокировке SPI-флэш. Если вы не уверены в необходимости удаления служебных областей, используйте официальные утилиты производителя, а не ручную правку.
Метод 1: Конвертация через Intel Flash Programming Tool (FPT)
Официальная утилита Intel Flash Programming Tool (FPT) — самый безопасный способ работы с файлами .fd. Она входит в состав пакета Intel CSME System Tools и доступна для скачивания с сайта Intel (требуется регистрация). FPT умеет сохранять образ в формате .bin без потери данных.
Процедура конвертации выглядит так:
- Скачайте архив Intel CSME System Tools для вашего чипсета (например, для 300-й серии — версия 12.x).
- Распакуйте архив и найдите папку с исполняемым файлом
FPT.exe(для Windows) илиfpt(для Linux). - Поместите исходный файл
.fdв ту же директорию. - Откройте командную строку от имени администратора и выполните команду:
FPT.exe -F -BIOS -D backup.bin
Ключ -F указывает на работу с файлом, -BIOS ограничивает сохранение только областью BIOS, а -D задает имя выходного файла. В результате вы получите файл backup.bin, который можно прошивать через программатор.
Если нужно сохранить полный образ (включая дескриптор и ME-область), используйте команду без ключа -BIOS:
FPT.exe -F -D full_backup.bin
Важно: FPT работает только с чипсетами Intel. Для материнских плат на базе AMD этот метод не подходит — там используется другой формат (обычно .rom или .bin сразу).
Метод 2: Ручное редактирование через HEX-редактор
Если официальная утилита недоступна или вы работаете с нестандартным чипсетом, можно преобразовать файл вручную. Для этого понадобится HEX-редактор, например HxD (бесплатный) или 010 Editor. Суть метода — извлечь из .fd только область BIOS и сохранить её как .bin.
Структура файла .fd для Intel выглядит так:
| Смещение (hex) | Размер | Содержимое |
|---|---|---|
| 0x000000 | 4 КБ | Flash Descriptor (дескриптор) |
| 0x001000 | Переменный | Intel ME (Management Engine) |
| 0x??0000 | Переменный | Область BIOS (код POST и UEFI) |
| Конец | Переменный | Gbe (Gigabit Ethernet), PDR и резерв |
Чтобы извлечь область BIOS, выполните следующие шаги:
- 📌 Откройте файл .fd в HEX-редакторе и найдите сигнатуру дескриптора
5A A5 F0 0Fв первых 16 байтах. - 🔍 Определите смещение области BIOS: оно указано в дескрипторе (обычно в байтах 0x0C-0x0F для BIOS region base).
- ✂️ Выделите блок данных от найденного смещения до конца файла (или до начала области Gbe, если она есть).
- 💾 Сохраните выделенный фрагмент как новый файл с расширением .bin.
⚠️ Внимание: при ручном редактировании легко ошибиться со смещением. Неверно вычисленная граница приведет к тому, что прошивка не запустится или повредит микрокод. Перед прошивкой обязательно сравните размер полученного .bin с размером чипа (например, для 16 МБ чипа — 16 777 216 байт).
Для проверки правильности извлечения можно использовать утилиту UEFITool — она открывает образы UEFI и показывает структуру разделов. Если UEFITool видит в вашем .bin разделы Capsule и Volume, значит, конвертация выполнена верно.
☑️ Чек-лист для ручной конвертации
Метод 3: Скрипт на Python для автоматического извлечения
Для пакетной обработки или автоматизации процесса удобно использовать скрипт. Python с библиотекой struct позволяет прочитать дескриптор и извлечь область BIOS без ручного редактирования. Ниже приведен рабочий скрипт, который принимает файл .fd и создает .bin:
import struct
import sys
def extract_bios(fd_path, bin_path):
with open(fd_path, 'rb') as f:
data = f.read()
# Проверяем сигнатуру дескриптора
if data[0:4] != b'\x5A\xA5\xF0\x0F':
print("Ошибка: неверная сигнатура .fd файла")
return False
# Читаем смещение BIOS region base из дескриптора
# Смещение 0x0C (12 байт) содержит base и limit
region_info = struct.unpack_from('
base = (region_info[0] & 0x7FFF) * 4096
limit = (region_info[1] & 0x7FFF) * 4096 + 4095
bios_data = data[base:limit+1]
with open(bin_path, 'wb') as f:
f.write(bios_data)
print(f"Успешно: извлечено {len(bios_data)} байт")
return True
if __name__ == '__main__':
extract_bios('bios.fd', 'bios.bin')
Скрипт считывает дескриптор, определяет границы области BIOS и сохраняет её в отдельный файл. Для работы потребуется Python 3.6+ и права на чтение/запись в целевой папке. Этот метод особенно полезен, когда нужно обработать несколько файлов .fd из разных версий BIOS.
Важный нюанс: скрипт извлекает только область BIOS, игнорируя ME и дескриптор. Если ваша материнская плата требует полный образ (например, для восстановления через Intel FIT), такой .bin не подойдет — нужно сохранять весь файл без изменений, просто переименовав расширение.
Особенности конвертации для разных производителей
У разных вендоров подход к формату .fd отличается. На материнских платах ASUS и Gigabyte файлы .fd встречаются редко — обычно используются .cap или .rom, которые уже содержат полный образ. А вот ноутбуки Dell, HP и Lenovo часто поставляются с прошивками в формате .fd.
Для ноутбуков Dell ситуация усложняется: файлы .fd там часто зашифрованы или имеют цифровую подпись. Простая конвертация в .bin не поможет — потребуется расшифровка через утилиту Dell BIOS_Reset или обращение в сервисный центр. В таких случаях лучше использовать официальный загрузочный образ от Dell, а не пытаться извлечь данные из .fd.
Для материнских плат Intel (серии NUC, Desktop Boards) конвертация через FPT работает идеально, но нужно точно подобрать версию утилиты под ваш чипсет. Например, для чипсета Z390 нужна версия FPT 12.x, а для H410 — 14.x. Несоответствие версий приведет к ошибке Error 868: Platform not supported.
⚠️ Внимание: если после конвертации вы планируете прошивать чип через программатор CH341A, убедитесь, что напряжение чипа составляет 1.8 В (для современных плат) или 3.3 В (для старых). Несоответствие напряжения может повредить микросхему.
Проверка результата и типичные ошибки
После конвертации обязательно проверьте полученный файл. Самый простой способ — открыть .bin в UEFITool и убедиться, что структура разделов отображается корректно. Если UEFITool выдает ошибку No volumes found, значит, вы извлекли не ту область или повредили данные.
Типичные ошибки при конвертации:
- ❌ Переименование файла без изменения содержимого — программатор все равно увидит сигнатуру .fd и откажется работать.
- ❌ Извлечение области ME вместо BIOS — файл будет меньшего размера и не запустится.
- ❌ Неправильный расчет смещения при ручном редактировании — .bin будет содержать мусорные данные.
- ❌ Использование FPT неподходящей версии — утилита не определит чипсет и завершится с ошибкой.
Проверить размер файла: для чипа 8 МБ (W25Q64) размер .bin должен быть ровно 8 388 608 байт, для 16 МБ (W25Q128) — 16 777 216 байт. Если размер меньше или больше, вы либо извлекли не всю область, либо добавили лишние данные.
Как прошить полученный .bin через программатор
Подключите SPI-флеш к программатору CH341A или RT809H, выберите модель чипа, загрузите .bin и нажмите Write. Перед записью обязательно сделайте резервную копию текущего дампа (Read). Если чип заблокирован, потребуется снять защиту через утилиту Flashrom с параметром --ifd.
Что делать, если конвертация не помогла
Если после всех манипуляций файл .bin не прошивается или система не запускается, вероятные причины: несовместимость версии BIOS с вашей платой, повреждение исходного файла .fd или аппаратная неисправность чипа. В этом случае рекомендуется скачать прошивку с официального сайта производителя в родном формате и использовать их фирменную утилиту для обновления.
Для восстановления после неудачной прошивки можно попробовать загрузиться с помощью BIOS Recovery — большинство современных плат поддерживают восстановление через порт USB при зажатой комбинации клавиш (например, Fn + Esc на ноутбуках HP). В этом случае файл .fd подходит напрямую, без конвертации.
Если у вас остались сомнения в правильности конвертации, обратитесь к сообществу Win-Raid или BIOS-Mods — там публикуются готовые модифицированные образы и инструкции для конкретных моделей. Помните, что неправильная прошивка может привести к неработоспособности материнской платы, поэтому все операции с BIOS выполняйте на свой страх и риск.
Частые вопросы о конвертации .fd в .bin
Можно ли просто переименовать .fd в .bin?
Формально файл откроется, но программатор проверит сигнатуру и откажется работать. Переименование не изменяет содержимое, поэтому дескриптор останется на месте. Используйте один из методов выше.
Какой инструмент лучше всего подходит для конвертации?
Для чипсетов Intel — официальный FPT. Для остальных случаев — скрипт на Python или ручное извлечение через HEX-редактор. Выбор зависит от вашего уровня подготовки и доступных утилит.
Что делать, если FPT выдает ошибку доступа?
Убедитесь, что в BIOS отключена защита дескриптора (Intel ME → Flash Protection). Также проверьте, что вы запускаете FPT от имени администратора и используете версию, соответствующую вашему чипсету.
Подходит ли .bin, полученный из .fd, для прошивки через UEFI Shell?
Да, если вы извлекли область BIOS корректно. Однако проще использовать оригинальный файл .fd через встроенную утилиту обновления BIOS — она сама разберется с форматом.
Можно ли конвертировать .fd в .bin на ноутбуке Dell?
Технически да, но файлы Dell часто зашифрованы. Лучше использовать официальный загрузочный образ от Dell или обратиться в сервисный центр. Самостоятельная конвертация может не дать результата.
Конвертация .fd в .bin — задача решаемая, но требующая аккуратности. Выберите метод, соответствующий вашему оборудованию, проверьте результат и только потом приступайте к прошивке. Если сомневаетесь в своих действиях, используйте официальные утилиты производителя — они гарантированно работают с родными форматами.