Откат (даунгрейд) прошивки на материнских платах ASUS 100-й серии

Alexander Gavrilov · September 27, 2020

Здесь рассматривается только «программный» откат (без применения программатора).

Откат с версий 1xxx и 2xxx

Откат производится с помощью утилиты FPT из пакета Intel CSME System Tools 11:

FPTW64.exe -BIOS -F filename.rom

Если прошивка в формате CAP, нужно предварительно обрезать капсулу: открыть файл в UEFITool, встать на самое начало «AMI Aptio Capsule», и по нажатию правой кнопки мыши выбрать «Extract body».

Откат с версий 3xxx

Откат с версий 3xxx требует больших усилий. Происходит это по нескольким причинам:

  • начиная с версий 3xxx, в прошивку интегрирован бинарник Intel ME более высокой версии (11.6—11.7 против 11.0)
  • регион ME заблокирован на запись, при откате через утилиту FPT версия ME не понижается
  • в прошивках 1xxx—2xxx имеется специальный модуль, который при обнаружении слишком «высокой» версии ME прерывает процедуру запуска и вызывает встроенную утилиту обновления прошивки (EZ Flash). Эта утилита точно также не может понизить версию ME (регион заблокирован на запись), поэтому пользователь вынужден либо при каждом запуске обходить этот запрос, нажимая клавишу Esc, либо вернуться на прошивку 3xxx

Тем не менее, откат возможен. Для этого потребуется любой серийный (не инженерный) процессор Intel под сокет 1151 (поколения Skylake и Kaby Lake):

  1. Если уже производилась неудачная попытка отката через утилиту FPT и материнская плата находится в описанном выше состоянии «вечный запрос обновления при запуске», нужно скачать с официального сайта ASUS прошивку версии 3xxx, обновиться и убедиться, что при запуске плата больше не просит обновление прошивки.

  2. Скачайте подготовленный архив и распакуйте его куда-нибудь. Скачайте файл прошивки с официального сайта ASUS. Версия прошивки должна совпадать с той версией, которая в данный момент прошита в плату (это важно). Поместите скачанный файл в формате CAP рядом с AMISetup_IFR.bat. Перетащите его на AMISetup_IFR.bat и дождитесь окончания работы программы. Откройте появившийся setup_extr.txt в текстовом редакторе.

  3. Отыщите поиском блок «Me FW Image Re-Flash». Он будет выглядеть приблизительно так:
    One Of: Me FW Image Re-Flash, VarStoreInfo (VarOffset/VarName): 0x68B, VarStore: 0x1
     One Of Option: Disabled, Value (8 bit): 0x0 (default) {09 07 04 00 10
    

    Необходимые параметры: VarOffset и состояние по умолчанию (default). В нашем примере это 0x68B и 0x0. Это означает «значение настройки Me FW Image Re-Flash в NVRAM располагается по смещению 0x68B, по умолчанию возможность перезаписи Intel ME отключена».

  4. Отыщите поиском блок «BIOS Lock». Он будет выглядеть приблизительно так:
    One Of: BIOS Lock, VarStoreInfo (VarOffset/VarName): 0x8A7, VarStore: 0x1
     Default: DefaultId: 0x0, Value (8 bit): 0x1 {5B 06 00 00 00 01}
     One Of Option: Disabled, Value (8 bit): 0x0 {09 07 04 00 00 00 00}
     One Of Option: Enabled, Value (8 bit): 0x1 {09 07 03 00 00 00 01}
    

    Аналогично предыдущему, нужные параметры: 0x8A7 и 0x1. Это означает, что блокировка региона BIOS от перезаписи включена.

  5. Таким образом, чтобы иметь возможность откатить версию BIOS и ME, необходимо разрешить перезапись региона ME (поменять по смещению 0x68B значение 0x0 на 0x1), а также снять блокировку региона BIOS (поменять по смещению 0x8A7 значение 0x1 на 0x0). Запишите это на листке бумаги.

  6. Отформатируйте USB-накопитель (флешку) в файловую систему FAT32 и переместите папку «efi» из архива на флешку. Таким образом, должна получиться структура каталогов флешка/efi/boot/bootx64.efi

  7. Перезагрузите ПК, войдите в настройки BIOS (нажимая клавишу Del) и отключите Secure Boot (выставив ему значение «Other OS» или «Disabled»).

  8. Перезагрузите ПК, нажимая при загрузке клавишу F8, чтобы вызвать меню загрузки. Выберите флешку, чтобы загрузиться с неё. Вы попадёте в командную строку EFI Shell.

  9. Введите следующие команды:
    setup_var 0x68B 0x01
    

    Enter

    setup_var 0x8A7 0x00
    

    Enter

Все значения взяты из п.5. Не забудьте, что у вас они будут другими.

  1. Нажатием Ctrl+Alt+Delete перезагрузите ПК и сразу войдите в настройки BIOS (нажимая клавишу Del). Нажмите клавишу F7 для перехода в расширенный режим настроек (или перейдите каким-либо иным способом) и убедитесь, что значение параметра «ME FW Version» (на первой, информационной, странице настроек) равно 0.0.0.0. Это будет свидетельствовать о том, что регион ME успешно разблокирован на запись.

  2. Выйдите из настроек BIOS, нажимая клавишу Esc (выход без сохранения изменений, это важно). Начнёт загружаться операционная система. Важно не перезагружать ПК, так как при перезагрузке все разблокированные регионы заблокируются обратно и вам придётся снова загружаться с флешки.

  3. Выполните откат прошивки на желаемую версию (2xxx или 1xxx). Откат производится с помощью утилиты FPT из пакета Intel CSME System Tools 11:

    FPTW64.exe -F filename.rom
    

    Если прошивка в формате CAP, нужно предварительно обрезать капсулу: открыть файл в UEFITool, встать на самое начало «AMI Aptio Capsule», и по нажатию правой кнопки мыши выбрать «Extract body».

Twitter, Facebook