RHEL 5基础篇—常见系统启动类故障

简介:

常见系统启动类故障

   在linux系统的启动过程中,涉及到MBR主引导记录、GRUB启动菜单、系统初始化配置文件inittab等各方面,其中任何一个环节出现故障都有可能会导致系统启动失败。因此一定要注意做好相关文件的备份工作。

1、MBR扇区故障 
  MBR引导记录位于物理磁盘的第1个扇区(512B),该扇区又称为主引导扇区(MBR扇区),除了包含系统引导程序的部分数据外,还包含了整个硬盘的分区表记录。在MBR扇区中1~446B是系统的引导程序(也称GRUB),447~510B是系统的分区表记录,剩下的2B“55 AA”是分区结束的标志。 
当主引导扇区发生故障时,将可能无法进入系统,通过该硬盘引导主机时很有可能进入黑屏状态。 
备份MBR扇区数据 
由于MBR扇区中包含了整个硬盘的分区列表记录,因此该扇区的备份文件必须存放到其他的存储设备中,否则恢复时无法读取到备份的文件。 
如下:使用“dd”命令可以备份sda硬盘上的MBR扇区数据到sdb硬盘上。

1 
模拟MBR扇区损坏 
这里仍然使用“dd”命令,人为的将MBR扇区的记录覆盖掉,以便模拟出MBR扇区被破坏的故障情景(注意:要先做好备份,而且将备份文件放到其他硬盘上) 
如下:使用“dd”命令覆盖MBR扇区的数据。

2 
重新启动系统发现无法进入系统。

3 
从备份文件中恢复MBR扇区的数据 
由于MBR扇区被破坏以后,已经无法再从该硬盘启动系统,所以需要使用其他硬盘的操作系统进行引导,或者直接使用系统安装光盘进行引导。不管使用哪种方式,目的都是相同的——获取一个可执行命令的shell环境,以便从备份文件中恢复扇区中的数据。 
如下:使用系统安装光盘进行引导,先将光盘插入光驱,在BIOS中选择从光盘引导,当出现安装向导时在“boot:”后面输入“linux rescue”回车将以“急救模式”引导光盘中的linux系统。

4

在进入“急救模式”之前需要确认接收的语言以及键盘格式,默认即可。

5 
在提示是否配置网卡时一般选择“NO”。

6 
然后系统会自动查找硬盘中的linux分区并尝试将其挂载到“/mnt/sysimage”目录下,选择“Continue”确认继续。

7 
接下来会出项是否初始化磁盘的警告提示,选择“NO”。避免对硬盘数据造成不必要的损坏。

8 
最后选择“OK”确认后将进入带“sh-3.2#”提示符的Bash Shell环境。

9 

在带“sh-3.2#”提示符的Bash Shell环境中执行“mount”命令将保存有备份文件的硬盘挂在到相应的目录下使用“dd”命令恢复即可。

10 
恢复完成后使用“exit”命令退出Shell环境,系统将自动重新启动。

2、GRUB引导故障 
  GRUB是大多数linux系统默认使用的引导程序,可以通过启动菜单的方式选择进入不同的操作系统。 
如下:查看GRUB的配置文件的详细信息。

12 
其中,各主要配置项的含义说明如下。 
title:指定在启动菜单中显示的操作系统名称。 
root:指定包含内核等引导文件的/boot分区所在的位置。 
kernel:指定内核文件所在的位置,内核加载时权限为只读“ro”,并通过“root=”指定跟分区的的设备文件。 
initd:指定启动内核所使用的临时系统镜像文件所在的位置。 
当配置文件“/boot/grub/grub.conf”文件丢失、或关键配置出错、或者MBR记录中的引导程序遭到破坏时,linux主机启动后只能出现“grub>”的提示符,无法完成进一步的系统启动过程。 
如下:我们可以将GRUB的配置文件“/boot/grub/grub.conf”删除模拟GRUB损坏。

13 
修复GRUB引导故障 
方法一:在启动提示符后进行编辑,通过输入相应的引导命令(可以参考相同版本的linux的GRUB配置文件),然后执行“boot”命令即可正常启动系统了。不过在进入系统后需要修复“/boot/grub/grub.conf”配置文件,也可以新建。不然下次启动还是会出现这样的错误。

14 
方法二:通过系统安装光盘进入到“急救模式”,在“急救模式”可以修复或新建“/boot/grub/grub.cong”配置文件。 
如果是MBR扇区中的引导程序出现损坏,可能在重建grub.conf配置文件后仍然无法启动,这时需要进入到“急救模式”执行“、grub-install /dev/sda”命令重新安装grub引导程序。


上述方法同样适用于在linux系统中安装windows系统实现双系统,导致windows系统覆盖了MBR扇区中的引导程序,而只能启动windows系统,不能启动linux系统的问题。

3、init配置文件丢失 
“/etc/inittab”文件是系统初始化进程init的配置文件,当该文件被误删除或者存在错误配置时,可能导致无法启动系统。丢失“/etc/inittab”文件后,启动时将会出现“INIT:NO inittab file found”的错误提示信息。如下:

16jpg 
这类故障同样可以使用系统安装光盘进入“急救模式”进行修复。如果是文件配置错误,则进行纠正或则从备份中恢复即可。如果inittab文件已经丢失,则没有备份,我们还可以通过重新安装“initscripts”软件包生成inisttab文件。(此软件包在系统安装光盘中的Server目录下)

17 
在“急救模式”的shell环境中通常不会有“/dev/cdrom”的链接文件,因此可直接通过设备文件“/dev/hdc”使用光盘。安装完毕后退出光盘环境重启系统即可。



本文转自yun5277 51CTO博客,原文链接:http://blog.51cto.com/dengqi/1191306,如需转载请自行联系原作者

相关文章
|
Linux Shell
CentOS7下重建grub并恢复系统的故障案例
CentOS7下重建grub并恢复系统的故障案例
425 0
CentOS7下重建grub并恢复系统的故障案例
|
Kubernetes Linux KVM
KVM虚拟机管理工作二(虚拟机磁盘优化,Centos进入dracut模式,报 /dev/centos/swap does not exist,如何恢复)
KVM虚拟机管理工作二(虚拟机磁盘优化,Centos进入dracut模式,报 /dev/centos/swap does not exist,如何恢复)
420 0
KVM虚拟机管理工作二(虚拟机磁盘优化,Centos进入dracut模式,报 /dev/centos/swap does not exist,如何恢复)