ファームウェアアップデート: セキュアブートが有効になっていると、Shim は fwupdx64.efi を起動しないようです

ファームウェアアップデート: セキュアブートが有効になっていると、Shim は fwupdx64.efi を起動しないようです

Fedora 34 で fwupdmgr を使用して ThinkPad L14 のファームウェア更新を試みました。プログラムが再起動を指示するまではすべて正常に見えましたが、再起動しましたが、ファームウェア アップデータではなく Fedora が起動しました。手動でブート順序を変更したり、efibootmgr を使用して未使用の Windows ブート エントリを削除したり、ファームウェア更新を許可するタイミングと方法について BIOS 設定をさまざまな組み合わせで試したりしましたが、何も機能しませんでした。最終的に、セキュア ブートを無効にするとアップデータが起動し、更新が正常に完了することがわかりました。その後、セキュア ブートを再度有効にすると、OS が正常に起動しました。また、fwupdmgr は更新が正常にインストールされたことを示しています。

さて、私の問題は解決したようですが、なぜその解決策が機能したのかを知りたいです。shim ブートローダーは OS だけでなくアップデータも起動すると考えていましたが、shim は Microsoft によって署名されているため、セキュア ブートを有効にしても問題はないはずです。

解決策を見つけるためにさらに情報が必要な場合は、コメントで教えてください。追加します。ファームウェアの更新についてはあまり詳しくないので、何が必要なのかほとんどわかりません。

答え1

fwupdmgr の即時再起動要求を拒否し、efibootmgr最初に実行すると、fwupdmgr が次回の起動時に実行する新しいブート エントリを作成したことがわかります。私の fedora34 では、次のようになります。

❯ efibootmgr -v
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0001,0000,0019,001A,001B,001C,001D,001E,001F,0020,0021,0022,0023,0024,0002
Boot0000* ...
Boot0001* Fedora        HD(1,GPT,2a6909b8-0af2-4faf-96c6-6ff0ad9881a6,0x800,0x12c000)/File(\EFI\fedora\shimx64.efi)
Boot0002* Linux-Firmware-Updater        HD(1,GPT,2a6909b8-0af2-4faf-96c6-6ff0ad9881a6,0x800,0x12c000)/File(\EFI\fedora\shimx64.efi)\.f.w.u.p.d.x.6.4...e.f.i...
...

ただし、現在 shim にバグがあるようで、fwupdx64.efi バイナリを実行できず、代わりに grub にドロップされます。

関連情報