Windows 10 Mobile 用のブート環境でのバッテリー充電

Windows 10 Mobileを実行するデバイスの場合、OemがSoCベンダーから受け取るBSPには、SoCベンダーのハードウェア専用に設計されたUEFIバッテリ充電ドライバーが含まれています。 Oemは、通常、ハードウェア用にカスタマイズするには、このドライバーを変更します。

このドライバーがMicrosoftによって提供されるUEFIバッテリ充電ドライバーで動作するように設計されている場合、ドライバーは UEFIバッテリ充電プロトコルを実装し、Microsoft UEFIバッテリ充電アプリケーションは、このプロトコルを使用してドライバーと通信します。

または、Oemは必要に応じて、Microsoftアプリケーションの代わりに使用される独自のUEFIバッテリ充電アプリケーションを実装できます。 このシナリオでは、UEFIバッテリ充電ドライバーは UEFIバッテリ充電プロトコルを実装する必要があります。 Windowsブートマネージャーは、ドライバーがこのプロトコルを実装している場合、Microsoft UEFIバッテリ充電アプリケーションを読み込みます。

この記事の情報のほとんどは、Microsoftによって提供されるUEFIバッテリ充電アプリケーションを使用するデバイスに適用されます。 この記事の UEFIバッテリ充電アプリケーション という用語は、mobilestartup.efiによって読み込まれたUEFIバッテリ充電ライブラリを指します。 mobilestartup.efi についての詳細は Boot と UEFI を見て下さい。

Microsoftによって提供されるブートバッテリの充電プロセスについて

次の手順では、Microsoftによって提供されるUEFIバッテリ充電アプリケーションを使用するデバイスのブートフロー中の充電プロセスについて説明します。

  1. デバイスの電源は、電源に接続されているか、ユーザーが電源ボタンを押すことによってオンになります。

  2. SoC固有のファームウェアブートローダーは、次のいずれかの操作を実行します。

    • ブートローダーが接続された電源を検出し、デバイスにバッテリがある場合、デバイスはバッテリのトリクル充電を開始し、ブートマネージャーにUEFI環境での起動を続行します。

    • ブートローダーが電源を検出せず、バッテリが低すぎてUEFI環境で起動できない場合、デバイスはシャットダウンします。

    • ブートローダーが接続された電源を検出しても、デバイスにバッテリがない場合、デバイスはUEFIバッテリ充電アプリケーションにUEFI環境での起動を続行します。 アプリケーションがバッテリを充電しようとすると、UEFIバッテリ充電ドライバーは、バッテリが検出されないことを示すエラーをアプリケーションに返します。 アプリケーションは、エラー UI を表示してデバイスをシャットダウンすることで、このエラーを処理します。 詳細については 「Microsoftが提供するUEFIバッテリ充電アプリケーションのアーキテクチャ」 を参照してください。

  3. ブートマネージャーは、バッテリ充電アプリケーションを実行します。

    • デバイスが接続された電源を検出すると、デバイスはバッテリ充電モードになります。 バッテリ充電アプリケーションは、UEFIバッテリ充電ドライバーとUEFI USBFnドライバーを使用して、バッテリを充電します。 詳細については 「UEFIバッテリ充電プロトコル」を参照してください。

    • デバイスが接続された電源を検出せず、バッテリが低すぎてメインOSを起動できない場合、デバイスはシャットダウンします。

  4. OEMがカスタマイズ可能なレジストリ値の値に応じて、バッテリ充電アプリケーションは、デバイスがしきい値に達した後にブートプロセスを続行するか、ユーザーが電源ボタンを押したままにするまで待機します。

次の図は、ブートバッテリの充電プロセスに関連するコンポーネントを示しています。 この図は、バッテリの充電プロセスに焦点を当てるために、意図的に多くのUEFIコンポーネントを省略しています UEFIブートプロセスの包括的なビューについては、 「ブートとUEFI」 を参照してください。

pre-boot battery charging flow.

Microsoft提供のバッテリ充電アプリケーションでサポートされている充電状態

ブートバッテリの充電プロセスがUEFIバッテリの充電アプリケーションに到達すると、デバイスは構成方法に応じていくつかの異なる状態を入力できます。 これらの状態は 充電しきい値電源オフ充電と呼ばれます。

充電しきい値

次の図は、既定のブートバッテリの充電プロセスを示しています。 このプロセスでは、バッテリが特定のしきい値 メインOSへのブートしきい値) に達するとすぐに、デバイスがメインOSを起動します。 バッテリの充電プロセスの一部として定義されているその他のしきい値の詳細については、 「バッテリの充電しきい値」 を参照してください。

preboot battery flow for threshold charging.

次の手順は、この充電プロセスに対応するUIフローを示しています。

  1. バッテリに メインOSへのブート しきい値を満たすのに十分な充電がない場合、デバイスは10秒間、次のバッテリ低下のUI画面を交互に表示します。 ユーザーがこの10秒間隔内で電源ボタンを押すと、デバイスはさらに10秒間、次のバッテリ低下のUI画面を交互に表示し続けます。

    Screenshot that shows a low battery.Screenshot that shows a low battery with a power plug.

  2. デバイスが10秒間アイドル状態の場合、デバイスはディスプレイをオフにします。

    Screenshot that shows a black screen.

  3. デバイスが メインOSへのブート しきい値に達すると、デバイスはOEMブートロゴを表示し、メインOSを起動します。 次のスクリーンショットは、OEMブートロゴの例を示しています。

    Screenshot that shows a low battery screen O E M logo.

