スタンドアロン モードの EFI システムで、Grub2 をブート マネージャーとして使用しようとしています。(唯一の永続的なハードディスクには OS X がインストールされており、Linux および Windows ドライブは存在する場合と存在しない場合があるため、スタンドアロン モードになっています。)
私は EFI 実行可能ファイルの 1 つである SuperGrub2Disk を使用していますが、私の理解では、このモードの Grub2 実行可能ファイルには、ルート パーティションにマウントされる埋め込みディスク イメージがあり、その中に独自の構成ファイルのコピーが含まれています。
この設定ファイルを外部の grub.cfg で上書きまたは修正したいと思います。grub EFI 実行可能ファイルの隣、または ESP パーティションのルートに配置しようとしましたが、認識されません。また、次のコマンドで grub コマンド ラインからロードしようとしました。
configfile (hd3,gpt1)/grub.cfg
ls で確認したところ、設定ファイルは存在するものの、画面をクリアする以外に効果はないようです。
EFI スタンドアロン BLOB で外部構成ファイルを使用する方法があるかどうか教えていただけますか?
答え1
GRUB 2 バイナリには、設定ファイルへのハードコードされた参照が含まれています。私は細かい詳細をすべて把握しているわけではありませんが、私の理解では、AMD64/x86-64 システム上の Ubuntu には 2 つの EFI GRUB 2 バイナリがあります。
grub2-efi-amd64
-- これは、以下の機能を実行するコンピュータで使用されるGRUB 2のバージョンです。ないセキュアブートを使用します。私の理解では、バイナリ自体はあなたのパッケージに含まれるコンパイル済みコンポーネントからコンピューターにバイナリがダウンロードされます。作成されたバイナリは、grub.cfg
Linux インストール ディレクトリのファイルを参照します。したがって、このパッケージからインストールされたバイナリは、作成されたコンピューターに合わせてカスタマイズされるため、あるコンピューターで別のコンピューターで/boot/grub
使用することはできません。grubx64.efi
grub2-efi-amd64-signed
-- このバージョンの GRUB 2 は、セキュア ブート キーで署名できるように、Canonical システムでコンパイルおよびリンクされています。バイナリに署名する必要があることの副作用の 1 つは、バイナリをシステム用にカスタマイズできないことです。その結果、このバージョンの は のgrubx64.efi
バイナリと同じディレクトリを検索しますgrub.cfg
。Ubuntu システムでは、このgrub.cfg
ファイルは を検索します/boot/grub/grub.cfg
が、原理的には他の操作を行うようにカスタマイズできます。
したがって、あなたの場合、署名されていないGRUB 2バイナリを使用することはできません。UbuntuのGRUB 2バイナリを使用する場合は、署名されたものを使用する必要があります。代わりに、説明されているように、独自のバイナリを構築することもできます。ここ、他の場所の中でも。
しかし、あなたの場合、GRUB 2は本当に最適だとは思いません。改善(現在は放棄されている)そしてそれをフォークしたもの、再検索、利用可能なブートローダーの動的スキャン機能があります。したがって、rEFItまたはrEFIndを内部ディスクの EFI システム パーティション (ESP)OS のブート ローダーをそれぞれのリムーバブル メディアに保存すると、適切なディスクが差し込まれている場合に限り、rEFIt/rEFInd はそれらの OS を起動するオプションを提供します。ただし、この動作は、各ブート ローダーをそれぞれのディスクの ESP に配置するなど、ブート ローダーを適切に管理しているかどうかに依存します。ブート ローダーがすべて内部ディスクの ESP に保存されている場合、rEFIt/rEFInd は GRUB 2 と同様に、常に機能しない OS オプションを表示します。いずれの場合でも、rEFIt または rEFInd を使用すると、手動の GRUB 2 構成の泥沼に陥る必要がなくなります。
答え2
同じディレクトリに配置された grub.cfg は、通常両方とも ESP に保存されており、GRUB UEFI イメージによって読み取られて実行されると予想されますが、Mac の設定についてはあまり詳しくありません。(別の点として、組み込み構成の機能は非常に限られています。)
組み込み構成なしで GRUB イメージを自分で作成すると、解決策に一歩近づく可能性があります。次の投稿が役立つかもしれません。
- 2.1. バイナリの作成そして2.2. 設定ファイルの作成でUEFI 専用の起動可能な USB ライブ メディアを作成するにはどうすればよいですか?
- Mac用の(ブート)パーティションを追加する
答え3
アプリケーション バイナリと同じディレクトリにある構成ファイルを読み取る分離された GRUB 2 インストールを含むスタンドアロン GRUB 2 UEFI アプリケーションを作成できます。
このプロセスはArch Linux wikiで説明されているただし、パスが適切に調整されている限り、任意の配布で実行できます。