Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 系统 > RedHat > 正文

RHEL 5基础 —了解系统的引导过程

时间:2013-09-30 14:05 来源:未知 作者:51ou.com 阅读:

了解系统的引导程序

   linux操作系统的引导过程一般包括以下几个阶段:开机自检、MBR引导、GRUB菜单、加载Linux内核、INIT进程初始化。 
其中INTI进程初始化过程涉及的操作最多,也不好理解。 
如下下图:引导过总览

1

1、开机自检 
服务器主机开机后,将根据主板的BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多数时候会移交给本机硬盘。 
2、MBR引导 
当从本机硬盘中启动系统时,首先根据硬盘的第一个扇区中的MBR的设置,将系统控制权传递给包好操作系统的引导文件的分区。 
3、GRUB菜单 
对于linux系统来说,GRUB算是使用最为广泛的多系统引导器程序了。系统控制权移交给GRUB菜单以后,将会显示启动菜单提供给用户选择,并根据所选项加载linux内核文件,然后将系统控制权移交给内核。 
4、加载Linux内核 
linux内核是一个预先编译好的特殊二级制文件,介入各种硬件资源一系统程序之间,负责资源分配与调度。内核接过系统控制权之后,将完全掌控整个linux操作系统的运行过程,默认内核在“/boot/”下。 
5、INIT进程初始化 
当内核接过系统的控制权之后,它首先将系统中的“/sbin/init”程序加载运行。init进程负责完成一系列的系统初始化过程,包括:读取配置文件“inittab”,根据配置内容首先负责执行初始化脚本文件“/etc/rc.d/rc.sysinit”,接着通过脚本文件“/etc/rc.d/rc”控制开机启动的服务,最后运行终端程序“/sbin/mingetty”,等待用户登录。

   通过上述引导过程可以看出,决定系统初始化过程的关键在于init进程及其配置文件“/etc/inittab”。在“inittab”配置文件中记录了系统启动后运行那些服务,以及系统默认的运行级别。init进程是系统运行的第一个进程,所以它是所有进程的父进程,对应的PID号总是“1”。(PID每个进程的身份标记,在系统中是唯一的)

管理“inittab”配置文件 
   inittab文件位于“/etc”下,是init程序的配置文件。当init程序运行后,将按照“/etc/inittab”文件指定的配置一次启动系统中对应的脚本和程序。 
如下:使用“grep”命令过滤掉注释和空行的inittab配置文件。

2

在“/etc/inittab”文件中。除了以“#”号开头的注释信息和空行以外,每一行都视为一条有效的配置记录。每条记录都有四个字段,使用“:”好分割。格式如下: 
标记:运行级别:动作类型:程序或脚本 
1)标记字段:标记字段可以由1~4个字符组成,用于区别其他行的配置,在inittab文件中不可以出现标记相同的配置。 
2)运行级别字段 
0:关机状态,使用该级别时将会关闭主机。 
1:单用户模式。(不用密码登陆系统,多用于维护) 
2:字符界面的多用户模式。(不支持网络) 
3:字符界面的完整多用户模式,大多数服务器主机运行在此级别。 
4:未分配使用(保留)。 
5:图形界面多用户模式,提供了图形桌面操作环境。 
6:重新启动,使用该级别时将会重启主机。 
可使用“runlevel”命令查看当前系统运行的级别,使用“init *”切换到任意级别。 
4)动作类型字段 
initdefault:设置初始化系统后默认进入的运行级别。 
sysinit:设置系统初始化的操作脚本。 
wait:init进程等待该行配置所对应的脚本操作完成后,再继续执行其他操作。 
ctrlaltdel:设置当用户按下“Ctrl+Alt+Delete”组合键后的操作。 
powerfail:设置当系统受到断电信号时采取何种操作。(使用不间断电源) 
powerokwait:设置当系统受到恢复供电信号时采取何种操作。 
respawn:一旦该行配置所对应的进程被终止,则重新启动该进程。 
5)程序或脚本字段:此字段用于指定该行配置所对应的实际操作,可以是具体的命令,脚本程序等。

rc.sysinit脚本 
  该脚本位于“/etc/rc.d/rc.sysinit”,是init进程所调用的系统初始化脚本。此脚本程序主要完成包括设置网络,主机名,加载文件系统,设置时钟,检测文件系统等一系列初始化工作。

rc脚本文件 
rc脚本同样由init进程进行调用,文件位于“/etc/rc.d/rc”。rc脚本通过使用不同的级别参数,分别加载及终止不同的系统服务,进入到相应的系统运行级别。如下:查看inittab文件中“rc”脚本的行。

3

在“/etc/rc.d/rc0.d/”~“/etc/rc.d/rc6.d/”目录中,保存了一些特殊的符号链接,rc脚本根据这些目录下的链接文件调用对应的服务控制程序,进行启动或终止相关程序的操作。在这些目录中的链接文件具有以下规律:文件名以S或K开头,(S表示开启服务,K表示终止服务)中间是数字序号,最后是系统中的服务本命:所链接的原始服务脚本位于“/etc/rc.d/init.d/”目录中。如下:查看“/etc/rc.d/rc”中的文件。

rc.local脚本文件 
rc.local脚本是一个额外的启动控制文件,位于“/etc/rc.d/rc.local”,由rc脚本在最后时进行加载。rc.local脚本用于管理员自行设置开机启动任务,运行级别“2-5”。如下:使用“vi /etc/rc.d/rc.local”命令在rc.local文件末行添加一行执行语句。(执行语句的含义是:每次开机自动开启ftp服务)

4

mingetty脚本 
  mingetty脚本位于“/sbin/mingetty”,在系统中“tty1”~“tty6”等终端都是“/sbin/mingetty”程序提供服务的。 
如下:对应的初始化操作也是在inittab文件中设置的。

5

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《RHEL 5基础 —了解系统的引导过程》技术文章,《RHEL 5基础 —了解系统的引导过程》详细使用和说明,有时《RHEL 5基础 —了解系统的引导过程》可能不完善、敬请谅解!如果《RHEL 5基础 —了解系统的引导过程》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片