펌웨어 업데이트 상태

이 시점에서는 모든 펌웨어 업데이트가 적용되고 모든 업데이트의 결과가 Windows OS 로더의 후속 호출 시 ESRT 에 반영될 것으로 예상됩니다. ESRT 테이블 정의의 ESRT 예제와 업데이트 드라이버 패키지 작성의 펌웨어 리소스 업데이트 드라이버 패키지 INF 예제를 다시 참조하세요. firmware.bin 버전 2가 펌웨어에서 성공적으로 적용된 경우 새 ESRT 테이블이 이를 반영합니다. 테이블의 유일한 차이점은 시스템 펌웨어 리소스 항목에 대한 펌웨어 버전 및 마지막 시도 버전 필드가 성공적으로 적용된 새 펌웨어 버전을 반영하도록 변경되었다는 것입니다.

필드 의견
펌웨어 리소스 수 2 이 테이블에는 두 개의 펌웨어 리소스 항목이 포함되어 있습니다.
펌웨어 리소스 최대값 2 이 테이블 할당에는 최대 2개의 리소스를 설명할 수 있는 충분한 공간이 포함되어 있습니다.
펌웨어 리소스 버전 1 이 테이블에서 사용하는 펌웨어 리소스 항목 형식 버전은 1입니다.
펌웨어 리소스 항목 배열 펌웨어 리소스 항목 0
펌웨어 클래스 (SYSTEM_FIRMWARE) 이 GUID는 PnP를 통해 업데이트할 시스템 펌웨어를 식별합니다.
펌웨어 유형 1 시스템 펌웨어 유형은 1입니다.
펌웨어 버전 2 현재 시스템 펌웨어 버전은 2입니다.
지원되는 가장 낮은 펌웨어 버전 2 펌웨어를 버전 2 이전 버전으로 롤백할 수 없도록 지원되는 가장 낮은 펌웨어 버전을 2로 변경합니다. 이 값은 일반적으로 펌웨어 업데이트에 보안 수정 사항이 포함된 경우 변경됩니다.
캡슐 플래그 0 시스템 펌웨어는 프라이빗 캡슐 업데이트 플래그를 정의하지 않습니다.
마지막 시도 버전 2 업데이트를 시도한 마지막 시스템 펌웨어 버전은 2입니다.
마지막 시도 상태 0 마지막 시스템 펌웨어 업데이트 시도가 성공했습니다.
펌웨어 리소스 항목 1
펌웨어 클래스 (DEVICE_FIRMWARE) 이 GUID는 PnP를 통해 업데이트할 디바이스 펌웨어를 식별합니다.
펌웨어 유형 2 디바이스 펌웨어 유형은 2입니다.
펌웨어 버전 1 현재 디바이스 펌웨어 버전은 1입니다.
지원되는 가장 낮은 펌웨어 버전 1 지원되는 가장 낮은 펌웨어 버전을 1로 유지합니다. 필요한 경우 펌웨어를 버전 1로 롤백할 수 있습니다.
캡슐 플래그 0x8010 디바이스 펌웨어는 프라이빗 캡슐 업데이트 플래그(0x8010)를 정의합니다.
마지막 시도 버전 1 업데이트를 시도한 마지막 디바이스 펌웨어 버전은 1입니다.
마지막 시도 상태 0 마지막 디바이스 펌웨어 업데이트 시도가 성공했습니다.

펌웨어를 성공적으로 적용할 수 없는 경우 ESRT 의 펌웨어 버전, 마지막 시도 버전 및 마지막 시도 상태 항목은 실패한 업데이트 시도를 반영합니다. 예를 들어 시스템에서 펌웨어 버전 1을 버전 2로 업데이트하려고 하고 성공적으로 적용되지 않으면 펌웨어 버전 = 1, 마지막 시도 버전 = 2 및 마지막 시도 상태 != 0이 됩니다. (즉, 마지막 시도 상태는 오류가 발생한 이유를 나타내는 0이 아닌 적절한 오류 코드로 설정됩니다. 이 항목에 대한 유효한 오류 코드 목록은 ESRT 테이블 정의를 참조하세요.

표준 업데이트 정책은 펌웨어 버전만 늘릴 수 있도록 적용하지만 아래의 펌웨어 업데이트 롤백 섹션에 설명된 대로 정책 설정을 통해 테스트 목적으로 이 정책을 사용하지 않도록 설정할 수 있습니다.

시스템 재설정

시스템 재설정을 사용하면 최종 사용자가 시스템을 공장 설정으로 되돌릴 수 있습니다. 제조 프로세스 중에 시스템에 미리 로드된 Windows 이미지를 다시 설치하여 이를 달성합니다. 드라이버 및 애플리케이션을 포함한 전체 OS가 다시 설치됩니다.

보안 경계를 넘어 펌웨어 롤백을 방지하는 보안 요구 사항으로 인해 시스템 재설정은 팩터리에 배포된 원래 펌웨어와 일치하도록 펌웨어 버전을 롤백할 수 없습니다. 즉, 모든 버전의 펌웨어는 해당 플랫폼에 제공된 모든 드라이버 및 운영 체제 버전과 이전 버전과 호환되어야 합니다. 펌웨어가 호환되지 않으면 사용자가 해당 시스템을 제조업체에 반환할 수 있습니다.

펌웨어 업데이트 롤백

경우에 따라 업데이트 테스트 중에 펌웨어 업데이트를 롤백해야 할 수도 있습니다. 보고된 각 ESRT 펌웨어 리소스에는 HKLM\SYSTEM\CurrentControlSet\Control\FirmwareResources 레지스트리 키에 항목이 있습니다.

항목은 이름이 ESRT의 리소스를 보고하는 데 사용되는 GUID와 같은 키입니다. 펌웨어 롤백을 허용하려면 Policy라는 REG_DWORD 값을 만들고 값을 1로 설정합니다. 지정된 펌웨어 리소스는 ESRT에 지정된 대로 지원되는 최소 펌웨어 버전으로만 롤백할 수 있습니다. 이는 펌웨어에 대한 중요한 보안 수정이 수행된 시점을 넘어 펌웨어 롤백을 방지하기 위한 것입니다. 이러한 조건을 충족하기 위해 롤백하는 펌웨어 버전이 있으면 OS 로더가 이전 버전으로 업데이트됩니다.

ESRT 테이블 정의

플러그 앤 플레이 디바이스

업데이트 드라이버 패키지 작성

업데이트 처리

UEFI 환경의 디바이스 I/O

원활한 위기 방지 및 복구