Documentation Index

Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt

Use this file to discover all available pages before exploring further.

Linux VMの起動中に GRUBモードに切り替わり、起動できなくなった場合の点検

Prev Next

VPC環境で利用できます。

GRUB関連のファイルが破損したり削除されると、Linux OSが正常に起動せず、GRUBプロンプト(grub rescue> または grub>)が表示されたまま起動できなくなる現象が発生します。様々な原因により GRUBモードに入る可能性がありますが、これに関して NAVERクラウドではテクニカルサポートを提供しておりません。GRUBに関する詳細は、Linux OSベンダーが提供する公式ドキュメントをご参照ください。

参考

XENベースの Rocky Linux 8 VMで、dnf(yum) updateにてパッケージをすべてアップデートした後、再起動時に起動せず GRUBプロンプトが表示される現象については、XENベースの Rocky Linux 8アップデート後の起動不具合点検をご参照ください。

注意

OSカーネルパッチやパッケージアップデートを実行する前には、必ずマイサーバイメージを作成して十分に検証し、実際のサービスに適用してください。
OS内の変更により発生する問題は顧客責任の領域であり、これにより発生した問題についてはテクニカルサポートは提供されません。
本ガイドは顧客自身で問題を解決するための参考資料であり、KVM環境で有効です。

grub.cfgファイルを手動で削除して GRUBモードに移行

注意

運用中の VMで同じ操作を行うと復旧できなくなりデータが失われる恐れがあるため、同様のテストは行わないでください。
本ガイドでは、説明のために GRUBモードに強制的に移行する方法をご案内します。

RedHat系 OS(NAVIX、Rocky Linux、RedHat Enterprise Linux)

  1. サーバへリモートアクセスします。
  2. grub.cfgファイルを削除します。
    • Rocky Linux 8
    [root@kvm-rockylinux810 ~]# rm /boot/grub2/grub.cfg
    rm: remove regular file '/boot/grub2/grub.cfg'? y
    
    • Rocky Linux 9
    [root@kvm-rockylinux96 ~]# rm /boot/grub2/grub.cfg
    rm: remove regular file '/boot/grub2/grub.cfg'? y
    
  3. VMを再起動します。
    [root@kvm-rockylinux810 ~]# sync;reboot
    
  4. サーバが正常に起動しないため、MCコンソールのサーバアクセスコンソールメニューを確認します。
    linux-grub-mode_rocky-01

Ubuntu OS

  1. サーバへリモートアクセスします。
  2. grub.cfgファイルを削除します。
    • Ubuntu 22.04
    root@kvm-ubuntu2204:~# rm /boot/grub/grub.cfg
    rm: remove regular file '/boot/grub/grub.cfg'? y
    
    • Ubuntu 24.04
    root@kvm-ubuntu2404:~# rm /boot/grub/grub.cfg
    rm: remove regular file '/boot/grub/grub.cfg'? y
    
  3. VMを再起動します。
    [root@kvm-ubuntu2204 ~]# sync;reboot
    
  4. サーバが正常に起動しないため、MCコンソールのサーバアクセスコンソールメニューを確認します。
    linux-grub-mode_ubuntu-01

GRUBモード移行後の OS起動方法

参考

GRUBモードに移行したとしても、すべてのケースで起動できるとは限りません。
以下の方法で起動できない場合は、スナップショットを使用した復旧方法で必要なデータをコピーし、既存の VMは返却してください。

