По приглашению товарища Highlander решил написать на этот форум о своем крайнем проекте - UEFITool.
Это кроссплатформенный (написан на С++/Qt) просмотрщик и редактор образов UEFI BIOSов с открытым исходным кодом (BSD, LGPL).
В данный момент поддерживается экспорт, добавление, удаление, перестроение секций, файлов и томов, разбор заголовков UEFI-капсулы и Flash-дескриптора.
Сборки для Windows и OS X выкладываются сюда, сборку для Debian 7 x64 тестирую, но выкладывать пока не собираюсь - пусть себе каждый соберет сам для своей версии Qt и тулчейна.
Программа в активной фазе разработки, поэтому не исключены баги.
Прошу потестировать и поделиться мнением, что следует улучшить, что исправить, и нужно ли оно вообще кому-нибудь.
Спасибо заранее.
Если же в корневых томах места нет, то придется его взять из другого корневого тома (если оно там есть) или откусить немного от региона МЕ (там обычно есть свободное место в конце), но такие модификации деляют БИОС несовместимым со стандартными утилитами, и его придется шить программатором.
Чем больше людей разберется в UEFI, тем проще будет справиться с идиотскими ограничениями типа белых списков оборудования, отключенного AES-NI, закрытых на запись MSRов и NVRAM'а и прочими радостями.
У меня сейчас самый разгар магистрской работы, поэтому быстро добавлять все фичи, которые в голову приходят, я не могу, но некоторые мелкие приятности думаю сделать через 1-2 версии:
1. Отображать при выборе региона Descriptor информацию о настройках доступа к регионам и содержимом таблицы VSCC (т.е. модели совместимых с этим образом SPI-чипов)
2. Заменять содержимое всех объектов в дереве, а не только томов, файлов и секций. Оказалось, что это удобнее, чем править в Hex-редакторе.
Версию 0.16.5 удалось оттестировать на нескольких AMI Aptio и Phoenix SCT, оба загружаются и работают после достаточно серьезных модификаций. Не скажу, что багов нет, но теперь их не сразу видно. :)
Прошу активнее включаться в тестирование, тут у каждого первого программатор в кармане, а отчетов об ошибках никто не шлет.
Ибо вот, решил воспользоваться вашей полезной утилиткой для вскрытия одного из стареньких пациентво на предмет структуры Intel ME - а толку, прям китайская грамота.
Пришлось доставать из шуфлядки старый недоделанный биоспатчер7, где таки показываются эти названия - он прекрасно показал нужную информацию о составе областей, где по косвенным половым признакам, записанный ещё от каких-то i945 GUID - выдал мне ME-составляющую.
С удовольствием поделюсь накопленными для внедрения в вашу полезную программулю (плюс, конечно, нужно добавить отображение названий для тех, которые их имеют в текущем биосе).
п.с. Заранее прокомментирую потенциальный вопрос "так а почему BIOS Patcher 7...?" - он не работает под 64-бит, давно заброшен, потому приходится запускать в виртуалке - ваша программулина однозначно перспективней, да ещё и мультиплатформенная.
Информация пригодится любая, т.к. реальность сильно отличается от того, что описано в спецификациях с uefi.org. :)