システムに複数のカーネルがインストールされている場合、ダウングレードまたはその他の要件が発生した場合に、特定のカーネルから起動できます。このブログ投稿の目的のために、CentOS/RHEL 8 で古いカーネルに戻す方法を見てみましょう。先に進む前に、現在のデフォルトのカーネル システムが起動されていることを確認する方法を理解しましょう。
現在のデフォルト カーネルを表示
1. grubby を使用して、システムに現在設定されているデフォルトのカーネル レベルを表示できます。 . grubby は、さまざまなアーキテクチャ固有のブートローダーの構成ファイルに関する情報を更新および表示するためのコマンド ライン ツールです。主に、新しいカーネルをインストールし、現在のブート環境に関する情報を検索する必要があるスクリプトから使用するように設計されています。
# grubby --default-kernel /boot/vmlinuz-4.18.0-147.0.3.el8_1.x86_64
2. システムにインストールされたすべてのカーネルには、それに関連付けられたインデックスがあります。カーネル インデックスを表示するには:
# grubby --default-index 0
3. 以下を使用して、利用可能なカーネルを一覧表示します。
# ls -l /boot/vmlinuz-* -rwxr-xr-x. 1 root root 7872864 Apr 26 2019 /boot/vmlinuz-0-rescue-d026443091424a74948f9f62d2adb9b5 -rwxr-xr-x. 1 root root 7868768 Jun 19 2019 /boot/vmlinuz-0-rescue-ec2b9a54dc859388d7bc348e87df5332 -rwxr-xr-x. 1 root root 8106848 Nov 11 13:07 /boot/vmlinuz-4.18.0-147.0.3.el8_1.x86_64 -rwxr-xr-x. 1 root root 7876960 Sep 15 2019 /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64 -rwxr-xr-x. 1 root root 7881056 Jul 26 2019 /boot/vmlinuz-4.18.0-80.7.2.el8_0.x86_64
4. 特定のカーネル バージョンの詳細情報を取得するには、grubby を再度使用できます。
# grubby --info /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64 index=1 kernel="/boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64" args="ro console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau crashkernel=auto $tuned_params" root="UUID=58013e4a-11c0-4195-8fd8-e4b33e5b17d6" initrd="/boot/initramfs-4.18.0-80.11.2.el8_0.x86_64.img $tuned_initrd" title="Red Hat Enterprise Linux (4.18.0-80.11.2.el8_0.x86_64) 8.0 (Ootpa)" id="ec2b9a54dc859388d7bc348e87df5332-4.18.0-80.11.2.el8_0.x86_64"
上記の出力からわかるように、システムで使用可能なカーネルのカーネル インデックスを簡単に見つけることができます。最新のカーネルのインデックスは常に 0 です。
どのカーネルから起動したか、および起動可能なカーネルのリストがわかったので、先に進んで古いカーネルから起動できます。古いカーネルから起動するには 2 つの方法があります:
<オール>方法 1 – カーネル ファイル名を使用して古いカーネルから起動する
1. システムで利用可能なカーネル ファイル名を一覧表示します。
# ls -l /boot/vmlinuz-* -rwxr-xr-x. 1 root root 7872864 Apr 26 2019 /boot/vmlinuz-0-rescue-d026443091424a74948f9f62d2adb9b5 -rwxr-xr-x. 1 root root 7868768 Jun 19 2019 /boot/vmlinuz-0-rescue-ec2b9a54dc859388d7bc348e87df5332 -rwxr-xr-x. 1 root root 8106848 Nov 11 13:07 /boot/vmlinuz-4.18.0-147.0.3.el8_1.x86_64 -rwxr-xr-x. 1 root root 7876960 Sep 15 2019 /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64 -rwxr-xr-x. 1 root root 7881056 Jul 26 2019 /boot/vmlinuz-4.18.0-80.7.2.el8_0.x86_64
2. ブートするカーネルを決定したら、grubby コマンドを使用します。
# grubby --set-default [kernel-filename]
例:
# grubby --set-default boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64
方法 2 – カーネル インデックスを使用して古いカーネルから起動する
1. システムで利用可能なカーネル ファイル名を一覧表示します。
# ls -l /boot/vmlinuz-* -rwxr-xr-x. 1 root root 7872864 Apr 26 2019 /boot/vmlinuz-0-rescue-d026443091424a74948f9f62d2adb9b5 -rwxr-xr-x. 1 root root 7868768 Jun 19 2019 /boot/vmlinuz-0-rescue-ec2b9a54dc859388d7bc348e87df5332 -rwxr-xr-x. 1 root root 8106848 Nov 11 13:07 /boot/vmlinuz-4.18.0-147.0.3.el8_1.x86_64 -rwxr-xr-x. 1 root root 7876960 Sep 15 2019 /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64 -rwxr-xr-x. 1 root root 7881056 Jul 26 2019 /boot/vmlinuz-4.18.0-80.7.2.el8_0.x86_64
2. 上記のカーネルのいずれかのインデックスを表示するには:
# grubby --info [kernel-filename] | grep index
例:
# grubby --info /boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64 | grep index index=1
3. ブート元のカーネルのインデックスがわかったので、次のコマンドを使用します:
# grubby --set-default-index=[kernel-entry-index]
例:
# grubby --set-default-index=1