Show Table of Contents
第 36 章 基本系统恢复
问题出现时总会有相应的解决办法,但是这些解决办法却要求您理解并熟悉系统。本章论述了如何引导至救援模式、单用户模式和紧急模式,可以在这些模式中使用这些知识修复系统。
36.1. 救援模式
36.1.1. 常见问题
鉴于以下几个原因而需要引导到这些恢复模式之一:
- 无法正常引导入 Red Hat Enterprise Linux(运行级别 3 或 5)。
- 遇到了硬件或软件问题,并且想将几个重要的文件从系统硬盘中取出。
- 忘记了 root 密码。
36.1.1.1. 无法引导至 Red Hat Enterprise Linux
这个问题通常是由于在安装 Red Hat Enterprise Linux 后安装另一个操作系统引起的。有些操作系统假设计算机中没有其他操作系统。它们会覆盖原来含有 GRUB 引导装载程序的主引导记录(MBR)。如果用这种方法覆盖引导装载程序,就无法引导 Red Hat Enterprise Linux,直到进入救援模式,并重新配置引导装载程序。
另一个常见问题出现在使用分区工具重划分区大小,或在安装后从闲置空间中创建新分区,从而改变了分区的顺序之后。如果改变
/ 分区的分区号码,引导装载程序就无法找到它挂载这个分区。要解决这个问题,请引导至救援模式并修改 /boot/grub/grub.conf 文件。
关于怎样在救援模式中重新安装 GRUB 引导装载程序,请参考 第 36.1.2.1 节 “重新安装引导装载程序”。
36.1.2. 引导至救援模式
救援模式提供了从系统硬盘以外,比如 CD-ROM 或者其他完全引导一个小 Red Hat Enterprise Linux 环境的功能。
如它的名称所暗示,救援模式是用来将您从某种情况中解救出来的模式。在正常操作中,Red Hat Enterprise Linux 系统使用位于系统硬盘中的文件处理一切实例 — 运行程序、保存文件等等。
然而,在有些情况下, Red Hat Enterprise Linux 可能无法全面运行,以至于无法存取系统硬盘中的文件。使用救援模式,即便无法在硬盘中实际运行 Red Hat Enterprise Linux,也可以访问保存在该系统硬盘中的文件。
要引导至救援模式,必须能够使用以下方法之一引导系统[14]:
- 使用引导 CD-ROM 或者 DVD 引导系统。
- 从其他安装引导介质,如 USB 闪存设备引导系统。
- 使用 Red Hat Enterprise Linux DVD 引导系统。
使用以上方法引导后,将关键字
rescue 添加为内核参数。例如,对于 x86 系统,请在安装引导提示符后输入以下命令:
linux rescue
如果系统要求驱动盘中的第三方的驱动引导,请使用另外的选项
dd 载入驱动程序:
linux rescue dd
关于在引导时使用驱动盘的更多信息,请参考 第 6.3.3 节 “使用引导选项指定驱动程序更新磁盘”(x86 系统) 或 第 13.3.3 节 “使用引导选项指定驱动程序更新磁盘”(POWER Systems 服务器)。
如果 Red Hat Enterprise Linux 6 中的某个驱动程序阻止系统引导,请使用
rdblacklist 选项将该驱动程序放入黑名单。例如,要不使用 foobar 驱动程序进入恢复模式,请运行:
linux rescue rdblacklist=foobar
会提示您回答一些基本问题,其中包括要使用何种语言。还会提示选择有效救援映像的位置。请从 本地 CD-ROM、硬盘、NFS 映像、FTP或者HTTP 中选择。选择的位置必须含有有效安装树,且该安装树的 Red Hat Enterprise Linux 版本必须与您要用来引导的 Red Hat Enterprise Linux 磁盘的版本一致。如果使用引导 CD-ROM 或者其他介质启动救援模式,则安装树必须与创建该介质的安装树相同。有关如何在硬盘、NFS 服务器、FTP服务器或者 HTTP 服务器中设置安装树的详情,请参考本指南之前的章节。
如果选择的救援映像不需要网络连接,则会询问是否要创建网络连接。如果要将文件备份到另一台计算机中,或从共享网络位置中安装一些 PRM 软件包时,网络连接会很有用。
将显示如下信息:
现在救援模式将试图查找您的 Linux 安装程序,并将其挂载到 /mnt/sysimage 中。然后就可以根据系统需要对其进行修改。如果要执行这个步骤,请选择 '继续'。还可以选择将文件系统以只读而不是读写的形式挂载,即选择 '只读'。如果出于某种原因这个进程失败了,则可以选择 '跳过',那么就会跳过这一步,然后就可以直接进入命令 shell。
如果选择 ,它会尝试将文件系统挂载到
/mnt/sysimage 目录中。如果挂载分区失败,它会通知您。如果选择 ,会尝试在 /mnt/sysimage 目录下挂载文件系统,但是挂载模式为只读。如果选择 ,文件系统将不会被挂载。如果您认为文件系统已损坏,选择 。
系统进入救援模式后,在 VC(虚拟控制台)1和 VC2(使用 Ctrl-Alt-F1 组合键来进入 VC1,Ctrl-Alt-F2 来进入 VC2)中会出现提示符:
sh-3.00b#
如果选择了 自动挂载分区,并且在成功挂载后进入单用户模式。
即便已挂载文件系统,救援模式中的默认 root 分区只不过是临时的 root 分区,而不是正常用户模式(运行级别 3 或 5)中的文件系统 root 分区。如果选择要挂载文件系统,并且已成功挂载,则可以通过执行以下命令,将救援模式的 root 分区变为您文件系统的 root 分区:
chroot /mnt/sysimage
如果需要执行
rpm 之类的命令,改变 root 分区就会很有用,因为这类命令要求将您的 root 分区挂载为 /。要结束 chroot 环境,键入 exit,就会返回到提示符。
如果选择 ,仍可以尝试在救援模式中手工挂载分区或 LVM2 逻辑卷,方法是:创建一个目录,如,
/foo,然后键入以下命令:
mount -t ext4 /dev/mapper/VolGroup00-LogVol02 /foo
在上面的命令中,
/foo 是您创建的目录,/dev/mapper/VolGroup00-LogVol02 是要挂载的 LVM2 逻辑卷。如果分区类型为 ext2 或者 ext3,请使用 ext4 分别替换 ext2 或者 ext3。
如果不知道所有物理分区的名称,可以使用以下命令列出它们:
fdisk -l
如果不知道所有 LVM2 物理卷、卷组或者逻辑卷的名称,请分别使用
pvdisplay、vgdisplay 或者 lvdisplay 命令:
在这个提示符后,可以运行许多有用的命令,例如:
ssh、scp和ping,如果启动了网络dump和restore,用于使用磁带设备的用户parted和fdisk,用于管理分区rpm,用于安装或升级软件vi用于编辑文本文件
36.1.2.1. 重新安装引导装载程序
在很多情况下,有可能由其他操作系统意外删除、破坏或替换 GRUB 引导装载程序。
下面的步骤详细说明了怎样在主引导记录(MBR)中重新安装 GRUB:
- 使用安装引导介质引导系统。
- 在安装引导提示符后键入
linux rescue进入救援环境。 - 键入
chroot /mnt/sysimage挂载 root 分区。 - 键入
/sbin/grub-install /dev/hda重新安装 GRUB 引导装载程序,其中/dev/hda是 boot 分区(一般是 /dev/sda)。 - 检查
/boot/grub/grub.conf文件,因为可能需要附加条目以便 GRUB 控制附加操作系统。 - 重新引导系统。
36.1.3. 引导至单用户模式
单用户模式的优点之一是不必使用引导光盘;但它无法提供将文件系统挂载为只读模式或干脆不挂载的选项。
如果系统启动了,但是在完全引导后却不允许您登录,请尝试单用户模式。
在单用户模式中,计算机引导至运行级别 1。挂载本地文件系统,但是没有激活网络。您有一个可用系统维护 shell。与救援模式不同,单用户模式自动尝试挂载您的文件系统。如果无法成功挂载您的文件系统,请不要使用单用户模式。如果系统中的运行级别 1 配置受损,则不能使用单用户模式。
在使用 GRUB 引导装载程序的 x86 系统中,使用以下步骤来引导至单用户模式:
- 引导时当出现 GRUB 闪屏的时候,按任意键进入 GRUB 互动菜单。
- 选择 Red Hat Enterprise Linux 要引导的版本,并输入
a添加该行。 - 在行尾键入独立单词
single(按 Spacebar键,然后键入single)。按 Enter 退出编辑模式。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.