Centos 7は起動時に最新のカーネルをロードしません。

Centos 7は起動時に最新のカーネルをロードしません。

デフォルトでは、centos 7はカーネルバージョン3.10.xに付属しています。 centos 7をインストールした後、カーネルを最新の安定版4.6.xにアップグレードしました。私のシステムはリモートです。まず、すべてのカーネルアップデート/アップグレードを再起動することは私にとって非常に高価です。解決策はありますか?次に、再起動してもバージョン3.10.xが読み込まれ続けます。何が問題なの?

次のコマンドを使用してアップグレードしました。

    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    yum install http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
    yum --enablerepo=elrepo-kernel install kernel-ml
    reboot

答え1

Grub設定を編集して再構築する必要があります。

sudo grub2-set-default 0
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot

これにより、インストールされている最新のカーネルから grub が起動します。

答え2

これは、最近のカーネルモジュールアップデートでよく見られる問題のようです。

CentOSパッケージマネージャがビルドフェーズを見逃したか修正したようです。ファイルシステムの初期化新しいカーネルをインストールした後。起動できないシステムに直面します。

この問題を解決する手順は次のとおりです。

  1. 以前のカーネルバージョンから起動します(回復モードで)。

  2. dracut最新のカーネルを再実行します(このステップでは再構築されます)。ファイルシステムの初期化)。

    awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg   # <-- version list
    dracut -f initramfs-{specific version here}.x86_64
    dracut -f initramfs-2.6.32-71.el6.x86_64.img 2.6.32-71.el6.x86_64 # <-- example
    
  3. 再度実行するgrub2-mkconfigか、grubを手動で編集します(この手順では、ファイルシステムの初期化新しいカーネルに使用されるイメージ)。

    awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
    grub2-set-default {number} # <-- choose your preferred kernel to startup (0, 1, 2, etc.)
    grub2-set-default 0 # <-- example
    grub2-set-default 1 # <-- example
    
  4. 再起動。

より詳しい手順をご覧くださいここそしてここ

関連情報