SoC 平臺上 Windows 版本的 UEFI 需求
本文說明適用于傳統型版本的 Windows 10 UEFI 需求, (家用版、專業版、企業版和教育版) 和Windows 10 行動裝置版。 如需僅適用于Windows 10 行動裝置版的其他需求,請參閱Windows 10 行動裝置版 的 UEFI 需求。
需求摘要
下表列出 UEFI 規範的所有目前需求,如 UEFI 規格 (UEFI 2.3.1 規格的第 2.6 節) 所定義。 在此表格中, 明確 Windows 需求 一詞會識別 Windows 元件直接呼叫的任何通訊協定或服務。 雖然只有 Windows 明確使用這些服務,但其他列出的服務和通訊協定可能是核心韌體實作、EFI 設備磁碟機或開發和部署工具鏈結隱含或明確要求。
Microsoft 歡迎實作者對此一組需求的意見反應和意見。 對於作業系統或韌體判斷為不需要的任何 UEFI 合規性需求,我們打算透過 UEFI.org 讓這類裝置寬鬆的這些合規性需求。
如需特定需求的詳細資訊,請參閱表格後面的各節。
需求 | UEFI 規格區段 | 附註 |
---|---|---|
EFI 系統資料表 | 4.3 | 明確 Windows 需求 |
EFI 開機服務 | 6.0 | |
事件、計時器和工作服務 | 6.1 | |
記憶體服務 | 6.2 | 明確 Windows 需求' |
通訊協定處理常式服務 | 6.3 | 明確 Windows 需求 |
影像服務 | 6.4 | 明確 Windows 需求 |
其他服務 | 6.5 | 明確 Windows 需求 |
EFI 執行時間服務 | 7.0 | |
時間服務 | 7.3 | 明確 Windows 需求 |
變數服務 | 7.2 | 明確 Windows 需求 |
其他服務 | 7.5 | 明確 Windows 需求 |
必要的 UEFI 通訊協定 | ||
EFI 載入的映射通訊協定 | 8.1 | |
EFI 載入的映射裝置路徑通訊協定 | 8.2 | |
EFI 裝置路徑通訊協定 | 9.2 | 明確 Windows 需求 |
EFI 裝置路徑公用程式通訊協定 | 9.5 | |
EFI 解壓縮通訊協定 | 18.5 | |
EBC 解譯器通訊協定 | 20.11 | |
條件式必要 UEFI 通訊協定 | ||
EFI 簡單文字輸入通訊協定 | 11.3 | 明確 Windows 需求 |
EFI 簡單文字輸入 EX 通訊協定 | 11.2 | |
EFI 簡單文字輸出通訊協定 | 11.4 | |
EFI 圖形輸出通訊協定 | 11.9 | 明確 Windows 需求 |
EFI EDID 探索到的通訊協定 | 11.9.1 | |
EFI EDID 使用中的通訊協定 | 11.9.1 | |
EFI 區塊 IO 通訊協定 | 12.8 | 明確 Windows 需求 |
EFI 磁片 IO 通訊協定 | 12.7 | |
EFI 簡單檔案系統通訊協定 | 12.4 | |
EFI Unicode 定序通訊協定 | 12.10 | |
EFI 簡單網路通訊協定 | 21.1 | |
EFI PXE 基底代碼通訊協定 | 21.3 | |
EFI 開機完整性服務通訊協定 | 21.5 | |
EFI 序列 IO 通訊協定 | 11.8 | |
UEFI Arm 系結 | 2.3.5 | 明確 Windows 需求 |
安全性需求 | ||
安全開機 | 27.0 | 明確 Windows 需求 |
開機管理員需求 | 3.1, 3.3 | 明確 Windows 需求 |
EFI 系統資料表需求
EFI 系統資料表必須符合實作修訂層級的標準定義。 EFI 系統資料表所指向的組態表必須包含下表所述的兩個 GUID 及其相關聯的指標。
GUID | 描述 |
---|---|
EFI_ACPI_Table GUID | 此 GUID 必須指向平臺的 ACPI 根系統描述指標 (RSDP) 。 |
SMBIOS_Table GUID | 此 GUID 必須指向 SMBIOS 進入點結構。 Windows 需要 2.4 或更高版本的 SMBIOS 規格。 需要第 3.2 節「必要結構和資料」,以及 4「一致性指導方針」。 Windows SMBIOS 相容性測試可供使用。 |
EFI 開機服務需求
下表列出 Windows 的 EFI 開機服務需求。
EFI 開機服務 | 需求 |
---|---|
記憶體服務 | Windows 需要所有記憶體服務。 |
通訊協定處理常式服務 | Windows 需要下列通訊協定處理常式服務: OpenProtocol () CloseProtocol () LocateDevicePath () LocateHandle () |
影像服務 | Windows 需要下列映射服務: ExitBootServices () |
其他開機服務 | Windows 需要下列其他開機服務: Stall () 注意: 需要 Stall () 實作,才能有確定性 (可重複的) 錯誤,以便可靠地進行錯誤修正或取消。 |
EFI 執行時間服務需求
下表列出 Windows 的 EFI 執行時間服務需求。
EFI 執行時間服務 | 需求 |
---|---|
時間服務 | Windows 需要下列時間服務: GetTime () SetTime () 注意: 只有在 ExitBootServices () ) 之前,才會在開機 (期間呼叫時間服務,以存取平臺當日硬體。 |
變數服務 | 在系統的目標類別上管理多個開機裝置和安全性變數時,需要所有 UEFI 變數服務。 |
其他執行時間服務 | Windows 需要下列其他執行時間服務: ResetSystem () 注意: ResetSystem () 實作必須同時支援重設和關機選項。 |
通訊協定需求
下表描述 Windows 在開機期間完成特定功能所需的 UEFI 通訊協定。
通訊協定 | 需求 |
---|---|
圖形輸出通訊協定 | Windows 需要圖形輸出通訊協定 (GOP) 。 特定的畫面緩衝區需求如下: 針對整合式顯示器, HorizontalResolution 和 VerticalResoluton 必須是面板的原生解析度。 針對外部顯示器, HorizontalResolution 和 VerticalResoluton 必須是顯示器的原生解析度,如果不支援,則視訊介面卡和連接的顯示器都支援的最高值。 PixelPerScanLine 必須等於 HorizontalResolution。 PixelFormat 必須是 PixelBlueGreenRedReserved8BitPerColor。 需要實體框架緩衝區;不支援 PixelBltOnly 。 將執行遞交給 UEFI 開機應用程式時,韌體開機管理員和韌體不得將框架緩衝區用於任何用途。 開機服務結束時,畫面緩衝區必須繼續掃描。 |
替代顯示輸出 | UEFI 韌體必須使用硬體支援的任何顯示連接器來支援開機。 如果內部面板已連接且可見,則必須使用內部面板。 所有實際連接顯示器的輸出都必須顯示開機畫面。 針對連線的顯示器,UEFI 韌體必須: 如果可以判斷原生解析度,請使用顯示器的原生模式初始化輸出。 如果無法進行原生模式,則必須初始化為最高的相容模式。 如果無法判斷顯示器功能,則連線的顯示器必須在已知 (與 640x480 或 1024x768) 的 640x480 或 1024x768 相容的模式中初始化。 |
開機時輸入 | 需要 EFI 簡單文字輸入通訊協定,才能在具有內建鍵盤或附加鍵盤的系統上選擇開機或其他功能表選項。 對於無鍵盤的系統,在開機環境中建議使用三個按鈕: [開始] 按鈕 音量向上按鈕 [向下音量] 按鈕 按鈕按下應該透過 EFI 簡單文字輸入通訊協定回報,方法是分別將它們對應至下列鍵盤按鍵: Windows 按鍵 向上鍵 向下鍵 |
本機儲存體開機 | Windows 需要包含 EFI 系統磁碟分割和 Windows OS 磁碟分割之儲存體解決方案的區塊 I/O 通訊協定和裝置路徑通訊協定支援。 若要從需要耗用撫平或其他快閃管理的快閃儲存體開機,這必須在韌體中實作, (不在 UEFI 應用程式) 中實作。 |
安全性需求
Windows 在安全開機、測量開機、密碼編譯和資料保護方面具有安全性需求。 下表詳述這些需求。 此外,對於 SoC 硬體防止符合現有標準 (TPM、RTC 等 ) 的區域,則會開發其他需求。 這些會在資料表結尾描述。
區域 | 需求 |
---|---|
一般 |
|
UEFI 安全開機 |
|
UEFI 測量開機 | 下列需求不表示 TCG TPM 實作的需求;不過,它們表示需要受影響區域的對等功能。 平臺支援可能是由在安全執行環境中執行的 TPM 韌體實作所提供,並分層在密碼編譯加速引擎之上,並利用隔離儲存區。 Microsoft 可能可以提供這類 TPM 實作的參考軟體,以供廠商使用。 這受限於進一步的討論。
|
密碼編譯 |
|
資料保護 |
|
其他安全性需求 | Windows 在 SoC 平臺上需要下列額外需求。
|
韌體開機管理員需求
韌體開機管理員必須支援規格第 3.3 節中定義的預設開機行為。 此外,若要支援多重開機,則需要全域定義的變數,以及規格第 3.1 節的開機管理員需求。
UEFI Arm 系結需求
UEFI Arm 系結包含需要之 Arm 平臺的特定需求,才能符合 UEFI 規格。 Windows 需要 Arm 系結中適用于 ARMv7 的所有專案。 因為 Windows 不支援 ARMv7 之前的任何專案,所以系結中對於 ARMv6k 和以下系結的需求是選擇性的。
例如,系結會指定如何設定 MMU,以及如何對應實體記憶體。 系結也會指定只應在 Arm ISA 中完成對 UEFI 通訊協定和服務進行的呼叫,這表示在 Thumb2 或 Thumb 中執行的軟體必須在呼叫 UEFI 函式之前切換回 Arm 模式。
UEFI Arm 多處理器啟動需求
Microsoft 已開發通訊協定,以在多處理器 UEFI 平臺上啟動多個 Arm 核心。 不支援 Power State 協調介面 (PSCI) 的 Windows 在 Arm 平臺上需要此通訊協定。 支援 PSCI 的平臺不得使用此通訊協定。 如需此通訊協定的詳細資訊,請參閱 ACPI 元件架構 (ACPICA) 網站的 UEFI Arm 平臺多處理器啟動 檔。
平臺設定需求
韌體負責將系統硬體置於妥善定義的狀態,然後再將系統硬體交給 OS 載入器。 下表定義相關的平臺設定需求。
需求 | 描述 |
---|---|
開機路徑 | 韌體必須將平臺初始化為 Windows 能夠透過 UEFI 存取開機裝置並載入核心的位置。 根據效能和電源考慮,從開機裝置讀取階層所涉及的任何裝置都必須以合理的速率來時鐘和電源。 基底處理器核心本身也應該以合理的速率時鐘和電源,讓系統可以及時開機,而不需要清空電池。 |
核心系統資源 | 透過 ACPI 資料表公開給 OS 的核心系統資源必須開啟並時鐘。 核心系統資源包括必須由作業系統管理的中斷控制器、計時器和 DMA 控制器。 此外,必須透過呼叫 ExitBootServices () 來遮罩中斷,直到 OS 中相關聯的設備磁碟機解除遮罩並重新啟用裝置上的中斷為止。 如果在開機服務期間啟用中斷,則會假設韌體會管理它們。 |
偵錯 | Windows 支援透過 USB 3 主機 (XHCI) 、USB 2 主機 (EHCI) 1、IEEE 1394、序列和 USB 函式介面 (進行偵錯,以及 PCI 乙太網路卡) 。 在 OS 交接之前,至少必須由韌體提供電源、時鐘和初始化其中一項。 無論提供哪一個選項,都必須有公開的埠以進行偵錯,而且控制器必須經過記憶體對應,或透過專用的 (非共用) 周邊匯流排連線。 |
其他平臺設定需求 | 任何針腳多工處理和麵板設定都必須在韌體中完成,才能將控制權交給 OS 載入器。 |
安裝需求
Windows 需要 OS 磁碟分割位於 GPT 磁碟分割儲存解決方案上。 MBR 分割儲存體可作為資料儲存體。 如 UEFI 規格中所定義,UEFI 平臺需要專用的系統分割區。 Windows 需要這個專用的系統分割區,稱為 EFI 系統分割區 (ESP) 。
HSTI (硬體安全性測試介面) 需求
平臺必須實作硬體安全性測試介面,而且平臺必須共用硬體 安全性測試規格中指定的檔和工具。