第 29 章 基本系统恢复

出现时问题总会有相应的解决办法,但是这些解决办法要求您理解并熟悉系统。本章包含一些您可能会遇到的常见问题,同时也论述了可解决这些问题的 安装程序救援模式

29.1. 常见问题

在以下情况下可能需要引导至安装程序救援模式:
  • 无法正常引导 Red Hat Enterprise Linux。
  • 遇到了硬件或软件问题,并且要恢复您系统硬盘中的数据。
  • 忘记了 root 密码。

29.1.1. 无法引导至 Red Hat Enterprise Linux。

这个问题通常是由于在安装 Red Hat Enterprise Linux 后安装另一个操作系统引起的。有些操作系统假设您的计算机中没有其他操作系统。它们会覆盖原来含有 GRUB 引导装载程序的主引导记录(MBR)。如果用这种方法覆盖引导装载程序,就无法引导 Red Hat Enterprise Linux,除非进入安装程序救援模式并重新配置引导装载程序。
另一个常见问题是在使用分区工具重划分区大小,或者在安装后在剩余空间中创建新分区从而改变了分区的顺序之后出现。如果 / 分区的分区号码改变了,引导装载程序将无法找到它来挂载这个分区。要解决这个问题,需要引导至救援模式并修改 /boot/grub/grub.conf 文件。具体步骤请查看 第 29.2.2 节 “重新安装引导装载程序”

29.1.2. 硬件或软件问题

这一类包括的情况比较广泛。其中两种可能的情况是硬盘驱动器失败,或者在引导装载程序配置文件中指定了无效的 root 设备或内核。如果出现以上任何一种情况,就无法重启进入 Red Hat Enterprise Linux。但是如果引导至安装程序系统救援模式,则可以解决这个问题,至少可以复制大部分重要文件。

29.1.3. 重新设定 Root 密码

如果丢失系统的 root 密码,但有引导装载程序的访问权限,则可以编辑 GRUB2 配置重新设置该密码。

过程 29.1. 重新设定 Root 密码

  1. 引导系统等待 GRUB2 菜单出现。
  2. 在引导装载程序中突出显示任意条目并按 e 编辑。
  3. 查找以 linux 开始的行。在这一行的末尾添加如下内容:
    init=/bin/sh

    重要

    有些系统(特别是虚拟机)可能无法在使用此方法引导时显示正确的输出结果。有些字符甚至整行均被隐藏,让 shell 很难使用。要解决这个问题,请从 linux 行中删除 rhgb 命令。
  4. F10 或者 Ctrl+X 使用编辑的选项引导系统。
    系统引导后无需输入任何用户名或者密码就会为您显示 shell 提示符:
    sh-4.2#
  5. 载入安装的 SELinux 策略:
    sh-4.2# /usr/sbin/load_policy -i
  6. 执行以下命令重新挂载 root 分区:
    sh4.2# mount -o remount,rw /
  7. 重置 root 密码:
    sh4.2# passwd root
    在提示后输入新的 root 密码并按 Enter 键确认。第二次输入该密码确定输入正确,并再次按 Enter 键确认。如果密码匹配,则会出现一条信息通知您已成功更改 root 密码。
  8. 重新挂载该 root 分区,这次是以只读形式挂载:
    sh4.2# mount -o remount,ro /
  9. 重启系统。从现在开始您就可以使用在这个步骤中设置的新密码作为 root 用户登录。