RedHat系 OS(NAVIX、Rocky Linux、RedHat Enterprise Linux)

  1. ファイルシステムを正常に照会できるか確認します。
    linux-grub-mode_rocky-02

    参考

    正常な場合は/grub2/grub.cfgファイルが表示されるはずですが、rmコマンドで削除したためファイルを照会できません。

  2. 起動するカーネルバージョンおよび関連ファイルを点検します。

    • Rocky Linux 8
      linux-grub-mode_rocky-03

    • Rocky Linux 9
      linux-grub-mode_rocky-04

  3. 以下の GRUBコマンドを入力して起動を試みます。

    参考

    以下の例で使用するカーネルは、次の通りです。
    Rocky Linux 8 : 4.18.0-553.51.1.el8_10.x86_64
    Rocky Linux 9 : 5.14.0-570.18.1.el9_6.x86_64
    当該バージョン以外を選択しても問題ありません。

    • Rocky Linux 8
    grub> set root=(hd0,msdos1)
    grub> linux /vmlinuz-4.18.0-553.51.1.el8_10.x86_64 root=/dev/vda2 ro net.ifnames=0 console=ttyS0,115200n8 console=tty0
    grub> initrd /initramfs-4.18.0-553.51.1.el8_10.x86_64.img
    grub> boot
    
    • Rocky Linux 9
    grub> set root=(hd0,msdos1)
    grub> linux /vmlinuz-5.14.0-570.18.1.el9_6.x86_64 root=/dev/vda2 ro net.ifnames=0 console=ttyS0,115200n8 console=tty0
    grub> initrd /initramfs-5.14.0-570.18.1.el9_6.x86_64.img
    grub> boot
    
  4. 起動が正常に完了したら、サーバにログインして grub.cfgファイルを再作成します。

    # grub2-mkconfig -o /etc/grub2.cfg
    

    MCコンソールで [強制停止] ボタンをクリックして VMを終了した後、再起動することで運用中のステータスに切り替わります。

  5. 上記の方法でも起動しない場合、当該 VMのスナップショットを作成し、別の VMにスナップショットをマウントしてデータをコピーします。
    サーバを復旧できない場合、サーバ復旧 > サーバ復旧不可時にスナップショットによるデータ復旧方法ガイドをご参照ください。

Ubuntu OS

  1. ファイルシステムが正常なステータスであるか確認します。
    linux-grub-mode_ubuntu-02

    参考

    正常な場合は/boot/grub/grub.cfgファイルが表示されるはずですが、rmコマンドで削除したためファイルを照会できません。

  2. 起動するカーネルバージョンおよび関連ファイルを点検します。

    • Ubuntu 22.04
      linux-grub-mode_ubuntu-03

    • Ubuntu 24.04
      linux-grub-mode-ubuntu-04

  3. 以下の GRUBコマンドを入力して起動を試みます。

    参考

    以下の例で使用するカーネルは、次の通りです。当該バージョン以外を選択しても問題ありません。

    • Ubuntu 22.04 : 5.15.0-140-generic
    • Ubuntu 24.04 : 6.8.0-84-generic
    • Ubuntu 22.04
    grub> set root=(hd0,gpt2)
    grub> linux /boot/vmlinuz-5.15.0-140-generic root=/dev/vda2 ro net.ifnames=0 console=ttyS0,115200n8 console=tty0
    grub> initrd /boot/initrd.img-5.15.0-140-generic
    grub> boot
    
    • Ubuntu 24.04
    grub> set root=(hd0,gpt2)
    grub> linux /boot/vmlinuz-6.8.0-84-generic root=/dev/vda2 ro net.ifnames=0 console=ttyS0,115200n8 console=tty0
    grub> initrd /boot/initrd.img-6.8.0-84-generic
    grub> boot
    
  4. 起動が正常に完了したら、サーバにログインして grub.cfgファイルを再作成します。

    # update-grub
    

    MCコンソールで [強制停止] ボタンをクリックして VMを終了した後、再起動することで運用中のステータスに切り替わります。

  5. 上記の方法でも起動しない場合、当該 VMのスナップショットを作成し、別の VMにスナップショットをマウントしてデータをコピーします。サーバを復旧できない場合、サーバ復旧不可時にスナップショットによるデータ復旧方法ガイドをご参照ください。

よくある質問

Q. grubコマンドの実行手順の例にある net.ifnames=0 console=ttyS0,115200n8 console=tty0は、必須のオプションですか?

KVM VMの場合、このオプションは必須の bootオプションです。 このオプションの概要は次の通りです。

  • net.ifnames=0 :: Network Interface Device名を eth0として使用するように設定します。
  • biosdevname=0 :: このオプションは OSのバージョンアップに伴い、これ以上使用されなくなった(deprecated)オプションです。
  • console=ttyS0,115200n8 console=tty0 :: コンソールとして使用するデバイスを指定するオプションで、シリアル(Serial)ポートコンソールを使用するように設定します。このオプションがない場合、正常な起動の確認が難しいため、起動中のステータスが維持されます。

OSの起動が完了した後、cat /proc/cmdlineコマンドで bootオプションを確認できます。
/etc/default/grubファイルの GRUB_CMDLINE_LINUX項目に当該オプションが含まれているため、このオプションを削除しないでください。
詳細は、OSベンターの公式ドキュメントをご参照ください。