grub2はプロセッサアーキテクチャを検出し、それに応じてオプションを表示できますか?

grub2はプロセッサアーキテクチャを検出し、それに応じてオプションを表示できますか?

ISOブートを処理するgrub2(主に異なるUbuntuバージョン)を備えたブータブルUSBフラッシュドライブがあります。私は外部ツールを使って時間を無駄にしたくないので、私はmenu.cfgを直接編集し、私のスクリプトを使ってgrubを更新しています。

誤って互換性のないISOを起動しようとしないように、32ビットシステムで64ビットISOを非表示にしたいと思います。

grub2がプロセッサがx64であるかi386であるかを検出し、それに応じて他のメニューを表示することは可能ですか(または特定のメニューオプションを有効/無効にする方が良いですか)。

編集:長いモードをチェックするためのgrub2 CLIコマンドについて知っていますが、cpuid -lmenu.cfgでそれを使用するかどうかを知りません。

答え1

メニュー項目を削除し(すべての構成項目を一番上に置き)、2つの異なるファイル(64ビット用と32ビット用)に入れるだけです。次に、メインに次のコードを追加して、menu.cfgシステムに適したメニューファイルをロードします。

CPUIDが-lの場合。
    構成ファイル/boot/grub/grub-amd64.cfg
その他
    構成ファイル/boot/grub/grub-i386.cfg
フィリピン諸島

関連情報