1671696284:Windows无法找到可用的系统引导启动,导致系统启动失败
问题描述
通过VNC登录实例时,Windows启动界面显示内容包含An operating system wasn't found.
Try disconnecting any drives that don't contain an operating system.错误信息。
![阿里云1671696284:Windows无法找到可用的系统引导启动,导致系统启动失败(图1) 阿里云1671696284:Windows无法找到可用的系统引导启动,导致系统启动失败(图1)](https://www.wailaizhe.com/uploads/allimg/20230207/1-23020H315454Q.jpg)
可能原因
Windows系统无法找到可用的系统引导启动,导致系统无法启动。
解决方案
使用快照恢复系统盘
在存有快照的情况下,您可以使用快照来恢复系统盘。具体操作如下:
回滚云盘是不可逆操作,从快照的创建日期到回滚云盘时这段时间内的数据会丢失。为避免误操作,建议您在回滚前为云盘创建一份快照备份数据。具体操作,请参见创建一个云盘快照。
登录ECS管理控制台。
在左侧导航栏,选择
。在顶部菜单栏左上角处,选择地域。
找到需要回滚云盘的实例,单击实例ID。
在实例详情页,单击快照页签。
选择目标快照,在操作列中单击回滚磁盘。
说明 单次只能回滚一块云盘,实例上挂载的其他云盘不受影响。回滚后,整块云盘会恢复到某个时间点的状态,而不是某个分区或目录当时的状态。在弹出的对话框中,单击确定。
说明- 在单击确定前,建议您单击创建快照备份最新的数据。
- 如果您选择回滚后立即启动实例,云盘回滚成功后,实例会自动启动。
Linux
1662001143:Linux系统GRUB引导失败
问题描述
通过VNC登录实例时,可以看到grub>或grub resuce>错误信息,它会导致ECS实例的操作系统启动失败。
可能原因
grub引导失败进而导致操作系统启动过程无法继续。
grub引导失败的可能原因有很多种,包括如下原因:
grub组件相关文件缺失,比如:/boot/grub2/grub.cfg文件的缺失。
grub2内配置不正确或者磁盘上grub2引导已经损坏。
如果在VNC界面有显示类似以下内容的,表示有grub2关键依赖的mod缺失。
/boot/grubz/i386-pc/normal.mod notfound.
如果在VNC界面有显示类似以下内容的,表示grub2无法识别到对应的分区。
error:no suchpartition
如果在VNC界面有显示类似以下内容的,表示grub2无法识别所在的分区文件系统类型。
error:unknown filesystem
解决方案
方案一:修复异常ECS实例的数据盘
卸载异常ECS实例的系统盘,并将该磁盘作为数据盘挂载到正常ECS实例中。
具体操作,请参见如何恢复系统盘数据?的步骤一~步骤三。
说明本步骤执行完毕,如果您未退出chroot环境,则需要在正常ECS实例上继续执行
exit
命令退出chroot环境。执行如下操作,修复系统盘。
方法一:如果grub2关键依赖的mod缺失或者grub2在磁盘上的信息损坏,您可以在chroot环境中执行
grub2-install /dev/vdb
命令,重新安装grub2来修复对应问题,操作如下:方法二:在ECS控制台上初始化系统盘,具体操作,请参见重新初始化系统盘。
警告重新初始化操作会清空云盘已写入数据,建议操作前创建快照备份数据。创建快照的具体操作,请参见创建一个云盘快照。
通过磁盘序列号查找对应异常系统盘挂载之后的在OS内的设备名。
具体操作,请参见查看磁盘序列号,此处以/dev/vdb为例。
登录正常ECS实例,切换到root用户,依次执行以下命令,进入正常实例的被挂载目录(以/mnt为例)。
mount -o bind /proc/ /mnt/proc/ mount -o bind /sys/ /mnt/sys/ mount -o bind /dev/ /mnt/dev/ chroot /mnt
登录正常ECS实例,切换到root用户,依次执行以下命令,进入正常实例的被挂载目录(以/mnt为例)。
执行
grub2-install /dev/vdb
命令,重新安装系统盘上的grub。在正常ECS实例上输入
exit
命令,退出chroot。在异常ECS实例中恢复挂载系统盘。
具体操作,请参见如何恢复系统盘数据?的步骤五。
通过SSH或VNC远程登录已修复的异常ECS实例,确认ECS实例恢复正常。
方案二:使用快照恢复系统盘
如果方案一操作之后还是无法恢复系统盘grub2引导实例启动,您可以选择如下方案进行操作:
如果在您存有快照的情况下,您可以使用快照恢复系统盘。具体操作如下:
回滚云盘是不可逆操作,从快照的创建日期到回滚云盘时这段时间内的数据会丢失。为避免误操作,建议您在回滚前为云盘创建一份快照备份数据。具体操作,请参见创建一个云盘快照。
登录ECS管理控制台。
在左侧导航栏,选择
。在顶部菜单栏左上角处,选择地域。
找到需要回滚云盘的实例,单击实例ID。
在实例详情页,单击快照页签。
选择目标快照,在操作列中单击回滚磁盘。
说明 单次只能回滚一块云盘,实例上挂载的其他云盘不受影响。回滚后,整块云盘会恢复到某个时间点的状态,而不是某个分区或目录当时的状态。在弹出的对话框中,单击确定。
说明- 在单击确定前,建议您单击创建快照备份最新的数据。
- 如果您选择回滚后立即启动实例,云盘回滚成功后,实例会自动启动。
方案三:重置系统盘
如果在您系统盘内没有重要数据的情况下,您可以重置系统盘。具体操作如下:
重置系统盘操作会清空云盘已写入数据,建议操作前创建快照备份数据。具体操作,请参见创建一个云盘快照。
停止ECS实例。
登录ECS管理控制台。
在左侧导航栏,选择
。找到需要停止的ECS实例,在操作列,单击
> 实例状态 > 停止。
重新初始化系统盘。
找到需要重新初始化系统盘的实例,单击实例ID进入实例详情页。
单击云盘页签。
找到系统盘,在操作列中,单击重新初始化云盘。
在弹出的重新初始化云盘对话框里,配置重新初始化参数。
单击确认重新初始化云盘。
完成重新初始化后,实例会自动启动。