文档首页/ 弹性云服务器 ECS/ 故障排除/ 启动失败/ 系统启动后GRUB引导失败
更新时间:2025-11-12 GMT+08:00
分享

系统启动后GRUB引导失败

问题描述

通过VNC登录ECS时,界面显示grub rescue>错误信息,这会导致ECS操作系统启动失败。

图1 错误信息

可能原因

grub引导失败进而导致操作系统启动过程无法继续。

grub进入resure模式引导失败的可能原因一般是由于云盘上安装的grub2损坏,常见场景如下:

  • 如果在VNC界面显示类似/boot/grub2/i386-pc/normal.mod notfound.内容,表示有grub2关键依赖的mod缺失。
  • 如果在VNC界面有显示类似error:no suchpartition内容,表示grub2无法识别到对应的分区。
  • 如果在VNC界面有显示类似error:unknown filesystem内容,表示grub2无法识别所在的分区文件系统类型。

处理方法

  1. 卸载异常ECS的系统盘,并将该云盘作为数据盘挂载到正常ECS中。

    具体操作,请参见Linux云服务器如何进行挂载系统盘操作?

  2. 执行如下操作,修复系统盘。
    • 方法一:如果grub2关键依赖的mod缺失或者grub2在云盘上的信息损坏,您可以在chroot环境中执行grub2-install /dev/vdb命令,重新安装grub2来修复对应问题,操作如下:
      1. 通过云盘序列号查找对应异常系统盘挂载之后的在操作系统内的设备名。

        此处以/dev/vdb为例。

      2. 登录正常ECS实例,切换到root用户,依次执行以下命令,进入正常实例的挂载目录(以/mnt为例)。mount -o bind /proc/ /mnt/proc/

        mount -o bind /sys/ /mnt/sys/

        mount -o bind /dev/ /mnt/dev/

        chroot /mnt

      3. 执行以下命令,重新安装系统盘上的grub。

        grub2-install /dev/vdb

      4. 在正常ECS实例上执行以下命令,退出chroot。

        exit

    • 方法二:在ECS控制台上重装操作系统,具体操作,请参见重装操作系统

      重装操作系统操作会清空云盘已写入数据,建议操作前创建快照备份数据。具体操作,请参见创建快照

  3. 在异常ECS实例中恢复挂载系统盘。

    具体操作,请参见将系统盘挂载回原弹性云服务器

  4. 通过SSH或VNC远程登录已修复的异常ECS,确认ECS恢复正常。

相关文档