VPC 환경에서 이용 가능합니다.
GRUB 관련 파일이 손상되거나 삭제되었을 때 Linux OS가 정상 부팅이 되지 않고 GRUB 프롬프트(grub rescue> 또는 grub>)로 진입하고 부팅이 안되는 현상이 발생하게 됩니다. 다양한 원인에 의해서 GRUB 모드로 진입할 수 있으며, 이에 대해서 네이버 클라우드 플랫폼에서 기술 지원을 해드리지 않습니다. 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)
- 서버에 원격으로 접속해 주십시오.
- 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 - VM을 재부팅해 주십시오.
[root@kvm-rockylinux810 ~]# sync;reboot - 서버가 정상적으로 부팅되지 않으므로, MC 콘솔에서 [서버 접속 콘솔] 을 확인해 주십시오.

Ubuntu OS
- 서버에 원격으로 접속해 주십시오.
- 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 - VM을 재부팅해 주십시오.
[root@kvm-ubuntu2204 ~]# sync;reboot - 서버가 정상적으로 부팅되지 않으므로, MC 콘솔에서 [서버 접속 콘솔] 을 확인해 주십시오.

GRUB로 진입한 OS를 부팅 시키는 방법
GRUB 모드로 진입했을 때, 모든 케이스에서 부팅을 시킬 수 있는 것은 아닙니다. 아래의 방법으로 부팅이 되지 않는다면, 스냅샷을 통한 복구 방법으로 필요한 데이타를 복사하고 기존 VM은 반납을 해주십시오.
RedHat 계열 OS(NAVIX, Rocky Linux, RedHat Enterprise Linux)
-
파일 시스템이 정상적으로 조회되는지 확인해 주십시오.
참고정상적인 경우에는 /grub2/grub.cfg 파일이 보여야 되나, rm 명령어로 삭제하여서 파일 조회가 되지 않습니다.
-
부팅할 커널 버전 및 관련 파일을 점검해 주십시오.
-
Rocky Linux 8

-
Rocky Linux 9

-
-
아래의 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 -
부팅이 정상적으로 완료되면, 서버에 로그인하여 grub.cfg 파일을 다시 만들어 주십시오.
# grub2-mkconfig -o /etc/grub2.cfgMC 콘솔에서 [강제 정지] 버튼을 클릭하여 VM을 종료한 뒤, 다시 시작해야 운영 중 상태로 전환됩니다.
-
위 방법으로도 부팅되지 않는 경우, 해당 VM의 스냅샷을 생성한 후 다른 VM에 스냅샷을 마운트하여 데이터를 복사해 주십시오.
서버 복구 불가 시 서버 복구 > 서버 복구 불가 시 스냅샷을 통한 데이타 복구 방법 가이드를 참고해 주십시오.
Ubuntu OS
-
파일 시스템이 정상 상태인지 확인해 주십시오.
참고정상적인 경우에는 /boot/grub/grub.cfg 파일이 보여야 되나, rm 명령어로 삭제하여서 파일 조회가 되지 않습니다.
-
부팅할 커널 버전 및 관련 파일을 점검해 주십시오.
-
Ubuntu 22.04

-
Ubuntu 24.04

-
-
아래의 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 -
부팅이 정상적으로 완료되면, 서버에 로그인하여 grub.cfg 파일을 다시 만들어 주십시오.
# update-grub
콘솔에서 [강제 정지] 버튼을 클릭하여 VM을 종료한 뒤, 다시 시작해야 운영 중 상태로 전환됩니다.
- 위 방법으로도 부팅되지 않는 경우, 해당 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 벤더의 문서를 참고 부탁드립니다.