操作场景
在使用云服务器操作系统的过程中,若引发机器 grub 引导文件丢失、系统关键文件缺失、lib 动态库文件损坏/缺失等问题时,可能会导致操作系统无法进入单用户模式并完成修复,此时需使用云服务器救援模式来进行系统修复。本文介绍如何通过云服务器控制台,使用救援模式。
操作步骤
进入救援模式
注意:
进入救援模式前,强烈建议您对实例进行备份,以防止由于出现误操作等造成的影响。云硬盘可通过 创建快照 备份,本地系统盘可通过 创建自定义镜像 备份。
1. 登录 云服务器控制台。
2. 在实例管理页面中,根据实际使用的视图模式进行操作:
列表模式
页签模式
选择实例所在行右侧的更多 > 运维与检测 > 进入救援模式。如下图所示:
3. 在弹出的
进入救援模式
窗口中,设置救援模式期间登录实例的密码。如下图所示:
注意:
目前,CVM 控制台支持实例进入 Linux 系统的救援模式,暂不支持进入 Windows 系统的救援模式,如果您操作 Windows 实例进入救援模式,将会看到进入的是 Linux 系统(CentOS 7.5 64位)。
救援模式下实例用户名默认为 root
。
进入救援模式需要在关机状态下操作。如需关机请参见 关机实例 进行操作,避免强制关机可能导致的数据丢失或文件系统损坏,建议在主动关机后进行操作。
4. 单击进入救援模式。
此时可查看实例正在进入救援模式,当查看实例状态如下图所示,则说明已成功进入救援模式,请参考下一步尽快修复实例。
使用救援模式进行系统修复
1. 使用 root
账户及 步骤3 中设置的密码,通过以下方式登录实例。
若实例有公网 IP,则请参见 使用 SSH 登录 Linux 实例。
若实例无公网 IP,则请参见 使用 VNC 登录 Linux 实例。
2. 登录成功后,逐步执行以下命令挂载系统盘根分区。
CentOS
Ubuntu
救援模式下实例系统盘设备名为 vda
,根分区为 vda1
,默认未挂载。
mkdir -p /mnt/vm1
mount /dev/vda1 /mnt/vm1
挂载成功后,您即可操作根分区中的数据。您也可使用 mount -o bind
命令,挂载原文件系统的一部分子目录,并通过 chroot
命令用来在指定的根目录下运行指令,具体操作命令如下:
mount -o bind /dev /mnt/vm1/dev
mount -o bind /dev/pts /mnt/vm1/dev/pts
mount -o bind /proc /mnt/vm1/proc
mount -o bind /run /mnt/vm1/run
mount -o bind /sys /mnt/vm1/sys
chroot /mnt/vm1 /bin/bash
退出救援模式
1. 实例修复完成后,根据实际使用的视图模式通过以下步骤退出救援模式:
列表模式
页签模式
选择实例所在行右侧的更多 > 运维与检测 > 退出救援模式。如下图所示:
2. 实例退出救援模式后,会保持为进入救援模式之前的状态(例如:进入前为运行中,退出后仍为运行中)。