Linux-CentOS常见故障排除

测试环境

   Vmware10虚拟机下Centos6.464位操作系统。

一、stage1故障

boot loader 是载入核心的重要工具,没有 boot loader,那么 kernel 根本就没有办法被系统加载,这个 boot loader 可以具有选单功能、直接加载核心档案以及控制权移交的功能等,系统必须要有 loader 才有办法加载该操作系统的核心,但是MBR

是整个硬盘的第一个 sector 内的一个区块,其大小也只有 446 bytes 。而stage1包括一部分分区表的引导程序,stage1是存在MBR (Master Boot Record, 主要启动记录区)中,第一阶段为执行boot loader 的主程序,这个主程序必须要被安装在开机区,亦即是 MBR或者是 boot sector 。但如前所述,因为 MBR 实在太小了,所以,MBRboot sector 通常仅安装 boot loader 的最小主程序,�悦挥邪沧� loader 的相关配置文件。

我们模拟第一阶段失效出现故障,其做法让boot loader 446字节的内存直接占满,别无用处即可。

235240890.jpg

                                         

注:用/dev/zero块设备去覆盖/dev/sda, boot loader=466字节,大于原来空间被全部覆盖。

重启之后我们进入引导界面,试图以硬盘来启动系统(系统已经不能正常启动)。

    235305116.jpg

注:选择第三项,救援模式,可以直接点回车键,也可以按Esc键,进入boot界面,键入linux rescue 回车执行命令。

一分钟之后会出现救援模式界面,进行一些选择:


235323463.jpg

选择语言:我们选择英语


235347700.jpg

选择键盘标准:选择us(美式标准)


235450175.jpg


选择急救系统镜像位置:选择localCD/DVD (本地光盘上)


235623882.jpg

选择是否启用网络功能:不启动


235646887.jpg

选择另一些高级选项:这里我们不过多选择,直接继续


235750716.jpg

提示你光盘镜像被挂在到/mnt/sysimage下,可以用shell编辑,选择继续OK


235811814.jpg

选择开启一个shell。点击OK


235834583.jpg

输入chroot /mnt/sysimage/ 指令

到这里之后,我们要在shell里写命令,来重建MBR中的boot loader

输入指令:

chroot/mnt/sysimage/

grub-install  /dev/sda235927215.jpg

重建成功,输入exit,在输exit,选择reboot重启系统。

这样你的系统就可以正常启动了。

二、stage2故障

Stage 2:主程序加载配置文件:第二阶段为透过 boot loader 加载所有配置文件不相关的环境参数档案 (包括文件系统定义与主要配置文件 menu.lst)一般来说,配置文件都在 /boot 底下。

我们可以删除/boot/grub/stage2模拟stage2失效。

删除之后就重启系统就会出错:


235927773.jpg

这样的错误是个很严重的错误,一般系统这样挂掉,就不太行了,其实不然,在windows下,出现系统故障,我们可以进入winPE下,去修复故障,或者完成机主想要的一些工作,这些还是可以的。在我们Linux下,一样有这样类似于winPE的系统,这里有一个CentOS-6.4-x86_64-LiveDVD.iso,这样的光盘镜像一样可以进入系统,解释一下:liveDVD其实就可以理解成在光盘中不需要安装,直接就可以运行的操作系统。

在我们的环境中,我们只需要将原来的安装光盘镜像文件换成CentOS-6.4-x86_64-LiveDVD.iso镜像文件,但是我们选择光盘启动,,不让还是硬盘启动模式,虚拟机下开始出现进入starting进度条时,在虚拟机里点击之后并且要按Esc键,才能进入BIOS选择第一启动项,(要眼疾手快):

000045921.jpg


选择setup进入bios

000048202.jpg

boot位置选择CD-ROMDrive,按F10保存退出。


系统进入时有十秒时间不做选择就会进入图形界面,也可以在十秒之内按任意键,进入菜单模式,

000051730.jpg

我们选择第二项boot,进入之后是图形界面,按下Ctrl+alt+F2,进入字符界面,主要是可以使用管理员权限,登录输入root回车就可以了,接下来我们要去访问硬盘,来来查看硬盘信息:

000355340.jpg

先将硬盘挂载起来,这里就挂载在/boot目录下,这样就可以查看硬盘信息


输入命令:cd  /boot/grub 可以查看到stage2文件不存在。

000500873.jpg

grub的相关文件安装到/dev/sda硬盘上,,成功之后stage2文件就应该是生成了,我们重启之后就可以成功登录系统了。


000730390.jpg


三、grub.conf故障

故障模拟,直接删除grub.conf文件。这个文件里面记录的是系统开机之后你默认要选择的系统,如果没有这个入口,系统是不会启动的。

首先我们需要把第一启动项改回硬盘启动,看系统自身能否启动。

000758108.jpg

系统已经不能正常启动


000830610.jpg

执行这段代码,系统也能正常启动,我们需要到系统中去重建那个grub.conf文件


000943354.jpg

做完这些重启系统,之后可以正常开启了。


四、/boot/grub/丢失或者大部分文件丢失故障

其实这种,我们可以先用第二种故障的解决方法,用liveDCD镜像,以光盘启动为首项,进去后先将硬盘挂载到/boot/目录下,在执行grub-install �Croot-directory=/ /dev/sda 指令就可以重建grub,但是grub目录下还是缺少grub.conf文件,我们还需要手动去编写这个文件。刚好是第三个故障,所以我们依照第三故障的解决方法就能建立grub.conf文件,保存之后重启系统就可以了。


五、系统管理员口令丢失故障

这样的问题我们只要进入单用户模式就可以修改,或删除管理员密码了,首先我们得在系统启动时按任意键进入系统选项菜单

001032740.jpg


选项中是我们要进入的操作系统,选择我们按下边的指示,按e键,进入编辑状态,

001149983.jpg

选中第二行,再按e键,在行末写上一个“1”,表示单用户模式,回车之后按b键开始引导,就进入单用户模式了,进去之后的修改,就很简单了,

passwd  -d root 删除口令

或者你可以删除之后再添加一个新口令。


六、/etc/fstab文件损坏(比如不小心改写设置)

这种与引导程序无关的文件的损坏,系统会提示我们需要进入维护模式。

001354471.jpg

出现误写,误删的错误。

001435350.jpg

enter键,进入维护模式。

我们进入fstab文件,文件属性就提示readonly,所以我们就不能直接修改了,我们可以重新挂载/分区:指令  mount �Co  rw remount  /

这样我们就可以修改更正了。


你可能感兴趣的:(linux,centos,故障排除)