カーネルの問題のトラブルシューティング

次の情報を確認して、Oracle Cloud InfrastructureのOracle Linuxインスタンスに関するカーネル関連の問題をトラブルシューティングします。

関連項目:

新しいカーネル・バージョンへの更新後にインスタンスの起動に失敗する

最新のカーネルに更新すると、コンソールログに次のようなエラーが表示されることがあります。

error: ../../grub-core/fs/fshelp.c:258:file `/initramfs-5.15.0-206.153.7.el8uek.x86_64.img' not found.

このエラーは、カーネルのインストール時に/bootディレクトリに十分な領域がないか、initramfsファイルがないか、正しく作成されなかったために発生します。以前のカーネルでブートし、grubブート構成のエラーをチェックし、initramfsイメージの整合性を検証してみてください。

トラブルシューティングするには、initramfsイメージを再生成するか、未使用のカーネルを削除して/bootディレクトリ内の領域を解放するか、またはその両方を行います。

initramfsイメージを再生成します

initramfsイメージを再生成するには、次のステップに従います。

  1. コマンドラインから、管理権限を使用してSSHを使用してインスタンスに接続します
  2. ls -l /boot/initramfs-*.imgを実行して、起動しないカーネルのinitramfsファイルが存在するかどうかを確認します。
    ls -l /boot/initramfs-*.img
    -rw-------. 1 root root 90917795 Feb 12 19:33 /boot/initramfs-0-rescue-7063910fe2979258f8fd66f2fb8b8567.img
    -rw-------. 1 root root 76584495 Mar 24 14:40 /boot/initramfs-4.18.0-553.40.1.el8_10.x86_64.img
    -rw-------. 1 root root 90117038 Mar 24 23:51 /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img
    -rw-------. 1 root root 35099136 Mar 24 14:57 /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64kdump.img
    ヒント

    Oracle Linuxカーネルは、initramfsイメージ名のel8uekで識別できます: /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img
  3. /boot以外のディレクトリにコピーして、更新されたカーネルのinitramfsイメージをバックアップします。たとえば、/boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img/rootディレクトリにコピーするには、次を実行します。
    sudo cp /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img /root
  4. 更新されたカーネルのinitramfsイメージを再生成します。たとえば:
    sudo dracut --kver 5.15.0-305.176.4.el8uek.x86_64 --force
  5. initramfsが再生成されたことを確認します。次に例を示します。
    sudo ls -l /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img

    日付の変更に注意してください。

    -rw-------. 1 root root 90117038 Apr  2 23:51 /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img
  6. インスタンスを再起動して、更新されたカーネルでインスタンスを起動できることを確認します。

未使用のカーネルを削除

未使用のカーネルを削除してブート領域を解放するには、次のステップに従います。

  1. コマンドラインから、管理権限を使用してSSHを使用してインスタンスに接続します
  2. 古いカーネルまたは不要なカーネルを削除して、/bootファイル・システムをクリーン・アップします。たとえば、Red Hat互換カーネル(RHCK)が不要になった場合は、スペース/bootを解放して削除できます。
    1. /bootの使用可能な領域を確認します。
      df -h /boot
      Filesystem      Size  Used Avail Use% Mounted on
      /dev/sda2      1014M 1006M  8.7M 100% /boot 
    2. RHCKを検索します。
      sudo rpm -qa | grep kernel-core
      kernel-core-4.18.0-553.40.1.el8_10.x86_64 
    3. 不要なRHCKを削除します。
      sudo dnf remove -y kernel-core-4.18.0-553.40.1.el8_10.x86_64
  3. /bootの使用可能な領域を再確認します。
    df -h /boot
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sdb2      1014M  782M  233M  78% /boot
  4. インスタンスを再起動して、更新されたカーネルでインスタンスを起動できることを確認します。