修复Active Backup for Business还原CentOS,启动失败的问题

使用Active Backup for Business裸机恢复CentOS后,启动时无论进入哪种模式,都会进入紧急模式。

官方的修复说明很简洁,步骤也很简单。

但是第一次搞了好久,主要是没弄明白救援模式、紧急模式的区别,以及如何进入救援模式。下面我重现一下修复过程,顺便记录过程中遇到的一些坑。

  1. 将系统引导到CentOS的ISO,进入救援模式。选择ISO的这里有讲究,后面会提到。

  2. 选择1)Continue。

  3. 输入Enter,成功进入救援模式。

  4. 输入chroot /mnt/sysimage,挂载当前的CentOS系统。

  5. 从这里开始,就可以输入官方提供的命令dracut -f /boot/initramfs-$(uname -r).img $(uname -r),更新系统的initramfs。

  6. 命令执行成功后没有提示,输入exit,reboot重启即可进入系统。

以上就是完整地修复过程,接下来是我遇到的小坑。

上面提到,CentOS在启动时,有三个启动项。

其中第一和第二个项的内核不一样,第三项是救援模式。CentOS每次进行内核升级时,不会删除旧的内核版本,而是会保留多个内核版本。这样做的目的是为了在新的内核版本出现问题时,用户可以选择启动到旧的内核版本,从而确保系统的可用性和稳定性。

上述我们更新是哪个内核呢?

通过uname -r 可以知道,我们修复的是3.10.0-1160.el7.x86_64 。如果启动项选择另一个内核,同样会进入紧急模式。所以,最好的方法是直接更新要使用的内核版本的initramfs。

我们如何知道当前系统支持哪些内核呢?

通过遍历/lib/modules 目录,就能知道当前系统支持的内核版本,然后使用版本号修复即可。

最后,选择ISO文件的时候,应该确认当前要使用的内核版本是否包含在ISO中,否则,就算进入救援模式,也无法更新指定内核版本的initramfs文件。

下面是救援模式和紧急模式的详细介绍

在 CentOS 操作系统中,救援模式和紧急模式是两种用于系统故障排除和修复的重要工具。

救援模式(Rescue Mode)

救援模式主要用于系统无法正常启动时进行修复操作。进入救援模式后,系统将启动到一个基本的环境中,这个环境提供了一些基本的工具,允许你对系统进行修复。

步骤:

  1. 从安装介质启动:插入 CentOS 安装光盘或 U 盘,然后启动系统。在引导菜单中选择 "Troubleshooting"(故障排除)或类似选项。

  2. 选择 Rescue Mode:在故障排除菜单中选择 "Rescue a CentOS system"(救援一个 CentOS 系统)。

  3. 挂载系统:系统会提示你挂载安装系统。你可以选择自动挂载系统分区到 /mnt/sysimage,或者手动挂载。如果选择自动挂载,可以使用 chroot /mnt/sysimage 切换到挂载的系统环境中。

  4. 进行修复:现在你可以执行各种修复操作,比如修复引导加载程序 (GRUB)、修复文件系统、修改配置文件等。

紧急模式(Emergency Mode)

紧急模式是系统在启动过程中遇到严重问题时自动进入的一种模式。紧急模式提供了一个最低限度的环境,只包含最基本的文件系统和工具,允许你进行系统恢复。

进入紧急模式的方法有两种:

  1. 手动进入

    • 在引导菜单中编辑引导项,找到以 linux16 开头的行,在行末添加 emergency,然后按 Ctrl + X 启动。

  2. 系统自动进入

    • 如果系统在启动过程中检测到严重错误,可能会自动进入紧急模式。

操作步骤:

  1. 系统会提示你输入 root 密码:进入紧急模式后,你需要输入 root 用户的密码以获得操作权限。

  2. 执行修复操作:由于只挂载了根文件系统,并且是只读模式,你可能需要手动重新挂载文件系统为读写模式(mount -o remount,rw /),然后进行修复工作。

主要区别

  • 进入方式不同:救援模式通常通过安装介质启动,而紧急模式是在系统启动过程中自动进入或通过编辑引导项进入。

  • 环境不同:救援模式提供一个较为完整的系统环境,而紧急模式提供一个极简的环境,通常只包含根文件系统。

  • 用途不同:救援模式主要用于系统无法启动时进行修复,而紧急模式用于系统在启动过程中遇到严重问题时进行紧急修复。