快速业务通道

Linux学习笔记---RHEL系统启动过程

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-31

简单描述一下Linux启动的过程,在这里抛砖引玉,如有错漏之处,望各位网友给予指正,谢谢!

Linux的启动过程,主要包括四个阶段:

阶段一:BIOS

阶段二:引导加载程序Boot Loader

阶段三:内核Kernel

阶段四:/sbin/init和运行级别

============================================================================

一、BIOS

1.系统上电开机后,主板上的BIOS运行POST加电自检,检测系统上的关键设备.

2.BIOS根据主板的引导设备配置信息,选择正确的引导设备.(一般是硬盘)

3.BIOS读取引导设备第一个扇区上的信息(也就是MBR,512Bytes),把它装入内存,并将系统引导控制权移交给MBR中的Boot Loader.

二、引导加载程序Boot Loader

引导加载程序被设计为两个阶段

1.stage1:定位、装载并把引导控制权传递给stage2.

2.stage2:第二阶段通常就是引导程序本身,stage2执行GRUB引导程序.

3.GRUB解压并装载内核镜像,装载initrd初始化虚拟磁盘到内存.

4.GRUB把引导控制权传递给内核.

三、内核Kernel

Empire CMS,phome.net

1.初始化系统设备.

2.挂载根分区为ro状态.

3.运行/sbin/init程序,/sbin/init是内核启动的第一个进程,也是今后系统所有进程的父进程,其PID=1.


四、/sbin/init和运行级别

4./sbin/init读取/etc/inittab文件.

5./sbin/init根据/etc/inittab配置信息执行/etc/rc.d/rc.sysinit脚本.

6./etc/rc.d/rc.sysinit对系统进行初始化工作,如图所示

包括设置hostname、启动LVM逻辑卷管理、重新挂载根文件系统为rw状态、挂载其他文件系统……

7./etc/rc.d/rc.sysinit执行完初始化工作退出脚本,/sbin/init进程继续读取/etc/inittab的内容,从而从相应的run level启动系统.

8.从上图知,INIT进程读取到run level 5,执行/etc/rc.d/rc5.d目录下的脚本.下图为/etc/rc.d/rc5.d目录内容

rc5.d目录里面存放着run level-5需要启动的服务的脚本文件,都是以K或S开头.K表示关闭的服务,S表示启动的服务.

值得注意的是,/etc/rc.d/rcX.d目录里面的脚本文件都是符号链接文件,全部指向/etc/rc.d/init.d目录下的脚本文件

9.init按照rc5.d目录里面脚本的位置顺序逐一启动相应的服务,如图

Empire CMS,phome.net

10.init进程会执行一个脚本文件/etc/rc.d/rc.local(有必要时),这个脚本文件是让用户自定义系统启动后需要执行的工作.

11.系统启动虚拟终端/sbin/mingetty、运行run level-5上的X服务(X Window)

12.至此,Linux系统顺利启动完毕!

本文出自 “Linux技术爱好者” 博客,请务必保留此出处http://haobo.blog.51cto.com/2893071/589479

Empire CMS,phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号