UEFI 환경의 디바이스 I/O

Windows OS 로더가 UpdateCapsule 함수를 호출하면 CapsuleHeaderArray에 포함된 각 캡슐이 실행됩니다. 캡슐 실행 순서는 UEFI 펌웨어 구현에 따라 다르며, 캡슐은 다른 캡슐에 상대적인 실행 순서를 가정하거나 다른 캡슐에 종속될 수 없습니다. 각 캡슐은 업데이트를 관리하는 실행 가능한 UEFI 코드와 펌웨어 이미지를 모두 포함하는 자체 포함 페이로드입니다.

캡슐이 호출되면 캡슐에 포함된 실행 코드는 대상 디바이스와의 통신 채널을 여는 역할을 합니다. 적절한 채널은 시스템의 디바이스 토폴로지, 대상 디바이스의 기능, 특정 UEFI 구현에서 제공하는 UEFI 부팅 서비스 및 드라이버에 따라 달라집니다. 캡슐 구현자는 대상 UEFI 환경에서 사용할 수 있는 옵션에 대해 UEFI BIOS 공급업체에 문의해야 할 수 있습니다. 일반적으로 통신은 지정된 디바이스에 대해 UEFI 디바이스 드라이버를 활용하여 설정됩니다. 이 드라이버를 사용하면 캡슐 업데이트 코드가 적절한 프로토콜을 사용하여 잘 알려진 디바이스 경로를 통해 디바이스에 바인딩할 수 있습니다.

통신이 설정된 후 업데이트 관리 코드는 대상 디바이스에 펌웨어 이미지를 씁니다. 업데이트를 완료한 후 적절한 반환 상태 코드가 ESRT의 디바이스 펌웨어 리소스 항목에 기록됩니다. 그런 다음 업데이트 관리 코드는 UpdateCapsule 함수에 대한 컨트롤을 반환합니다.

UpdateCapsule 함수, 캡슐 구조 및 UEFI 부팅 서비스 드라이버 및 프로토콜에 대한 자세한 내용은 UEFI 사양을 참조하세요.

ESRT 테이블 정의

플러그 앤 플레이 디바이스

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

업데이트 처리

원활한 위기 방지 및 복구

펌웨어 업데이트 상태