電源オフ充電

Windows 10では、デバイスがユーザーの観点からオフになっているように見えるときに、バッテリを充電する機能がサポートされています。 この機能は 電源オフ充電と呼ばれます。 この機能を有効にする方法については、このドキュメントの今後のリリースで提供されます。

重要

電源オフ充電は、デバイスイメージが生成されたときにのみ構成できます。 Windows 10 OSでは、ユーザーが電源オフ充電を有効または無効にする方法は提供されません。

電源オフ充電が有効になっている場合、デバイスは メインOSへのブート しきい値に達した後でも、バッテリの充電アプリケーションの制御下に残ります。 デバイスは、ユーザーがメインOSにデバイスを起動する2秒以上の電源ボタンを保持するまで、この状態のままになります。

電源オフ充電が有効になっている場合でも、ユーザーは常に電源オフ充電パスを通過しません。 デバイスがオンになっていて、電源に接続されているときに(たとえば、更新やシステム言語設定の変更などが原因です。)を再起動すると、デバイスは電源オフ充電モードをスキップし、プリブート充電しきい値に達した後にメインOSに直接起動します。 電源オフ充電モードは、ユーザーがオンになっていて、電源に接続されているときにデバイスを再起動する電源ボタンを押したままにした場合にもスキップされます。

次の図は、電源オフ充電が有効になっている場合のブートバッテリの充電プロセスを示しています。

preboot battery flow for power-off charging.

次の手順は、電源オフ充電が有効になっているときに対応するUIフローを示しています。

  1. バッテリには メインOSへのブート しきい値を満たすのに十分な料金がない場合、デバイスは10秒間、次の赤いバッテリ低下UI画面を交互に表示します。 ユーザーがこの10秒間隔内で電源ボタンを押すと、デバイスはさらに10秒間、次のバッテリ低下のUI画面を交互に表示し続けます。

    Screenshot that shows a white and red low battery.Screenshot that shows a white and red low battery with a power plug.

  2. デバイスが10秒間アイドル状態の場合、デバイスはディスプレイをオフにします。

    low battery screen black.

  3. デバイスが メインOSへのブート しきい値に達した後、デバイスは、メインOSを直接起動するのではなく、10秒間、次の白いバッテリ低下UI画面を交互に表示します。 ユーザーがこの10秒間隔内の短い期間 (2秒未満) の電源ボタンを押すと、デバイスはさらに10秒間、次のバッテリ低下UI画面を交互に表示し続けます。

    Screenshot that shows a white and black low battery UI.Screenshot that shows a white and black low battery with a power plug UI.

  4. デバイスが10秒間アイドル状態の場合、デバイスはディスプレイをオフにします。

    low battery screen black.

  5. ユーザーが2秒以上の電源ボタンを押すと、デバイスはOEMブートロゴを表示し、メインOSを起動します。 次のスクリーンショットは、OEMブートロゴの例を示しています。

    low battery screen oem logo.

バッテリの充電しきい値

Microsoftでは、適切なバッテリの充電ユーザーエクスペリエンスを確保するために、いくつかのバッテリの充電しきい値を定義しました。 これらのしきい値の一部は、適切なバッテリの充電動作を確保するためにOEMによって実装する必要があります。 次の図は、各課金しきい値がどのように適合するかを示しています (この図はスケールに描画されません) 。

preboot battery charging thresholds.

図の左側には、デバイスが充電されているときにユーザーエクスペリエンスに影響を与えるすべてのしきい値が表示され、図の右側には、デバイスが放電しているときにユーザーエクスペリエンスに影響を与えるすべてのしきい値が表示されます。 次の表では、各しきい値について説明します。

Threshold 説明 構成ガイダンス
ファームウェアの充電しきい値 これは、デバイスがハードウェアベースの課金からファームウェアベースの課金に起動するしきい値です。 ファームウェアを起動するには低すぎる場合は、バッテリを充電して保護するために、ハードウェアの充電フェーズでデバイスを保持する必要があります。 Oemは UEFIしきい値へのブートよりも低いしきい値を設定する必要があります。 このしきい値を変更する方法の詳細については、SoCベンダーにお問い合わせください。
UEFIしきい値へのブート これは、デバイスがファームウェアベースの課金からUEFIベースの課金 (Microsoftによって提供される) に起動するしきい値です。 ファームウェアを起動するには低すぎる場合は、バッテリを充電するファームウェアの課金フェーズでデバイスを保持する必要があります。 Oemは ファームウェアの課金しきい値よりも高いが メインOSへのブート しきい値よりも低いこのしきい値を設定する必要があります。 このしきい値を変更する方法の詳細については、SoCベンダーにお問い合わせください。
メインOSへのブートしきい値 これは しきい値の充電モードでメインOSにUEFIベースの課金からデバイスを起動するしきい値です。 メイン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によって変更することはできません。

Microsoft が提供する UEFI バッテリ充電アプリケーションのアーキテクチャ

ブートおよび UEFI