UEFIスタイルのインストーラでCentOSに既存のスタイルブートインストールを実行させる方法はありますか?

UEFIスタイルのインストーラでCentOSに既存のスタイルブートインストールを実行させる方法はありますか?

職場で変な状況に直面しました。約700のシステムがありましたが、すべてデフォルトでEFIで起動しました。

PXEメニューを設定してCentOSをインストールできましたが、プロセスを続行するにはデバイスをレガシーブートモードに切り替える必要がありました。

これにより問題が発生します。 UEFIインストーラモードでCentOS 7.4をインストールすると、BIOSがレガシーモードに移行すると起動が失敗します。

UEFIモードで実行するときにCentOS 7.4にレガシーブートローダのインストールを自動的に実行させる方法は?

答え1

はい。以下のように--targetオプションを使用してプラットフォームを設定できます。grub2-install

grub2-install --target=i386-pc /dev/sdX

i386-pcオプションは、ブートプラットフォームでもレガシーグルーブインストールを作成しますUFI

ノートbios-bootパーティションテーブルを持つ既存のGrubをインストールするときは、フラグ付きのフォーマットされていない小さな1 Mbパーティションが必要ですgpt

また、grubに設定ファイルを作成させる必要があり、インストーラがEFIモードにあるため、EFIキーワードインスタンスを従来のキーワードインスタンスに置き換える必要があります。以下はawkを使用した例です。

#EXAMPLE: Normal grub make config command
#grub2-mkconfig > /boot/grub2/grub.cfg

#With awk statement to replace EFI keywords with legacy ones:
grub2-mkconfig |awk '{gsub("linuxefi /", "linux /");gsub("initrdefi /", "initrd /");print $0}' > /boot/grub2/grub.cfg

関連情報