缺少文件导致ECS实例无法启动该如何解决?

本文主要介绍ECS实例无法启动的原因以及解决方案。

问题现象

实例无法正常启动,且出现类似下图的错误信息。实例无法启动

问题原因

  • /boot目录下缺少内核映像vmlinuz或者根文件系统(rootfs)映像initramfs 等关键启动文件,导致实例系统无法正常启动。

  • /etc/os-release/usr/lib/os-release文件均不存在,导致系统初始化程序systemd无法正确识别系统所在位置,从而导致实例系统无法正常启动。

说明

以下操作已在Alibaba Cloud Linux 3.2 64位操作系统中进行验证。其它操作系统操作可能有所差异,具体情况请参阅相应发行版的官方文档。

方法一

  1. 恢复系统盘快照。

  2. 使用快照回滚云盘。

    具体操作,请参见使用快照回滚云盘

方法二

实例已经启动

在其它同镜像的实例上使用scp或者OSS中转复制启动文件到该ECS实例中。

实例无法启动

从其它同镜像的实例上复制并恢复启动文件。

  1. 查找缺少文件。

  2. 创建相同镜像的ECS实例。

    具体操作,请参见创建ECS实例

  3. 将异常实例的系统盘卸载,并记录磁盘ID。

    具体操作,请参见卸载系统盘

  4. 将卸载下来的系统盘挂载到新的ECS实例上。

    具体操作,请参见挂载数据盘

  5. 将启动文件复制到系统中。

  6. 将修复后的系统盘重新挂载到原实例上。

    具体操作,请参见3~4