共用方式為


開機畫面元件

韌體更新開機畫面有兩個元件:OEM 標誌和更新文字。 本文提供如何設定每個元件的指引,以及這些元件如何在韌體更新封裝中傳遞至韌體的資訊。

韌體更新開機畫面中的 OEM 標誌必須是一般開機程式期間所顯示的相同標誌。 針對韌體更新開機畫面,標誌的大小、位置和品質必須與正常開機程式期間所顯示相同。

OEM 標誌檔案

在客戶看到任何可採取動作的畫面之前,您的 OEM 標誌會顯示在開機畫面上。

OEM 標誌不會出現在 OOBE 中的任何畫面上,並在 OOBE 之後,它會顯示在 [效能資訊和工具] 底下的[主控台]。 它不會顯示在 [ 設定 ] 應用程式中。

POST (開機自我測試) 和作業系統啟動速度比之前更快。 為確保您擁有合適的商標宣傳時刻,在 POST 和作業系統啟動時皆可見到 OEM 標誌。 透過這種方法,OEM 標誌容易辨認、適當地持續推廣並與快速可靠的體驗相關聯。

此外,OEM 標誌在 [效能資訊及工具] 下的 [控制台] 應用程式中做為品牌元素顯示。 它不會顯示在 [ 設定 ] 應用程式中。

您新增的標誌會向客戶展示其第一個視覺效果,以及其執行 Windows 的新電腦,因此它應該是簡潔、簡潔且清楚的邊緣和內部。

由於開機畫面的背景總是黑色的,因此請使用適合搭配黑色背景的標誌。 標誌還必須有純黑色背景,因此在標誌的黑色背景結束與畫面的黑色背景開始顯示之間不會有明顯差異。 不支援透明度。 針對從 UEFI 繪圖輸出通訊協定 (GOP) 移轉到作業系統的原生視訊驅動程式的過程中,黑色背景可最佳化標誌初始彩現和開機結尾時淡出的系統效能。 Windows 的其他區域也會使用您的標誌:安裝程式、Push-Button重設 (PBR) 、安全開機補救,以及啟動修復工具,全都使用黑色背景。 這些體驗會使用開機圖形資源表 (BGRT).中的相同標誌。

POST 期間定位標誌

韌體在 POST 過程中提取 OEM 標誌並將標誌放置在預定位置。 當 Windows 啟動開始時,標誌會存放在視訊緩衝區。 桌面可以透過讀取 EDID (延伸顯示器識別資料) 來偵測面板的原生解析度。

要使標誌在整個順序中正確顯示,裝置需以原生解析度進行 POST。 這可以確保標誌是您想要且 Windows 要求的大小、形狀和位置。

該標誌應該出現在畫面的特定位置,以展示電腦的品牌。 我們建議將標誌放置於自畫面上邊緣 38.2% 處的畫面中心。 此定位是基於黃金比例的視覺美學,並與 Windows 10 設計比例相符。 在所有執行 Windows 10 的電腦上進行一致的定位可讓 Windows 將進度環放置在正確的位置,並確保標誌和進度環在視覺上保持平衡。

為了進一步支援此視覺平衡,建議您將標誌大小限制為畫面高度和寬度的 40%。 這可確保畫面正確顯示,並且 Windows 可以在開機結尾時適當淡出標誌。 建議標誌顯示的最大面積不超過自畫面上方的 18.2%。

這些設計原則對橫向和縱向裝置皆適用。

新增標誌到 BGRT

除了在 POST 期間正確放置標誌以外,您還可以將標誌儲存在開機圖形資源表 (BGRT) 中。 BGRT 可動態地定義 Windows 要用於描述資源和畫面位置的新物件。 將標誌儲存在 EfiBootServicesData 中,並透過 BGRT 將其曝光。 BGRT 介面支援此標誌做為 24 位位點陣圖,其像素格式為 0xRRGGBB,或具有像素格式為 0xrrRRGGBB 的 32 位點陣圖,其中 'rr' 是保留的。 這是 Windows 用來存取標誌的標準介面。

BGRT 中的兩個重要欄位是「影像位移 X」和「影像位移 Y」。 這些是標誌畫面位置左上角的 (x,y) 值。 當您設定這些值時,請確定您未使用周框方塊的標誌位置或左上角,或 Windows 不會在 [設定]、[啟動修復]、[Push-Button重設] 或其他體驗中正確定位標誌。

您應該將標誌資源中的邊框間距最小化,並僅將必要內容合適地置中呈現。 使用最小邊框間距可以節省韌體空間,並讓 Windows 適當地縮放基於 BGRT 的標誌。

OEM 標誌不會出現在 OOBE 的任何畫面上。

如需 BGRT 的詳細資訊,請參閱 進階設定和 Power Interface (ACPI) 規格的第 5.2.22 節。

更新文字

韌體更新開機畫面中的更新文字是一個簡單的字串,其設計目的是要快速閱讀且易於瞭解。 文字是由 Windows 開機載入器轉譯。 一旦判斷韌體更新擱置中,開機載入器會決定 Windows 的地區設定,並在畫面上顯示當地語系化的文字。

