次の方法で共有


ファームウェア更新プログラム パッケージの作成

各ファームウェア更新プログラムパッケージには、ファームウェアペイロード全体(例:firmware.bin)を含む1つのバイナリファイルと、Windowsがfirmware.binを検証するために使用するセキュリティカタログが含まれています。 セキュリティカタログとドライバーの詳細については 「カタログファイルとデジタル署名」 および 「PnPドライバーパッケージのカタログファイルの作成」 を参照してください。

ファームウェア更新プログラムパッケージは、次の種類のファームウェアの1つ以上を更新できる必要があります。

  • UEFIシステムファームウェア。

  • システム内の1つのデバイスのファームウェア。

各ファームウェア更新プログラムパッケージが1つのファームウェアリソース (UEFIシステムファームウェアまたは1つのデバイス) を対象とすることをお勧めしますが、システムファームウェアと1つまたは複数のデバイスの両方を更新する1つのファームウェア更新プログラムパッケージがあると便利な場合があります。

デバイスは、複数のファームウェア更新プログラムパッケージの対象にすることはできません。 システムファームウェアも含まれているファームウェア更新プログラムパッケージによってデバイスが対象となっている場合は、デバイスのみを対象とする2番目のファームウェア更新プログラムパッケージの対象にすることはできません。

  1. 適切なシステムハードウェアへのファームウェア更新プログラムを対象とするファームウェア更新プログラムパッケージを許可するために、WindowsはESRT内の各エントリのデバイスインスタンスを表示します。このようなデバイスインスタンスは、ESRTエントリに属していることを識別するハードウェアIDを公開します。

  2. ファームウェア更新プログラムパッケージがインストールされると、ドライバーパッケージとしてWindowsによって処理されます。 Windowsは、システムディレクトリの下の安全な場所に各更新プログラムパッケージのファームウェアペイロードをコピーし、ファームウェアの更新を実行し、システムを再起動するようにシステムを準備します。

    Windowsでは、ドライバーパッケージ間の依存関係はサポートされていません。 そのため、新しいファームウェア更新プログラムパッケージを作成するときに、次の要件を確認する必要があります。

    • ファームウェア更新プログラムパッケージは、他のデバイスファームウェア、システムファームウェア、またはその他のファームウェア更新プログラムパッケージに依存せずに、独自に正常にインストールできる必要があります。

    • 各更新プログラムパッケージは、システム上の1つのデバイスまたはUEFIシステムファームウェア (ESRTで定義) を対象とすることをお勧めします。

    • 各更新プログラムパッケージには、1つのファームウェア更新バイナリ(例:firmware.bin)が含まれている必要があります。

  3. 各更新プログラムパッケージのファームウェア更新ペイロードは、1つのバイナリファイルに含まれている必要があります。 システムの再起動時に、OSローダーは、各ファームウェア更新パッケージの各ファームウェア更新バイナリファイルを物理メモリに読み込み、インストール用に準備された各ペイロードファイルへのポインターの配列を構築します (UEFI 2.3.1仕様では、この配列をCapsuleHeaderArrayと呼びます) 。

  4. この配列は、EFI UpdateCapsule()関数の呼び出しで渡されます。 UpdateCapsule()は、各ドライバーパッケージのファームウェア更新ペイロードをプラットフォームファームウェアに渡す、メールボックスとして使用されます。

  5. 各カプセル (ファームウェア更新ペイロード) は、ファームウェアリソースのESRTエントリで指定されたファームウェアIDによって識別されます。

  6. 各ファームウェア更新ペイロードを受信すると、ファームウェア更新要求が処理され、該当する場合に適用されます。

    CapsuleHeaderArray内の各エントリは、システム内の1つのデバイスのファームウェアドライバーパッケージからファームウェア更新ペイロードを含むデータの1つの連続したブロックです。 対象となるファームウェアリソースごとに、ファームウェア更新ペイロードには、ファームウェアイメージと検証のためにプラットフォームで必要なすべての情報が含まれている必要があります。

    すべてのファームウェア更新ドライバーパッケージのファームウェアペイロードは、UEFI UpdateCapsuleサービスを使用してプラットフォームファームウェアに渡されます。 統合されたデバイスはさまざまなIhvから供給されるため、システムOEM (および場合によってはSoC製造元) は、特定のシステムに対してデバイスのファームウェアの更新プログラムが適切に作成されるように、これらのIhvを直接操作する必要があります。 さらに、システムOEMは、ESRTエントリによってUpdateCapsuleパッケージが適切なシステムを対象とすることを確認する必要があります。

    たとえば、複数のOemは、システムに同じモデルのモバイルブロードバンド (MBB) デバイスを選択する場合があります。 MBBデバイスは各システムで同じであっても、各OEMは、システム用にカスタマイズされたファームウェア更新パッケージを作成するためにMBB IHVと共同作業する必要があります。 デバイスのファームウェア更新プログラムのカスタマイズのこのレベルは、OEMシステム間で変数に対処するために必要です。

    • デバイスのアドレス指定は、OEMによって選択されたSoCと、デバイスがSoCに接続されている方法によって異なる場合があります。

    • システムOEMは、消費者に再販するために複数のモバイル ネットワーク オペレーター (MNO) にシステムを販売する場合があります。 MBBデバイスは、カスタマイズされ、特定のMNOの要件に認定されているファームウェアを必要とする、MNOに対応している必要があります。

    • システムは、RF規制と無線周波数の割り当てがそれぞれ異なる、世界中の複数の市場で販売できます。 MBBデバイスのファームウェアは、これらの市場の要件を満たすためにカスタマイズを必要があります。

    各OEMは慎重にこのようなデバイス固有の要件を検討し、デバイスのファームウェアを対象とし、適切に更新できることを確認するために必要な手順を実行する必要があります。 これには、デバイスのファームウェアを適切に展開できることを確認するESRTエントリの慎重な管理が必要です。

  7. アップデートパッケージが作成されたら、マイクロソフトに提出し、認証と署名を受ける必要があります。

ファームウェア ドライバー パッケージを介したシステムとデバイスのファームウェアの更新

ESRT テーブルへのデータの挿入

さまざまな地理的な地域向けにファームウェアをカスタマイズする

更新プログラム パッケージの認定と署名

更新プログラムのインストール