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

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

仮想マシンでセキュアブートを有効にすることは非常に簡単ですが、標準構成(Microsoftのキーを使用しているようです)でも、セキュアブートモードで起動を拒否する2012ビンテージコンピュータのOpenSUSEで同じことをするのに問題があります。戻る。最も重要な部分を扱いたいです。ファームウェアとシムのキーが一致していますか?確認するには?

答え1

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

引用する粒子戦争:

...セキュリティブートは、製造時にデバイスに配置された既知のセキュリティ暗号化キーに対してデバイスのファームウェアとオペレーティングシステムを検証するプロセスです。この認証はデバイスが起動するたびに発生し、ロードされているファームウェアまたはコードがプロデューサによって配置された正規バージョンであることを確認します。

上記の引用とリンクはIoTデバイスを表しています。このステートメントは、PCを「モノ」と考える場合にも適用されます。 OPの質問に関する限り、引用された前提は2012年にも今と同じだったので、デバイスの年式は重要ではありません。 OPがすでに実行しているキーストアを「リセット」する必要があるという前提に基づいて、このトラブルシューティングの答えの残りの部分を始めましょう。しかし、今後の訪問者の利益のためにそうしています。

詳細ステップ

このタスクをより小さな塊に分割するために実行する必要があるタスクの番号付きリストを作成しましょう。

  1. 続きを読むLinuxでSuSEを使用してセキュアブートが機能する方法ノート:このリンクの実装は、ほぼすべてのディストリビューションが2012年にセキュアブートを実装する方法です。
    • 簡潔にするために、この記事の「内容」を投稿します(OPが持つ基本的な問題であるため、見ている人のために)。 セキュアブートフロー図
  2. Macのファームウェアを工場出荷時の設定にリセットするPRAMリセットの実行
  3. 次の手順を使用してください。ロデリック・スミスの概要
    • OpenSuSE Live ISOにMokManagerプログラムまたはMokUtilプログラムが含まれていると、手順3が簡素化される可能性があります。
  4. 必要なキーをMOKデータベースに登録してください。
    • オプション:上記の手順(項目3と4)を実行すると、最終的にrEFIndキーとSuSEキーが登録されます。 OSXとOpenSuSEをデュアルブートする予定の場合は、このブートマネージャを使用することをお勧めします。 OpenSuSEだけを使用したい場合は、証明書を登録するだけです。
  5. これで新しいキーがshimわかり、プロセスがOpenSuSEを起動するGrub2に正しく渡されます。

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

トラブルシューティングのセクションをご覧ください。MacにopenSUSEをインストールする。予感でRoderick Smithの言葉を再び引用しましょう。

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

上記の場合は、OpenSuSEのshim<arch>.efiファイル名を変更するか、boot<arch>.efiディレクトリに入れますBOOT(ディレクトリがない場合はBOOTルートディレクトリに入れます)。これにより、archOPx32x64 ファームウェアはファイルから開始への切り替えのみをサポートします。望むより:代替命名オプション

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

関連情報