다음을 통해 공유


USB 플래시 지원에 대한 UEFI 요구 사항

Microsoft는 엔지니어링 및 제조 환경에서 사용할 수 있는 여러 USB 기반 플래시 솔루션을 제공합니다. 디바이스를 이러한 도구와 함께 사용하려면 디바이스의 UEFI 환경이 이 항목에 나열된 요구 사항을 충족해야 합니다.

플래시와 관련된 이러한 요구 사항은 모든 Windows 버전에 적용되는UEFI 요구 사항에 따라 확장됩니다.

필수 UEFI 프로토콜

프로토콜 요구 사항 세부 정보
USB 함수 프로토콜 USB 3.0을 통해 USB 플래싱을 수행하려면, 펌웨어가 UEFI USB 함수 프로토콜 수정 버전 0x00010002 이상을 구현해야 하며, EFI_USBFN_IO_PROTOCOL.ConfigureEnableEndpointsEx 함수에 대한 지원을 포함해야 합니다. 자세한 내용은 UEFI USB 함수 프로토콜참조하세요.
BlockIO Microsoft에서 제공하는 USB 플래시 솔루션은 깜박이기 위해 0이 아닌 크기의 블록 I/O 스토리지 디바이스에 대한 첫 번째 반환 포인터를 선택합니다. 디바이스는 이동식이 아니거나 이동식 스토리지일 수 있습니다.

UEFI desync 이벤트(선택 사항)

깜박이는 동안 디스크에 읽거나 쓰려고 하는 UEFI 구성 요소는 다음 표에 설명된 대로 UEFI 비동기 이벤트(EFI_EVENT_GROUP_FIRMWARE_DESYNC)에 대한 지원을 구현해야 합니다.

요건 묘사
UEFI 부팅 서비스 지원 UEFI 펌웨어는 UEFI 2.3.1 사양의 섹션 6.1에 정의된 대로 이벤트, 타이머 및 작업 우선 순위 서비스를 지원해야 합니다.
이벤트 그룹 GUID Microsoft는 EFI_EVENT_GROUP_FIRMWARE_DESYNC를 다음 GUID로 정의합니다: {24FA5E72-1A82-49A2-970B-3230372662A5}
UEFI 펌웨어 이벤트 상태를 새로 고침하거나 스토리지에 다시 동기화해야 하는 모든 UEFI 펌웨어 구성 요소를 정기적으로 식별합니다. 이러한 각 구성 요소에서 EFI_EVENT_GROUP_FIRMWARE_DESYNC 연결된 이벤트와 구성 요소가 스토리지에 다시 새로 고침/동기화를 중지하도록 하는 NotifyFunction()을 만듭니다. 이벤트의 NotifyFunction()은 구성 요소가 비동기 모드로 전환되는 데 필요한 정리 작업을 수행해야 합니다. 이 정리 후 구성 요소는 다음 디바이스가 다시 부팅될 때까지 스토리지를 플래시와 다시 새로 고치거나 동기화해서는 안됩니다. 이벤트의 NotifyFunction이 실패하면 NotifyFunction()은 EFI_SUCCESS 반환하지 않아야 합니다.

다음 코드 예제에서는 펌웨어가 이벤트 그룹 GUID 이벤트를 만드는 방법을 보여 줍니다.

gBS->CreateEventEx (
    EVT_NOTIFY_SIGNAL,
    TPL_CALLBACK,
    FIRMWARE_NOTIFICATION_FUNCTION,          // To be defined by SoC Vendor
    &FIRMWARE_NOTIFICATION_FUNCTION_CONTEXT, // To be defined by SoC Vendor
    &EFI_EVENT_GROUP_FIRMWARE_DESYNC,
    &Event                                   // Event returned by CreateEventEx
);

SoC 플랫폼 Windows에 대한 최소 UEFI 요구 사항

모든 Windows 버전에 적용되는 UEFI 요구 사항