问题

  • RHEL的救援模式下,如何进行fsck?

  • 启动系统后,强制对根文件系统进行检查。

  • 根文件系统变为只读模式。

  • 怎么使用 fsck 命令,对根文件系统进行检查?

1. 从disk1启动系统, 一旦系统成功的启动,RHEL启动界面会显示出. 输入 "linux rescue" (没有分号), 然后在提示处按回车键.

[F1-Main] [F2-Options] [F3-General] [F4-Kernel] [F5-Rescue] 

boot: linux rescue

2. 在提示语言键盘的时候,选择相应的语言。

3. 在提示是否启动网络时,选择: No

4. 在提示是否允许救援环境将RHEL系统挂载在/mnt/sysp_w_picpath目录下时,选择: Skip .

5. 如果你没有使用LVM,直接对包含文件系统的设备进行fsck:

sh-3.1# e2fsck -f /dev/sda1 
e2fsck 1.41.12 (17-May-2010)
[...]

   如果使用LVM, 你需要激活它们以便于观察他们的状态. 通过lvmscan命令激活 lvm.

sh-3.1# lvm pvscan
  PV /dev/sda1   VG VolGroup00   lvm2 [96.00 MB / 0    free]
  Total: 1 [3.34 GB] / in use: 1 [3.34 GB] / in no VG: 0 [0 ]

sh-3.1# lvm vgscan
  查看所有的pv,这可能会花费一些时间...
  找到使用lvm2类型源数据的vg"VolGroup00" 

sh-3.1# lvm lvscan
  INACTIVE            '/dev/VolGroup00/LogVol00' [3.34 GB] inherit

sh-3.1# lvm lvdisplay 

  --- Logical volume --- 
  LV Name                /dev/VolGroup00/LogVol00 
  VG Name                VolGroup00 
  LV UUID                335qTi-Ossg-32O5-yQC7-xNON-egdI-frj4et 
  LV Write Access        read/write 
  LV Status              NOT available 
  LV Size                3.34 GB 
  Current LE             107 
  Allocation             inherit 
  Read ahead sectors     0 

sh-3.1# lvm vgchange -ay
  1 logical volume(s) in volume group "VolGroup00" now active

sh-3.1# sh-3.1# e2fsck -f /dev/mapper/VolGroup00/LogVol00
  e2fsck 1.41.12 (17-May-2010)
  [...]

6.退出救援模式,并正常启动系统.

 

 

 

附救援模式过程:

       救援模式将试图查找您的 Linux 安装程序并将其挂载到 /mnt/sysp_w_picpath 中。然后您可以根据系统需要对其进行修改。如果您要执行这个步骤,请选择'继续'。您还可以选择将您的文件系统以只读而不是读写的形式挂载,即选择'只读'。如果出于某种原因这个进程失败了,您可以选择'跳过',那么就会跳过这一步,然后您就可以直接进入命令 shell。

       如果您选择 继续,它会尝试将您的文件系统挂载到 /mnt/sysp_w_picpath 目录中。如果它挂载分区失败,它会通知您。如果您选择 只读,它会尝试在 /mnt/sysp_w_picpath 目录下挂载您的文件系统,但是挂载模式为只读。如果您选择 跳过,您的文件系统将不会被挂载。如果您认为您的文件系统已损坏,选择 跳过

 

   

        即便您的文件系统被挂载,救援模式中的默认 root 分区只不过是一个临时的 root 分区,而不是正常用户模式(运行级别 3 或 5)中的文件系统 root 分区。如果您选择要挂载文件系统,并且它被成功地挂载了,您可以通过执行以下命令将救援模式的 root 分区变为您文件系统的 root 分区:

chroot /mnt/sysp_w_picpath

如果您需要执行 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

 

 

重新安装引导装载程序

在很多情况下,GRUB 引导装载程序可能被错误地删除、损坏或者被其它操作系统替换。

下面的步骤详细说明了怎样在主引导记录(MBR)中重新安装 GRUB:

  • 使用安装引导介质引导系统。

  • 在安装引导提示符后键入 linux rescue 进入救援环境。

  • 键入 chroot /mnt/sysp_w_picpath 挂载 root 分区。

  • 键入 /sbin/grub-install /dev/hda 重新安装 GRUB 引导装载程序,其中 /dev/hda 是 boot 分区(一般是 /dev/sda)。

  • 检查 /boot/grub/grub.conf 文件,因为可能需要附加条目以便 GRUB 控制附加操作系统。

  • 重新引导系统。