Windows 10 行動裝置版開機環境中的電池充電
針對執行Windows 10 行動裝置版的裝置,OEM 從 SoC 廠商收到的 BSP 包含專為 SoC 廠商硬體設計的 UEFI 電池充電驅動程式。 OEM 通常會修改此驅動程式,以為其硬體進行自訂。
如果此驅動程式的設計目的是要與 Microsoft 提供的 UEFI 電池充電驅動程式搭配使用,驅動程式會實作 UEFI 電池充電通訊協定,而 Microsoft UEFI 電池充電應用程式會使用此通訊協定與驅動程式通訊。
或者,OEM 可以選擇性地實作自己使用的 UEFI 電池充電應用程式,而不是 Microsoft 應用程式。 在此案例中,UEFI 電池充電驅動程式不得實作 UEFI 電池充電通訊協定。 如果驅動程式實作此通訊協定,Windows 開機管理員會載入 Microsoft UEFI 電池充電應用程式。
本文中大部分的資訊適用于使用 Microsoft 提供的 UEFI 電池充電應用程式的裝置。 本文中的 UEFI 電池充電應用程式 一詞是指 mobilestartup.efi 所載入的 UEFI 電池充電程式庫。 如需 mobilestartup.efi 的詳細資訊,請參閱 開機和 UEFI。
瞭解 Microsoft 提供的開機電池充電程式
下列步驟說明使用 Microsoft 所提供 UEFI 電池充電應用程式的裝置開機流程期間的充電程式:
裝置已連線到電源或使用者按下電源按鈕來開啟電源。
SoC 特定的韌體開機載入器會執行並執行下列其中一個動作:
如果開機載入器偵測到連線的電源,且電池位於裝置中,裝置就會開始將電池充電,並繼續開機到開機管理員進入 UEFI 環境。
如果開機載入器未偵測到電源,且電池太低而無法開機到 UEFI 環境,裝置就會關閉。
如果開機載入器偵測到連線的電源,但裝置中沒有電池,則裝置會繼續開機進入 UEFI 環境到 UEFI 電池充電應用程式。 當應用程式嘗試充電電池時,UEFI 電池充電驅動程式會傳回錯誤給應用程式,以指出未偵測到電池。 應用程式會藉由顯示錯誤 UI 並關閉裝置來處理此錯誤。 如需詳細資訊,請參閱 Microsoft 提供的 UEFI 電池充電應用程式架構。
開機管理員會執行電池充電應用程式。
如果裝置偵測到連接的電源,裝置就會進入電池充電模式。 使用 UEFI 電池充電驅動程式和 UEFI USBFn 驅動程式來充電電池的電池充電應用程式介面。 如需詳細資訊,請參閱 UEFI 電池充電通訊協定。
如果裝置未偵測到連線的電源,且電池太低而無法開機進入主要 OS,則裝置會關閉。
根據 OEM 可自訂登錄值的值,電池充電應用程式會在裝置達到臨界值之後繼續開機程式,或等待使用者按住電源按鈕,再執行此動作。
下圖說明與開機電池充電程式相關的元件。 此圖表刻意省略許多 UEFI 元件,以專注于電池充電程式;如需 UEFI 開機程式的完整檢視,請參閱 開機和 UEFI。
Microsoft 提供的電池充電應用程式支援的充電狀態
當開機電池充電程式到達 UEFI 電池充電應用程式時,裝置可以根據其設定方式進入數個不同的狀態。 這些狀態稱為 臨界值充電 和 電源關閉充電。
閾值充電
下圖顯示預設開機電池充電程式。 在此程式中,當電池達到特定閾值時,裝置就會開機到主要 OS,稱為開 機至主要 OS 閾值。 如需這個和其他定義為電池充電程式一部分的臨界值的詳細資訊,請參閱 電池充電閾值。
下列步驟說明此充電程式的對應 UI 流程:
如果電池沒有足夠的電量符合 開機至主要 OS 閾值,則裝置會在下列低電池 UI 畫面之間替代 10 秒。 如果使用者在此 10 秒間隔內按下電源按鈕,則裝置會繼續在下列低電池 UI 畫面之間切換 10 秒。
如果裝置閒置 10 秒,裝置會關閉顯示器。
裝置到達 開機至主要 OS 閾值之後,裝置會顯示 OEM 開機標誌並開機至主要 OS。 下列螢幕擷取畫面示範範例 OEM 開機標誌。
電源關閉充電
Windows 10支援在裝置似乎從使用者的觀點關閉時充電電池的功能。 此功能稱為 電源關閉充電。 本檔的未來版本將提供如何啟用這項功能的相關資訊。
重要
只有在產生裝置映射時,才能設定電源關閉充電。 Windows 10 OS 不提供讓使用者啟用或停用電源充電的方式。
如果已啟用電源關閉充電,即使達到 開機至主要 OS 閾值,裝置仍會維持在電池充電應用程式的控制下。 裝置會維持此狀態,直到使用者保留電源按鈕 2 秒或更長的時間,才能將裝置開機至主要 OS。
即使已啟用電源關閉充電,使用者也不會一律通過電源關閉充電路徑。 例如,如果裝置因為更新而 (重新開機,或因為系統語言設定在電源開啟並聯機到電源時) 變更,則裝置會在達到開機前充電閾值之後,略過電源關閉充電模式並直接開機至主要 OS。 如果使用者按住電源按鈕以在裝置開啟並聯機到電源時重新開機裝置,也會略過關閉電源充電模式。
下圖顯示啟用電源關閉充電時的開機電池充電程式。
下列步驟說明啟用電源關閉充電時的對應 UI 流程:
如果電池沒有足夠的電量符合 開機至主要 OS 閾值,則裝置會在下列紅色低電池 UI 畫面之間替代 10 秒。 如果使用者在此 10 秒間隔內按下電源按鈕,則裝置會繼續在下列低電池 UI 畫面之間切換 10 秒。
如果裝置閒置 10 秒,裝置會關閉顯示器。
裝置到達 開機至主要 OS 閾值之後,裝置會在下列白色低電池 UI 畫面之間切換 10 秒,而不是直接開機至主要 OS。 如果使用者在這段 10 秒的間隔內按下電源按鈕, (小於 2 秒) ,則裝置會繼續在下列低電池 UI 畫面之間切換 10 秒。
如果裝置閒置 10 秒,裝置會關閉顯示器。
如果使用者按下電源按鈕 2 秒或更長的時間,裝置會顯示 OEM 開機標誌並開機至主要 OS。 下列螢幕擷取畫面示範範例 OEM 開機標誌。
電池充電閾值
Microsoft 已定義數個電池充電閾值,以確保正確的電池充電使用者體驗。 OEM 必須實作其中一些臨界值,以確保正確的電池充電行為。 下圖說明每個充電閾值如何結合在一起, (此圖表不會繪製為調整) 。
圖表左側會顯示在裝置充電時影響使用者體驗的所有臨界值,而圖表右側會顯示在裝置開機時影響使用者體驗的所有臨界值。 下表描述每個臨界值。
臨界值 | 描述 | 設定指引 |
---|---|---|
韌體充電閾值 | 這是裝置從硬體型充電開機到韌體型充電的臨界值。 當裝置太低而無法開機進入韌體時,必須讓裝置處於硬體充電階段,才能充電並保護電池。 | OEM 必須將此閾值設定為低於 開機至 UEFI 閾值。 如需如何修改此閾值的詳細資訊,請連絡 SoC 廠商。 |
開機至 UEFI 閾值 | 這是裝置從韌體型充電開機到 Microsoft) 提供的 UEFI 型充電 (的臨界值。 當裝置太低而無法開機進入韌體時,必須讓裝置處於韌體充電階段,才能充電電池。 | OEM 必須將此閾值設定為高於 韌體充電閾值,但低於 開機至主要 OS 閾值。 如需如何修改此閾值的詳細資訊,請連絡 SoC 廠商。 |
開機至主要 OS 閾值 | 這是裝置從 UEFI 型充電開機到 臨界值充電模式中主要 OS 的臨界值。 當裝置太低而無法開機進入主要 OS 時,必須讓裝置處於 UEFI 充電階段,才能充電電池。 | OEM 必須將此閾值設定為高於 開機至 UEFI 閾值 , 且主要 OS 關閉閾值。 此臨界值是以電池的完整容量百分比來定義。 根據預設,此值會設定為 7%。 本檔的未來版本將提供如何設定此閾值的資訊。 |
開機以更新 OS/裝置重設閾值 | 這是裝置從 UEFI 型充電開機到更新 OS 或裝置重設模式的閾值。 當裝置太低而無法維持更新或裝置重設的程式時,必須讓裝置處於 UEFI 充電階段,才能充電電池。 | 此閾值設定為 開機至主要 OS 閾值 + 8%。 |
電池已滿 | 這是電池在其完整容量的 100% 時所達到的臨界值。 在此閾值下,系統匣中的電池圖示會顯示完整電池圖示。 | OEM 應該校正其電池設定檔,讓裝置一律可以達到電池完整容量。 |
省電模式閾值 | 如果使用者已設定省電模式,則這是自動啟用省電的閾值。 | 此閾值設定為電池的完整容量的 20%,OEM 無法變更。 |
主要 OS 警告閾值 | 這是裝置向使用者顯示電池不足通知的臨界值。 | 此閾值設定為電池的完整容量的 10%,OEM 無法變更。 |
主要 OS 關機閾值 | 這是軟體安全地關閉裝置的閾值。 必須防止系統記憶體損毀。 | OEM 必須將此閾值設定為低於 開機至主要 OS 閾值 ,且低於 主要 OS 警告閾值。 此外,此臨界值必須大於或等於 2%。 此臨界值是由BATTERY_INFORMATION結構的DefaultAlert1成員所定義。 如需如何修改此閾值的詳細資訊,請連絡 SoC 廠商。 |
硬體關機閾值 | 這是硬體強制裝置關閉電源的臨界值。 必須保護電池不會太低。 | 此閾值是由 SoC 廠商所設定,不應由 OEM 變更。 |