话说CentOS6的启动流程

1.按下开机按钮,电脑的主板通电,电脑开始加电自检(POST,Power On and Self Test),测试主机的硬件是否满足开机的要求.

2.加载主板上的BIOS(Base Input/Output System,基本输入输出系统),BIOS会加载用户设定的第一个可开机设备.,这里我们只说硬盘的加载.

可以按下键盘上的Esc或者是F2或者是Del键,可以调整开机设备,这个键依据每个主板的不同而不同.

3.BIOS加载硬盘的第一个分区的第一个扇区内的内容,也叫做MBR(Master Boot Record,主引导记录).

MBR只有512byte大小,由三部分组成:主引导记录,硬盘分区表和硬盘有效标志,其中主引导记录占用446byte,硬盘分区表占用64byte,硬盘有效标志占用2byte,通常为55AA.

4.由MBR来加载CentOS系统的开机系统管理程序GRUB(GRand Unitifed Bootloader),也就是/boot/grub/grub.conf文件.grub.conf**这个文件的内容如下:

#指定默认加载第一个系统,如果没有这一项,用户不选择的话,系统默认会一直停在这里
default=0 
#开机菜单显示的时间,不建议设置太长时间              
timeout=5
#开机菜单显示时的背景图,分辨率为640*480               
splashimage=(hd0,0)/grub/splash.xpm.gz 
#这一项为默认隐藏菜单,可以省略       
hiddenmenu 
#显示的开机菜单               
title CentOS 6 (2.6.32-642.el6.x86_64)
    #指定系统所在的硬盘的第一个分区         
    root (hd0,0)        
    kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=UUID=234a19e9-96c4-4710-af9b-536fdefbe875 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us  rhgb quiet
        #指明内核kernel的地址,这里的根文件系统为/boot这个分区,后面接的是开机时内核加载的参数
        #ro指定开机过程中,以ro(ready only)方式加载根文件系统
        #root=UUID=234a19e9-96c4-4710-af9b-536fdefbe875为系统的真正的根,这里是用硬盘分区的UUID号指定的 
        #rd_NO_LUKS 的意思是说系统上禁用会被initrd或init脚本自动挂载的加密设备
        #LANG=en_US.UTF-8指定系统所用的语言 
        #rd_NO_LVM为系统不启用LVM逻辑卷
        #rd_NO_MD 选项为系统禁用软RAID设备
        #SYSFONT=latarcyrheb-sun16选项为系统开机时所用的字体
        #KEYBOARDTYPE=pc选项为指定键盘的类型
        #KEYTABLE=us选项为指定美式键盘
        #rd_NO_DM选项为不启用硬RAID
        #rhgb选项为不显示开机的画面
        #quiet选项指定系统开机过程中加载的各种信息不显示出来
    #指明initramfs.img文件的地址,这里默认的根系统为/boot分区
    initrd /initramfs-2.6.32-642.el6.x86_64.img

5.依据GRUB中的信息,加载CentOS6系统的内核到内存中,并把内核解压缩.

6.内核初始化完成后,会加载initramfs.img这个虚拟的文件系统,并根据initramfs.img提供的各种驱动探测加载主机上所有的硬件设备,然后以只读的方式挂载根文件系统.

7.执行/sbin/init程序,读取系统的/etc/inittab文件,取得系统的运行级别,同时运行/etc/rc.d/rc.sysinit程序,初始化系统的各种信息,比如:

读取主机名hostname,
依据/etc/issue文件读取系统的欢迎信息
激活udev和selinux
检测根文件系统,并根据/etc/fstab文件来以读写方式重新挂载根文件系统
设置系统时钟
激活swap分区
根据/etc/sysctl.conf文件设置内核参数
激活lvm及software raid设备
加载额外设备的驱动程序

8.根据系统的运行级别,运行/etc/rc.d/rc#.d/下的各种文件,这里所有的文件都是/etc/rc.d/init.d/目录下文件的软链接

这个文件夹下面的程序都是以K和S开头的,基中
以K开头的文件是在系统开机过程中要被运行的服务,K后面跟的数字表示的是服务的运行次序;数字越小,越先运行;数字越小的服务,通常都会依赖到别的服务,
以S开关的服务则表示的是系统在关机或是切换运行级别时要结束的服务,S后面跟的数字表示的是服务结束的次序;数字越小,越先被结束;数字越小的服务,通常为被依赖到的服务

9.正常级别下,前面的程序运行完毕后, 最后一个S99local的程序指向/etc/rc.d/rc.local这个脚本,用户可以在这个脚本里可以写入自己不方便或是不需写入的系统服务脚本.

10.执行/bin/login程序,进入登录状态,等待用户登录

原创文章,作者:renpingsheng,如若转载,请注明出处:http://www.178linux.com/75587

赞 (0)
renpingshengrenpingsheng
上一篇 2017-05-14 20:53
下一篇 2017-05-14 22:27

相关推荐

  • grub应用 (Blog 10)

    grub1.x 、grub2.x详解

    2017-11-27
  • MAN手册各章节功能及快捷键

    前言: man是manual的简称,中文说法可以是手册。而man手册分为不同的各个章节,每个章节保存这不通类型的手册。 各个章节功能:    Section 名称      说明 1 用户命令 可由任何人启动的 2 系统调用 即由内核提供的函数 3 例程   …

    Linux干货 2016-10-17
  • linux下find(文件查找)命令的详解

    文件查找命令locate和find详解 locate 配合数据库缓存,快速查看文件位置,非实时查找( 数据库查找) find 实际搜寻硬盘查询文件名称 ,实时查找 locate简介 locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locat…

    Linux干货 2016-08-18
  • N22-第一周(作业)

    马哥教育网络班22期-第一周课程练习:   一.描述计算机的组成及其功能       计算机组成:CPU :包含控制器,运算器,寄存器,缓存。通过时序复用的方式来处理加工来自输入设备的指令或数据,协调各组件之间的工作       存储器(内存):编址存储单元阵列,用于暂时存放CP…

    Linux干货 2016-08-13
  • Apache、nginx 、lighttpd性能比较

    1. web服务器简介 1. lighttpd      Lighttpd是一个德国人领导的开源软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的Web server环境         Lighttpd是一个具有非常低的…

    Linux干货 2015-04-10
  • test

    欢迎使用马克飞象 作业帮 示例笔记本 马克飞象 帮助 Markdown 马克飞象是一款专为印象笔记(Evernote)打造的Markdown编辑器,通过精心的设计与技术实现,配合印象笔记强大的存储和同步功能,带来前所未有的书写体验。特点概述: 功能丰富 :支持高亮代码块、LaTeX 公式、流程图,本地图片以及…

    Linux干货 2017-03-20