Состояние обновления встроенного ПО

На этом этапе ожидается, что будут применены все обновления встроенного ПО и результаты всех обновлений, отраженных в ESRT при последующем вызове загрузчика ОС Windows. Возвращаясь к примеру ESRT в определении таблицы ESRT и примеру пакета INF для обновления ресурсов прошивки ПО, в случае успешного применения прошивки версии 2 firmware.bin новая таблица ESRT отразит это. Обратите внимание, что единственное различие в таблице заключается в том, что поля "Версия встроенного ПО" и "Последняя попытка" для записи ресурса встроенного ПО системы изменились, чтобы отразить успешно примененную новую версию встроенного ПО.

Поле Ценность Комментарий
Число ресурсов встроенного ПО 2 Эта таблица содержит две записи ресурсов встроенного ПО.
Максимальное значение ресурса встроенного ПО 2 Это выделение таблицы содержит достаточно места, чтобы описать не более двух ресурсов.
Версия ресурса встроенного ПО 1 Версия формата записи ресурса встроенного ПО в этой таблице равна 1.
Массив записей ресурсов встроенного ПО Запись ресурса встроенного ПО 0
Класс встроенного ПО (SYSTEM_FIRMWARE) Этот GUID определяет системное встроенное ПО для обновления с помощью PnP.
Тип встроенного ПО 1 Системный тип встроенного ПО равен 1.
Версия встроенного ПО 2 Текущая версия встроенного ПО системы — 2.
Самая низкая поддерживаемая версия встроенного ПО 2 Измените минимально поддерживаемую версию прошивки на 2, чтобы не было возможности откатиться до версии ранее 2. Обычно это значение изменяется при обновлении встроенного ПО с исправлениями безопасности.
Флаги капсулы 0 Встроенное ПО системы не определяет флаги обновления частных капсул.
Последняя версия попытки 2 Последняя версия встроенного ПО системы, для которой была предпринята попытка обновления, составила 2
Состояние последней попытки 0 Последняя попытка обновления встроенного ПО системы была успешной.
Запись ресурса встроенного ПО 1
Класс встроенного ПО (ПРОШИВКА УСТРОЙСТВА) Этот GUID определяет встроенное ПО устройства для обновления с помощью PnP.
Тип встроенного ПО 2 Тип встроенного ПО устройства — 2.
Версия встроенного ПО 1 Текущая версия встроенного ПО устройства — 1.
Самая низкая поддерживаемая версия встроенного ПО 1 Сохраните самую низкую поддерживаемую версию встроенного ПО как 1. При необходимости прошивку можно откатить до версии 1.
Флаги капсулы 0x8010 Встроенное ПО устройства определяет флаги обновления частных капсул (0x8010).
Последняя версия попытки 1 Последняя версия встроенного ПО устройства, для которой была предпринята попытка обновления, — 1.
Состояние последней попытки 0 Последняя попытка обновления встроенного ПО устройства прошла успешно.

Если встроенное ПО не может быть применено успешно, то версия встроенного ПО, версия последней попытки и записи состояния последней попытки в ESRT будут отражать неудачную попытку обновления. Например, если система пытается обновить версию 1 встроенного ПО до версии 2 и не удалось применить успешно, то версия встроенного ПО = 1, последняя попытка = 2, а также состояние последней попытки != 0. (Т.е. для состояния последней попытки задан соответствующий код ошибки, отличный от нуля, указывающий на причину сбоя. Список допустимых кодов ошибок для этой записи см. в определении таблицы ESRT.

Хотя стандартная политика обновления применяет только увеличение версий встроенного ПО, эта политика может быть отключена для тестирования с помощью параметра политики, как описано в разделе "Откат обновлений встроенного ПО " ниже.

Сброс системы

Сброс системы позволяет конечным пользователям вернуть свои системы к заводским настройкам. Это достигается путем повторной установки образа Windows, предварительно загруженного в систему во время производственного процесса. Будет переустановлена вся ОС, включая драйверы и приложения.

Из-за требований безопасности, которые не позволяют откатить прошивку через границы безопасности, сброс системы не может вернуть версии прошивки к заводской прошивке, изначально установленной на фабрике. Это означает, что все версии встроенного ПО должны быть обратно совместимы со всеми версиями драйверов и операционных систем, отправленными на этой платформе. Если встроенное ПО несовместимо, это может привести к тому, что пользователь возвращает систему производителю.

Откат обновлений встроенного ПО

В некоторых случаях может потребоваться откат обновления встроенного ПО, например во время тестирования обновлений. Каждый ресурс встроенного ПО, указанный в ESRT, имеет запись в следующем разделе реестра: HKLM\SYSTEM\CurrentControlSet\Control\FirmwareResources.

Запись — это ключ с именем, равным GUID, используемому для отправки отчета о ресурсе в ESRT. Чтобы разрешить откат прошивки, создайте значение REG_DWORD с именем Policy и установите его значение на 1. Определенный ресурс встроенного ПО можно откатить только до его наименьшей поддерживаемой версии встроенного ПО, как указано в ESRT. Это позволяет предотвратить откат прошивки до той точки, в которой было внесено критическое исправление безопасности. Если вы откатите версию встроенного ПО в соответствии с этими условиями, загрузчик ОС обновится до более старой версии.

определение таблицы ESRT

устройство типа "Подключи и используй"

Создание пакета драйвера обновления

Обработка обновлений

I/O устройства из среды UEFI

Бесшовное предотвращение и восстановление кризисов