web-dev-qa-db-ja.com

ブートローダーがUEFIに表示されない

1台のハードドライブでThinkpadT440pを使用していますが、UEFIのみのモードに設定されています(セキュアブートは無効)。 OSをインストールするために使用したときはいつでも、対応するエントリがUEFIに表示されてそれらのOSを起動します。

今回、Debian9とWindows10をインストールしたとき、エントリは表示されませんでした。 GrubをEFIパーティションの/EFI/Boot/bootx64.efiにコピーし、UEFIにハードドライブを起動するように指示することで、両方のシステムを起動できます。

UEFIに/EFI/debian/grubx64.efiおよび/EFI/Microsoft/Boot/bootmgfw.efiのエントリを再度表示させるにはどうすればよいですか?

UEFIをリセットしても何も変わりませんでした。 Linuxでefibootmgrを使用してエントリを手動で追加すると、再起動後にefibootmgr(アクティブとしてマーク)に表示されるエントリが作成されますが、実際のUEFIには表示されないため、使用できません。

この背後にあるメカニズムは何ですか? OSインストーラーはUEFIにエントリを追加することになっていますか、それともUEFIはEFIパーティションで新しい.efiファイルを自動的に見つけることになっていますか?

1
ralftoringo

最後の質問に最初に答えるには:OSがEFIベースのコンピューターにインストールされると、そのブートローダーをEFIに登録することになっています。EFIはそのブートローダーへのポインターをNVRAMに格納します。 Linuxディストリビューションはこれにefibootmgrツールを使用しますが、他のOSには同様の機能を持つ他のツールがあります。 (たとえば、Microsoftはbcdeditツールを拡張してブートローダーをEFIに登録しました。)ただし、少なくとも1つのOS(FreeBSD)はこれを行いません。フォールバックファイル名(EFI/BOOT/bootx64.efi)を使用してブートローダーを保存します。これはIMHOの選択​​としては不適切ですが、efibootmgrに相当するものがない場合は、それが唯一のオプションである可能性があります。他に何も存在しない場合はフォールバックファイル名で起動しますが、任意の名前のブートローダーをアクティブにスキャンするEFIはありません。 Microsoftブートマネージャー(EFI/Microsoft/Boot/bootmgfw.efi)をフォールバックファイル名として扱うものもあります。

EFIとそのNVRAMエントリが台無しになっているように聞こえます。通常、このアクションで問題が修正されることを期待して、ファームウェアをデフォルトにリセットすることをお勧めしますが、すでにそれを行っています。おそらく、efibootmgrなどを使用して無関係なエントリを削除してから、NVRAMをリセットしてみてください。 (すべてを削除しないでくださいただし、すべてのブートエントリの後でEFIが非常に奇妙に動作するのを見てきましたDebianやWindowsなどのOSエントリは安全に削除できるはずですが、ハードディスクモデルやPXEブートオプションを参照するエントリなど、明らかにハードウェア固有のエントリは残してください。)これらのエントリを削除すると、コンピュータが離れる可能性があります。起動できないので、USBフラッシュドライブまたはCD-Rに rEFInd boot manager があると便利です。そこから起動できるはずです。rEFIndを使用すると、検出したOSを起動できるようになります。これを使用して、動作する起動エントリを再作成できます。

追加のアプローチがいくつかあります。

  • すべてのハードディスクを取り外し、コンピュータを起動します。これにより、「ズボンの中で蹴り」、ブートエントリの問題を修正することができます。
  • ファームウェアを更新します。まったく同じバージョンへの「更新」でも役立つ場合があります(ただし、更新ユーティリティはアップグレードなしの更新を拒否する場合があります)。アップデートにより、問題の原因となっているバグが修正される場合がありますが、同様に重要なこととして、デフォルトにリセットする操作でも影響を受けない変数やストレージスペースがリセットされる場合があります。

これらはどちらも成功の可能性が低い必死の対策ですので、期待を裏切らないでください。それにもかかわらず、私見、それらは両方とも試す価値があります。どちらかがすでに持っている動作中のブートエントリを消去する可能性があるため、rEFInd緊急ディスクを準備してください。

システムが完全に機能していて修正できない場合は、優先するブートマネージャーをEFI/BOOT/bootx64.efiとしてディスクに配置し、他のOSにブートオプションを提供するように構成してみてください。新品の場合でもこのアプローチを必要とするEFIがひどく壊れているコンピューターがあります。過去に問題なく動作したにもかかわらず、この回避策を必要とするために壊れている可能性のあるEFIを知っても驚くことではありません。

2
Rod Smith