ホスティング プロバイダーが提供するカーネルとは異なるカーネルにサーバーを切り替えてみました。ホスティング プロバイダーの管理ページからカーネルを更新し、再起動するとデフォルトの CentOS カーネルが使用されるはずです。これは 1 台のサーバーでは機能しましたが、他のサーバーでは機能しませんでした。
壊れたサーバーでは、grub2 メニューが起動するだけです。以下を実行して、再度起動することができました。
set gfxpayload=text
insmod gzio
insmod ext2
linux16 /boot/vmlinuz-3.10.0-693.5.2.el7.x86_64 root=/dev/sda ro crashker
nel=auto rhgb console=ttyS0,19200n8 net.ifnames=0
initrd16 /boot/initramfs-3.10.0-693.5.2.el7.x86_64.img
boot
問題なく動作したサーバーの /boot/grub2/grub.conf を見て、これらを取得しました。
以下の操作を実行すると、サーバーは正常に起動しますが、変更は永続的ではありません。再起動すると grub2 メニューに戻り、再度実行する必要があります。
調べてみたところ、update-grub を実行するように書かれているところがいくつかありましたが、そのコマンドがありません。
また、次のことを試してみることもできました:
grub2-mkconfig -o "$(readlink /etc/grub2.conf)"
これはスクリプトを印刷するだけで、何もしないようです。もう一度再起動すると、grub2 メニューに戻ります。
これを解決する方法について何かアイデアをお持ちの方はいらっしゃいますか。
実行中ですCentOS 7
。カーネルがオンになっています3.10.0-693.5.2.el7.x86_64
ご協力いただければ幸いです。
答え1
grub2-mkconfig -o /boot/grub/grub.cfg
代わりに変更を保存するために実行する必要があることがわかりました。