新しいセキュアブート証明書を反映させるためには、BIOSとファームウェアのアップデートが必要です。
新しい証明書がダウンロードされていても、BIOSやファームウェアが一定以上の基準に達していないと反映されません。
購入当初からBIOSのアップデートを行っていないなどの場合は、いつまで経っても証明書の更新はされないと思います。(2024年、2025年販売モデルは反映されるかも)
反映されるファームウェアの基準をは明確には発表されていようです。
有効期限が切れるセキュアブート証明書
・Microsoft Corporation KEK CA 2011
・Microsoft Windows Production PCA 2011
・Microsoft Corporation UEFI CA 2011
参照:セキュア ブート証明書の更新: IT プロフェッショナルと組織向けのガイダンス
| 有効期限切れる証明書 | 有効期限 | 場所の格納 | 新しい証明書 | 目的 |
|---|---|---|---|---|
| Microsoft Corporation KEK CA 2011 | 2026 年 6 月 | KEK に格納されている | Microsoft Corporation KEK 2K CA 2023 | DB と DBX の更新を署名します。 |
| Microsoft Windows Production PCA 2011 | 2026 年 10 月 | DB に格納されている | Windows UEFI CA 2023 | Windows ブート ローダーに署名します。 |
| Microsoft Corporation UEFI CA 2011 | 2026 年 6 月 | Microsoft UEFI CA 2023 | サード パーティ製のブート ローダーと EFI アプリケーションに署名します。 | |
| Microsoft Option ROM UEFI CA 2023 | サード パーティのオプション ROM に署名します。 |
証明書確認はPowershellのコマンドで行う
モジュールのインストール
確認に必要なモジュールはデフォルトで組み込まれていないため、設定が必要です。
モジュールが組み込まれていない状態で実行すると下記のエラーメッセージが
Get-UEFISecureBootCerts : 用語 'Get-UEFISecureBootCerts' は、コマンドレット、関数、スクリプト ファイル、または操作可能 なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正し いことを確認してから、再試行してください。 発生場所 行:1 文字:2 + (Get-UEFISecureBootCerts db).signature + ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-UEFISecureBootCerts:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

- Windows Powershellを管理者権限で実行する
- モジュールのインストールを行う
コマンド1:Install-Module -Name UEFIv2
※確認事項が出てきたら[Y]か[A]を選ぶ - コマンド2:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
- コマンド3:Import-Module -Name UEFIv2
セキュアブート証明書の確認
アクティブDBの確認
(Get-UEFISecureBootCerts db).signature
※アクティブDBは、コンピューターがマシンの起動に使用するものです。これらは、オペレーティング システムがコンピューターのセキュア ブートに使用する証明書です。
デフォルトのDBを確認
(Get-UEFISecureBootCerts dbdefault).signature
※デフォルトDBは、セキュア ブートDBのバックアップ コピーです。これらの証明書は、BIOSが(エキスパート キー モードまたはBIOSリセットを介して)要求した場合にアクティブDBを上書きするために使用されます。

旧証明書の個別確認
- ([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match ‘Microsoft Corporation KEK CA 2011’)
- ([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match ‘Microsoft Corporation UEFI CA 2011’)
- ([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match ‘Microsoft Windows Production PCA 2011’)
新証明書の個別確認
- ([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match ‘Microsoft Corporation KEK 2K CA 2023’)
- ([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match ‘Windows UEFI CA 2023’)
- ([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match ‘Microsoft UEFI CA 2023’)
- ([System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match ‘Microsoft Option ROM UEFI CA 2023’)

コメント