话说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

相关推荐

  • N22-℡浮生.若夢 ╮第一周作业

    1.描述计算机的组成及其功能  组成:     硬件       (1).CPU: 是计算机的主要设备之一,功能主要是解释计算机指令以及处理计算机软件中的数据.       (2).存储器:内存,硬盘,存储器的功能是存储程序、数据和各种信号…

    Linux干货 2016-09-19
  • grep&正则表达式

    grep&正则表达式 grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 语法 grep [选项]… PATTERN [FILE]… 选项 -a 不要忽略…

    Linux干货 2018-03-23
  • Linux文件的权限与解析

    一,文件的基本权限: 通常,你使用ls -l 命令,就会看到这样的行:   让我们解析一下这些字段代表的意思: -rw-r–r–. 1 root root 1018 Nov 6 2016 usb_modeswitch.conf 文件类型权限  硬链接数 文件所有者 文件所属组 文件容量  文件最后被修改时…

    2017-07-30
  • 马哥教育网络班22期+第二周课程练习

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示? cp命令:copy,有2类复制方法  1、单源复制:如果DEST不存在:则实现创建此文件,并复制源文件的数据流至DEST中;     如果DEST存在:如果DEST是非目录文件,则覆盖目标文件;如果DEST是目录文件,则先DEST目录下创建一个与源文件…

    Linux干货 2016-08-22
  • 如何在linux系统上获取命令的帮助信息,man文档的章节划分

    内置命令获取帮助文档的方式:   判断一个命令是否是Linux内置的,可以用type命令,只有Linux的内置命令才能使用 help 命令获得帮助。 type cd 输出:cd is a shell builtin 说明这个命令是系统自带的内置命令,那么就可以使用 help命令来获取帮助。 help 命令名 外部命令获取帮助文档的方式: 第一种办法是使用 &…

    Linux干货 2016-10-31
  • Linux如何快速查找需要执行的命令

    大家知道,对于熟悉命令行的用户来说,命令行操作比图形界面操作高效、简洁,那么Linux是如何快速找到命令的位置呢?今天刚学了这一部分,与大家分享。         Linux将命令分为内部命令和外部命令,这是由于一些命令是常用的,需要常驻内存以减少检索时间,所以集成在shell之…

    2017-07-15