【Windows Update】2024年8月のパッチ適用でWindows/Linuxデュアルブートに不具合発生、対処方法あり

【Windows Update】2024年8月のパッチ適用でWindows/Linuxデュアルブートに不具合発生、対処方法あり Microsoft Tips
スポンサーリンク

2024年8月13日にリリースされた2024年8月のWindowsセキュリティ更新プログラム(KB5041585)をインストールした後、デバイスにWindowsとLinuxのデュアルブート設定が有効になっている場合、Linuxの起動に問題が発生する可能性があることをMicrosoftが発表しました。

この問題の結果として、デバイスがLinuxの起動に失敗し、「Verifying shim SBAT data failed: Security Policy Violation. Something has gone seriously wrong: SBAT self-check failed: Security Policy Violation.」(Shim SBATデータの検証に失敗しました: セキュリティポリシー違反。重大な問題が発生しました: SBATセルフチェックに失敗しました: セキュリティポリシー違反)というエラーメッセージが表示される可能性があります。

2024年8月のWindowsセキュリティ更新プログラムは、旧式の脆弱なブートマネージャーをブロックするために、Windowsを実行しているデバイスにSecure Boot Advanced Targeting(SBAT)設定を適用します。このSBAT更新は、本来デュアルブートが検出されたデバイスには適用されませんが、一部のデバイスでは、デュアルブートの検出が正しく動作せず、結果的に適用されるべきでない状況でSBAT値が適用されたことが原因のようです。

なお、一応Windows/Linuxデュアルブートに不具合が発生した場合の対処方法をMicrosoftが公開していますので、不具合に遭遇した場合はお試しください。また、現時点で2024年8月のセキュリティパッチを適用していない場合は、事前にオプトアウトすることで対処することも可能です。

スポンサーリンク
スポンサーリンク

不具合の回避策

Windows/Linuxデュアルブート不具合に対する対処法/回避策ですが、2024年8月のセキュリティパッチを適用する前か、後かで対処方法が異なります。

1.2024年8月のWindows更新プログラムを適用する前の場合

LinuxとWindowsのデュアルブートを使用しており、2024年8月のWindows更新プログラムのインストールを再起動せずにまだ完了していない場合は、以下のオプトアウトレジストリキーを使用できます。

このレジストリは、2024年8月のWindows更新プログラムや今後のWindows更新プログラムの一部としてSBAT更新が適用されないようにします。後で、SBAT更新をインストールしたい場合は、レジストリキーを削除することで対処可能です。

重要:このドキュメントには、レジストリの変更に関する情報が含まれています。レジストリを変更する前に、必ずバックアップを取り、問題が発生した場合にレジストリを復元する方法を確認してください。レジストリのバックアップ、復元、および変更の方法については、「レジストリのバックアップと復元」を参照してください。

コマンド:
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot\SBAT /v OptOut /d 1 /t REG_DWORD

 

2024年8月のWindows更新プログラムを適用した後の場合

2024年8月13日以降の更新プログラムをインストールした後、Linuxが起動しなくなった場合は、以下の手順に従ってLinuxシステムを復元できます。

重要:ファームウェアの設定を誤って変更すると、デバイスが正しく起動しなくなる可能性があります。これらの指示に慎重に従い、自信がある場合にのみ進めてください。

a) Secure Bootを無効化する:

  • デバイスのファームウェア設定に入ります。
  • Secure Bootを無効にします(手順はメーカーによって異なります)。

b) SBAT更新を削除する:

  • Linuxを起動します。
  • ターミナルを開き、以下のコマンドを実行します: sudo mokutil --set-sbat-policy delete
  • プロンプトが表示されたら、rootパスワードを入力します。
  • Linuxを再起動します。

c) SBATの失効を確認する:

  • ターミナルで以下のコマンドを実行します: mokutil --list-sbat-revocations
  • 失効リストに何も表示されていないことを確認します。

d) Secure Bootを再度有効にする:

  • ファームウェア設定に再度入り、Secure Bootを有効にします。

e) Secure Bootの状態を確認する:

  • Linuxを起動します。以下のコマンドを実行します: mokutil --sb-state
  • 出力が「SecureBoot enabled」となることを確認します。そうでない場合は、手順4を再試行します。

f) Windowsで今後のSBAT更新を防ぐ:

  • Windowsを起動します。
  • コマンドプロンプトを管理者として開き、以下を実行します: reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot\SBAT /v OptOut /d 1 /t REG_DWORD

この時点で、以前のようにLinuxまたはWindowsを起動できるはずです。この機会に保留中のLinux更新をインストールして、システムのセキュリティを確保してください。

 

不具合への対処状況

Microsoftは現在Linuxパートナーと協力して問題を調査しており、詳細が判明次第、更新を提供します。

 

影響を受けるプラットフォーム

影響を受けるプラットフォームは以下の通りです。

■クライアント:
Windows 11, バージョン 23H2
Windows 11, バージョン 22H2
Windows 11, バージョン 21H2
Windows 10, バージョン 22H2
Windows 10, バージョン 21H2
Windows 10 Enterprise 2015 LTSB

■サーバー:
Windows Server 2022
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012

コメント