首页 > 系统服务 > 详细

Linux启动过程

时间:2015-12-26 23:49:44      阅读:431      评论:0      收藏:0      [点我收藏+]

技术分享

1、检测硬件

2、读取硬盘MBR(Master Boot Record)

    MBR位于第0磁道第一个扇区,默认扇区大小为512 bits,包含主引导程序、分区表、分区有效标志

        1)、主引导程序(boot loader),占446 bits,引导grub/lilo,一般常用grub。

        2)、分区表(Disk Partition table 简写DPT),大小为64 bits,记录分区及分区表大小。

        3)、分区有效标志,占用2bits,固定为55AA。

3、引导grub(GRand Unified Bootloader简称“GRUB”),是一个来自GNU项目的多操作系统启动程序

      按grub.conf配置文件,加载内核(kernel)

4、执行init进程,内核启动后,执行的第一个进程init,开始初始化系统。

5、init 读取/etc/inittab配置文件,获取启动级别run-level

     例如/etc/inittab默认启动运行级别: id:5:initdefault:      

6、init 运行/etc/rc.d/rc.sysinit,启动相关服务环境(如网络、时区等)。

7、init 执行/etc/rc.d/rcX.d(X表示数字,run-level级别) 下各个服务并启动 (script 方式);

    例如系统默认启动级别为5,系统就会运行/etc/rc.d/rc5.d目录下的脚本。查看这些脚本文件:

    [root@lnmp01 ~]# ls /etc/rc.d/rc5.d
    K01smartd          S01sysstat           S25cups
    K05wdaemon         S02lvm2-monitor      S25netfs
    K10psacct          S03vmware-tools      S26acpid
    K10saslauthd       S08ip6tables         S10network
    文件名意义:K表示关闭;S表示启动;数字:表示顺序,数值越大,启动顺序越早;后面字母表示服务名称。脚本有一项关于chconfig配置,以network这个服务为例,查看S10network 这个脚本:

 

技术分享



8、init 执行/etc/rc.d/rc.local,启动开机自动执行的脚本。

9、init 执行虚拟终端机控制程序 mingetty 来启动 login 程序,最后就等待用户登入


本文出自 “星星之火” 博客,请务必保留此出处http://154883753.blog.51cto.com/470223/1728575

Linux启动过程

原文:http://154883753.blog.51cto.com/470223/1728575

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!