Microsoftは8月13日にWindows向けのセキュリティ更新プログラム「KB5041578」をリリースしたが、WindowsとLinuxのデュアルブートを設定しているデバイスでは、この更新プログラムの適用後にLinuxが起動できなくなる問題が発生している。この問題は新たに導入されたSecure Boot Advanced Targeting (SBAT) に起因しており、Microsoftは根本的な原因が解消されるまでの一時的な回避策を提示している。

詳細は下記サポートページの「既知の問題」セクションにまとめられている。

  • August 2024 security update might impact Linux boot in dual-boot setup devices

    August 2024 security update might impact Linux boot in dual-boot setup devices

SBATがブートマネージャーをブロックする

2024年8月のWindowsセキュリティ更新プログラムでは、新たにSecure Boot Advanced Targeting(SBAT)と呼ばれる設定が導入されている。これは古くて脆弱なブートマネージャーをブロックするものだが、本来はデュアルブートが設定されたデバイスには適用されない。

しかしMicrosoftによれば、一部のデバイスではカスタマイズされたデュアルブート方法をシステムが検出できず、結果としてSBATが適用されてブートマネージャーがブロックされてしまうことが判明したという。この問題が発生した場合、デュアルブートのLinuxが起動できず、画面にはSBATデータの検証に失敗したという旨のエラーメッセージが表示される。

影響を受ける可能性があるプラットフォームは以下のとおり。

  • Windows 11, version 23H2
  • Windows 11, version 22H2
  • Windows 11, version 21H2
  • Windows 10, version 22H2
  • Windows 10, version 21H2
  • Windows 10 Enterprise 2015 LTSB
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2
  • Windows Server 2012

更新プログラムの適用前を回避策

まだ、2024年8月のWindowsセキュリティ更新プログラムを適用していない場合は、SBATを無効にするレジストリ キーを追加することで一時的に問題を回避できる。具体的な方法はサポートページで解説されている。

ただし、指定されたレジストリ キーを追加した場合は、将来にわたってSBATを使用できなくなる。そのため、根本的な解決策がリリースされた後で、追加したレジストリ キーを手動で削除して再度SBATを有効化しなければならない。

更新プログラムを適用後の対策

すでに2024年8月のWindowsセキュリティ更新プログラムを適用しており、Linuxが起動できなくなった場合は、次の手順でSBATを無効にすることでLinuxを起動できるようになるという。

  • デバイスのファームウェア設定でセキュアブートを無効にする
  • mokutilコマンドを使用してSBATの更新を削除する
  • セキュアブートを再度有効にする
  • WindowsでSBATを無効にするレジストリ キーを追加する

使用する具体的なコマンド等についてはサポートページを参照のこと。また、根本的な解決策がリリースされた後は、追加したレジストリ キーを手動で削除して再度SBATを有効化する必要がある。

Microsoftは現在、Linuxパートナーと協力して問題を調査しており、詳細が分かり次第追加の情報を掲載するとのことだ。