在呼叫 UpdateCapsule 期間,開機載入器會傳遞所有韌體更新封裝。 此外,它也會傳入 Microsoft 定義的 韌體更新顯示 封裝,其中包含顯示的文字點陣圖,以及畫面上點陣圖的位置。 系統韌體的 UpdateCapsule 方法必須保存密封,如此一來,每當螢幕被清除或修改時,就可以在畫面上重新顯示點陣圖。

韌體更新開機畫面元件。

Windows 韌體更新顯示封裝

當 Windows 開機載入器呼叫系統韌體的 UpdateCapsule 方法時,它會傳入所有韌體更新封裝。 此外,它也會傳入 Windows UX 封裝。 此太空艙包含必須在螢幕上顯示之轉譯、當地語系化文字的點陣圖。 下列 GUID 可用來識別此密封:{3b8c8162-188c-46a4-aec9-be43f1d65697}。

不保證 UX 封裝會出現在密封的陣列中。 請勿依賴特定的索引位置來尋找 UX 密封。 最佳做法包括掃描尋找 UX 封裝的陣列,並在處理陣列中剩餘的韌體擷取之前進行處理。

請務必注意,可能有一些案例不會有 UX 封裝。 例如,在沒有顯示介面卡的無頭伺服器的情況下,不會有任何 UX 封裝。 在這種情況下,韌體 UpdateCapsule 呼叫可以忽略 UX 封裝需求。 不過,如果存在 UX 封裝,則 UpdateCapsule 必須根據本節所述的程式來處理它。

下表描述 UX 封裝的韌體更新顯示標頭。

欄位 位元組長度 位元組位移 描述
CapsuleGuid 16 0 FIRMWARE_UPDATE_DISPLAY_CAPSULE
HeaderSize 4 16 sizeof (EFI_CAPSULE_HEADER)
Flags 4 20 CAPSULE_FLAGS_PERSIST_ACROSS_RESET
CapsuleImageSize 4 24 描述韌體更新顯示封裝長度的 4 位元組不帶正負號的整數。 大小包括標頭和密封,其中包含顯示影像。

下表描述韌體更新顯示太空承載。

欄位 位元組長度 位元組位移 描述
版本 1 28 識別實作顯示擷取子的修訂。 此欄位將會設定為 1。
總和檢查碼 1 29 包含可啟用簡單驗證的總和檢查碼。 整個密封 (標頭和承載的總和) ,包括顯示影像必須等於零。 如果總和不等於零,則應該忽略擷取擷取。
ImageType 1 30 指定內嵌影像的格式:

0:點陣圖

1-255:保留供日後使用。
保留 1 31 保留供未來使用。 必須為零。
[模式] 4 32 指定能夠顯示內嵌影像的圖形輸出通訊協定視訊模式。 在呼叫 UpdateCapsule 之前,會先查詢視訊模式,並描述開機載入器顯示內嵌影像時,本機顯示器的目前視訊模式和視訊模式。 值等於轉譯影像時,EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE 結構的 Mode 欄位。
影像位移 X 4 36 描述點陣圖影像 X 位移的 4 位元組 (32 位) 不帶正負號的長。 (X、Y) 影像左上角的顯示位移。 顯示器的左上角位於位移 (0,0) 。
影像位移 Y 4 40 描述點陣圖影像 Y 位移的 4 位元組 (32 位) 不帶正負號的長。 (X、Y) 影像左上角的顯示位移。 顯示器的左上角位於位移 (0,0) 。 如需範例,請參閱下圖。
映像 N/A 44 位元組陣列,其中包含韌體更新程式期間要顯示的內嵌點陣圖。 此點陣圖可以是像素格式為 0xRRGGBB 的 24 位位點陣圖,或是像素格式為 0xrrRRGGBB 的 32 位位點陣圖,其中保留 'rr' 。

相對於顯示的影像位移值

不同于針對韌體更新承載所產生的擷取器,顯示承載不會填補為頁面對齊。 顯示承載會緊接在頭頭後面。

韌體更新顯示摘要說明必須在韌體更新期間轉譯的圖形。 圖形一開始會由 Windows 轉譯並顯示,並交由韌體作為相同 UpdateCapsule 呼叫的一部分,其中包含更新承載 () 韌體。 如果韌體重設系統或視訊裝置,韌體必須重新顯示顯示擷取盤中提供的點陣圖。 如果未在重設之間保存實體記憶體,韌體可能需要將點陣圖儲存到永續性儲存體,以在重設之後重新顯示點陣圖。 如何在重設之間儲存和還原點陣圖的詳細資料是實作特定的,本文不會討論。

韌體更新顯示模組會從 ACPI 5.0 中定義的開機圖形資源資料表 (BGRT) 模型化。 BGRT 會定義系統韌體的機制,以提供圖形給 OS 開機載入器。 雖然這兩個數據表很類似,但有幾個值得注意的差異。

BGRT 韌體更新顯示封裝 原因
點陣圖指標 內嵌點陣圖 內嵌點陣圖可讓您在單一作業中儲存和還原擷取。
不包含視訊模式 包含視訊模式 完成,以避免在 UpdateCapsule 呼叫期間要求韌體查詢視訊模式。
包含 [狀態] 欄位 不包含 [狀態] 欄位 BGRT 的 [狀態] 欄位描述影像目前是否顯示在畫面上。 這不適用於韌體更新顯示封裝。

UEFI 韌體更新的使用者體驗