环境:centos-6.4 x86_64

所需工具:CentOS-6.4-x86_64-LiveDVD.iso下载地址:http://mirrors.163.com/centos/6.4/isos/


首先介绍centos的引导过程:

加电自检,然后根据bios引导设置(引导有硬盘引导,光盘引导,U盘引导,网络引导),引导完成后进入grub菜单,选择要引导的系统,引导分区,最后到init

Gurb 里面包含有stage1 (在mbr进行加载)、stage1_5(识别/boot/分区文件系统) stage2

接下来就说说常见的故障以及故障的排除;

常见的第一类故障就是stage1失效,那我们来看一下当stage1失效时开机会出现什么状况,

由于我们是通过实验环境来模拟的,所以可以通过命令dd if=/dev/zero of=/dev/sda bs=446 count=1

Centos的故障排除_stage

然后重启

Centos的故障排除_grub.conf_02

就会看到出现这样的界面,因为在我的虚拟机里插入了系统的安装盘,所以当系统失效时会尝试从光盘引导,到了这里选择第三项Rescue installed system 进入救援模式或者按esc键然后输入 linux rescue也是可以的。

接着就出现这样的界面

Centos的故障排除_故障排除_03

选择语言,就选英语,

Centos的故障排除_stage_04

键盘选择us

Centos的故障排除_stage_05

这个是安装文件放在哪里,我们用的是系统安装光盘,当然实在本地光盘上了,我们就选第一个

Centos的故障排除_stage_06

是否启用网络功能,因为我们不需要所以选择No

Centos的故障排除_stage_07

选择继续

Centos的故障排除_故障排除_08

告诉你光盘已经挂载到/mnt/sysp_w_picpath目录下了,可以通过chroot /mnt/sysp_w_picpath命令切换到目录

Centos的故障排除_grub.conf_09

选择ok继续,

Centos的故障排除_grub.conf_10

启动一个shell,这样就进入命令模式了,然后来执行刚刚提到的命令,切换后要重建mbr里面的bootloader,输入grub-install /dev/sda

Centos的故障排除_stage_11

到这里就重建完成了,然后输入两次exit退出,选择reboot重启

Centos的故障排除_stage_12

这样系统就可以启动了,由于要重建策略,所以会启动比较慢

第二类故障就是stage2失效

stage2失效时开机就会报错

Centos的故障排除_故障排除_13

出现这种错误的时候就要借助CentOS-6.4-x86_64-LiveDVD.iso的光盘引导了,插入光盘之后重新启动选择光盘引导

Centos的故障排除_grub.conf_14

F10保存退出并重启,启动后5秒内按回车键就进入

Centos的故障排除_故障排除_15


如果5秒内没有按回车键将默认启动Boot,在这里选择Boot启动。

进入系统后可以按ctrl+alt+F2进入字符模式,用root帐号登录,然后挂载硬盘,不然是不能访问硬盘的,mount /dev/sda1 /boot将硬盘挂载到/boot目录下

Centos的故障排除_stage_16

通过df –h可以看到硬盘已经挂载到/boot目录下了然后执行grub-install --root-directory=//dev/sda grub的文件安装的/boot/grub

Centos的故障排除_故障排除_17


查看下到底有没有安装成功

Centos的故障排除_stage_18


已经看到stage2,然后重启看看

Centos的故障排除_故障排除_19


这时候就已经可以启动了

第三类就是grub.conf 丢失或者损坏

Centos的故障排除_stage_20

grub.conf丢失开机就会这样,那就通过livecd进行引导,然后创建grub.conf文件。

首先还是把硬盘挂载到/boot目录下,然后切换到/boot/grub 创建grub.conf文件,并进行编辑,编辑内容为:

default =0

timeout =5

hiddenmenu

title centos

root(hd0,0)

kernel/vimlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg_nddnd-lv_root rhgb quiet

initrd/initramfs-2.6.32-258.el6.x86_64.img

编辑完成后保存退出,重启从本地磁盘引导

Centos的故障排除_grub.conf_21

这样就完成了。

第四类就是/boot/grub丢失

开机后用livecd引导,然后挂载硬盘,和前面的一样,然后执行grub-install --root-directory=/ /dev/sda 然后进入/boot/grub目录下编辑grub.conf,编辑内容和前面一样。这里就不在多说了,这种情况其实就是前面三类的综合。

第五类就是root口令丢失

开机五秒内按回车键


然后按e

Centos的故障排除_stage_22

选择第2个再按e

Centos的故障排除_故障排除_23

然后在后面输入1 回车,然后再按b,这样就进入单用户单任务模式

Centos的故障排除_故障排除_24

然后可以通过命令 passwd –d root 删除管理员口令,或者进行修改。修改完之后重启即可。

第六类就是其他文件损坏但和grub引导程序无关

这种情况多出现在管理员在不小心的情况下误删或者修改里一些文件,比如说修改了/etc/fstab。就以这种情况为例:

当我们开机之后,grub引导都没有问题,但是最后会提示错误如图:

Centos的故障排除_stage_25

并且提示输入管理员密码进入维护模式有的情况是让按回车键

Centos的故障排除_grub.conf_26

进入之后找到错误所在的文件进行修改,重启即可。

以上就是centos中常见的故障以及排除。