マザーボードのファームウェア データベースに保存されているセキュア ブート キーを署名された .efi ファイルと比較するにはどうすればよいですか?

マザーボードのファームウェア データベースに保存されているセキュア ブート キーを署名された .efi ファイルと比較するにはどうすればよいですか?

仮想マシンでセキュア ブートを有効にするのは簡単ですが、2012 年製のビンテージ コンピューターで OpenSUSE を有効にするのに苦労しています。標準構成でもセキュア ブート モードで起動しません (Microsoft のキーを使用しているようです)。最も重要な部分をトラブルシューティングしたいと思います。ファームウェアと shim のキーは一致していますか? それを確認するにはどうすればよいでしょうか?

答え1

セキュアブートとは何ですか?

引用パーティクル:

...セキュア ブートとは、製造時にデバイスに搭載された既知の安全な暗号化キーに対してデバイスのファームウェアとオペレーティング システムを認証するプロセスを指します。この認証はデバイスが起動されるたびに実行され、読み込まれるファームウェアまたはコードが、それを製造した者によって搭載された正規のバージョンであることが検証されます。

上記の引用とリンクは IoT デバイスに関するものです。PC を「モノ」と見なす場合、この引用は PC にも当てはまります。OP の質問の場合、引用の前提は 2012 年も現在も同じであるため、デバイスの古さは関係ありません。キー リポジトリを「リセット」する必要があるという前提で、このトラブルシューティングの回答の残りを開始します。OP はすでにリセットしていますが、将来の訪問者のためにそうしています。

詳細な手順

このタスクを小さなチャンクに分割するために必要なことの番号付きリストを生成してみましょう。

  1. よく読んでSuSE に関する Linux でのセキュア ブートの仕組み注記: 2012 年のそのリンクの実装は、ほぼすべてのディストリビューションでセキュア ブートを実装した方法です。
    • 簡潔にするために、この記事の「要点」を投稿します(ざっと読む人向け)。これは、投稿者が抱えている根本的な問題です。 セキュアブートのフローチャート
  2. Macのファームウェアを工場出荷時のデフォルトにリセットするにはPRAMリセットを実行する
  3. 以下の手順を実行してくださいロデリック・スミスが概説
    • OpenSuSE Live ISO に MokManager プログラムまたは MokUtil プログラムのいずれかが含まれている場合、手順 3 は簡素化される可能性があります。
  4. 希望するキーを MOK データベースに登録します。
    • オプション: 上記の手順 (項目 3 と 4) に従うと、rEFInd キーと SuSE キーの両方が登録されます。OSX と OpenSuSE のデュアル ブートを計画している場合は、このブート マネージャーを使用することをお勧めします。OpenSuSE のみを使用する予定の場合は、その証明書のみを登録する必要があります。
  5. これshimで、新しいキーが認識され、プロセスが Grub2 に正しく渡され、Grub 2 が OpenSuSE を起動するようになります。

上記の手順が失敗した場合の対処方法

トラブルシューティングセクションを参照してくださいMacにopenSUSEをインストールする直感として、再びロデリック・スミスの言葉を引用します。

一部の EFI 実装 (主に 2014 年以前のもの) では、Linux の efibootmgr やその他のツールで設定されたブート オプションを適切に実行できません。また、Windows に rEFInd をインストールする必要がある場合など、このようなユーティリティにアクセスできないこともあります。このような場合は、EFI がそれをデフォルトのブート ローダーとして認識するように、ブート ローダーの名前を変更する必要がある場合があります。その後、NVRAM に特定のブート ローダーに関する情報がない場合でも、rEFInd が起動するはずです。

上記の場合、OpenSuSE のshim<arch>.efiファイルを に名前変更しboot<arch>.efi、またはでBOOTある ディレクトリ (ディレクトリがない場合はルートBOOT)に配置します 。この方法が機能する場合、OP のファームウェアは 1 つのファイルからの起動のみをサポートしています。参照:archx32x64代替命名オプション

ちなみに、このような修正は新しいシステムでも必要です。参照:セキュアブートのために、Debian システムで grubx64.efi の代わりに shimx64.efi が実行されるように NVRAM を更新します。この点に関しては、私は OP の苦しみを感じます。

関連情報