私のシステムには、CentOS 7 のコピーが 2 つと、Windows 10 Pro のコピーが 1 つインストールされています。すべてのシステムは起動可能で、正常に動作し、完全に最新の状態です (カーネル、パッケージ、その他すべて)。
grub2-mkconfig
CentOS のいずれかのコピー (理由により、1 つのホストは、pingu
もう 1 つのホストは ) を実行するとpinga
、新しい grub 構成が作成されます。その一部は、os-prober テンプレートを通じて生成されます。
grub2-mkconfig
私が起動して開始した CentOS のコピーに対してによって生成されたエントリはgrub2-mkconfig from
正しいです。つまり、次のような行を含むメニュー エントリがあります。
linuxefi /vmlinuz-5.4.147-1.el7.elrepo.x86_64 root=/dev/mapper/pinga-root ro crashkernel=auto spectre_v2=retpoline
initrdefi /initramfs-5.4.147-1.el7.elrepo.x86_64.img
ただし、CentOS 7 の他のコピー用に生成されたエントリは次のようになります。
linux /vmlinuz-5.4.147-1.el7.elrepo.x86_64 root=/dev/mapper/pingu-root ro crashkernel=auto spectre_v2=retpoline
initrd /initramfs-5.4.147-1.el7.elrepo.x86_64.img
( andの代わりにlinux
andに注意してください)initrd
linuxefi
initrdefi
/etc/grub.d/30_os-prober
これは、などの 4 行が原因だと思いますlinux ${LKERNEL} ${LPARAMS}
が、なぜそうなるのでしょうか。os-prober は、他の Linux のコピーは常に ではlinux
なくで起動する必要があると想定するのはなぜですかlinuxefi
。
これを修正するための設定やオーバーライドが不足しているのでしょうか?
今のところ、 のこれらの行を と に変更しただけです30_os-prober
がlinuxefi
、initrdefi
これはちょっとしたハック以上のもののように感じます。