设为首页 收藏本站
查看: 303|回复: 0

[经验分享] Linux启动流程

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-5-23 08:38:44 | 显示全部楼层 |阅读模式
Linux的启动流程可以分为以下几个步骤
  • firmware    固件里面执行的POST(power on self test)加电自检
  • BootLoader  引导程序,引导程序是放在第一个启动设备的MBR(Master Boot Record)里面。MBR是该设备的第一个分区,大小为446bytes
  • kernel    引导程序最重要的就是载入内核
  • init      在内核载入的时候,内核主要所两件事,其一是驱动硬件,其二是启动init进程,init进程是Linux里面一个很特别的进程,它的PID恒为1.
  • /etc/inittab  启动init进程的实质是执行/etc/inittab这个文件,该文件是init进程的配置文件,对于该配置文件的产看可以有两种方法
    (1)通过grep -v "^#" /etc/inittab |more 命令查看配置文件中没有注释的配置
    (2)也可以通过man /etc/inittab 来查看,在此需要说明的是,man不仅可以查看命令也可以查看配置文件
    无论用那种方式得到的主要信息都是如下所示:
    id:3:initdefault:

    si: : sysinit:/etc/rc.d/rc.sysinit

    10:0:wait:/etc/rc.d/rc 0
    11:1:wait:/etc/rc.d/rc 1
    12:2:wait:/etc/rc.d/rc 2
    13:3:wait:/etc/rc.d/rc 3
    14:4:wait:/etc/rc.d/rc 4
    15:5:wait:/etc/rc.d/rc 5
    16:6:wait:/etc/rc.d/rc 6

    ca::ctrlaltdel:/sbin/shutdown -t3 -r now

    在真实的环境中,会显示出比现在多的信息,在这里写出的这些信息就能够理解大概了,通过对/etc/inittab这个配置文件的查看,能够看到在该配置文件中都是以
    id:runlevels:action:progress
    这样的命令格式规范的,id 是一个标识号,runlevels表示系统的运行级别,在Linux里面系统的运行级别从0-6一共有六个,action 指定运行状态,progress是执行的命令,一般是一些脚本命令。
    通过查看配置文件,才能知道Linux在启动了init进程的时候,会做些什么,首先Linux会使用语句
    id:3:initdefault:   
    initdefault是一个重要的action,指定了系统在启动时候的运行级别,在该语句中runlevel是3,所以系统启动的运行级别是3
    接下来系统会执行
    si: : sysinit:/etc/rc.d/rc.sysinit
    该语句没有写runlevel,表示无论系统在哪个运行级别该语句都会执行,那么该语句执行的就是/etc/rc.d/rc.sysinit 这个脚本,该脚本是系统初始化的脚本,sysinit这个action表示的是系统在初始化的时候执行。
    系统初始化完成之后,会想到,第一个执行语句所显示的系统级别,然后根据已经读到的运行级别找到对应级别的语句
    13:3:wait:/etc/rc.d/rc 3
    该语句只有在运行运行级别是3的时候执行,执行的是/etc/rc.d/rc3.d这个文档,wait表示的是,执行progress中的命令,并等待其结果再运行其他命令。
    在运行完这个脚本程序之后,Linux系统就可以启动起来了




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-19474-1-1.html 上篇帖子: centos中查找某一段时间的文件 下篇帖子: Ubuntu下挂载LVM磁盘 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表