職場で変な状況に直面しました。約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