RedHat 企业版5.0下系统故障恢复(2)

二 fstab分区挂载表丢失的故障恢复:

fstab文件位于/etc/fstab,该文件指示了系统在启动后要怎么装载系统分区,像系统的几个重要系统分区如/,/boot,/home,swap分区都要通过fstab让系统去挂载,该文件丢失的话系统挂载过程会出错,虽然在RedHatLinux Enterprise 5中fstab丢失系统仍可启动至图形界面(如果有安装的话),但是在切入到命令行界面即会出错,我们先看一下fstab的内容:

[root@localhost ~]# vi /etc/fstab

LABEL=/ / ext3 defaults 1 1

LABEL=/boot /boot ext3 defaults 1 2

devpts /dev/pts devpts gid=5,mode=620 0 0

tmpfs /dev/shm tmpfs defaults 0 0

LABEL=/home /home ext3 defaults 1 2

proc /proc proc defaults 0 0

sysfs /sys sysfs defaults 0 0

LABEL=SWAP-sda3 swap swap defaults 0 0

我们来看一下这一行:

LABEL=/ / ext3 defaults 1 1

这行说明了标签(label)等于/的分区挂载在根(/)目录下,分区是ext3格式,第五列的1指明访分区是否要备份 (0 为不备份,1 为要备份, 一般根分区要备份),第六列的1指明该分区要自检 (0 为不自检,1 或者 2 为要自检, 如果是根分区要设为1,其他分区只能是2)。

我们设置标签是因为分区名(如/dev/sda1)很难记忆,所以系统自动会把要挂载到/目录的分区标签设为/,把挂载到/home目录的分区标签设为/home,设置标签的命令如下:

将/dev/sda1分区命名为abc:

[root@localhost ~]#e2label /dev/sda1 abc

查询/dev/sda1分区:

[root@localhost ~]#e2label /dev/sda1 abc

查找标签为abc的分区:

[root@localhost ~]#findfs LABEL=abc

解决方法:

A 如有系统可以启动并可以使用命令的话,手工做一份fstab放入/etc即可,但由于fstab比较难记,管理员先前最好要有备份,将备份文件拷贝为/etc/fstab即可。

B 如果系统不能启动,要依靠系统光盘的救援模式,按照如下步骤解决:

1 放入Redhat系统光盘,设置从光盘引导,并且进入救援模式(敲入linux rescue);

2 findfs LABEL=/ 来查找原来/目录所挂载的分区名;

3 如第2步找到的分区为/dev/sda9,先用mkdir /mnt/sysimage建立一个目录,再用

mount /dev/sda9 /mnt/sysimage来挂载;

5 进入/mnt/sysimage/etc目录,如果fstab有备份的话将其恢复(如mv fstab.bak fstab),如果没有,请自己做一个fstab;

如果用chroot /mnt/sysimage将当前根目录设定为磁盘中的根目录(否则当前根目录在光盘中),此时进入/etc目录,如果fstab有备份的话将其恢复(如mv fstab.bak fstab),如果没有,请自己做一个fstab;

6 敲入reboot或敲入两次exit并命出光盘重启即可;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/27686.html