zoukankan      html  css  js  c++  java
  • Linux系统启动全过程

    分为两部分,第一部分是硬件本身需要加载的信息,之后才是加载Linux相关信息,因为有装有双系统的机器嘛

    1.计算机加电

    2.BIOS开始运行,检测硬件:cpu、内存、硬盘等

    3.BIOS读取CMOS存储器中的参数,选择启动设备(就是我们安装系统时很常见的那也选择引导页面,默认都是第一个选项从本地)

    4.读取MBR

    5.根据分区信息读入bootloader启动装载模块,启动操作系统(这里开始才是Linux)

    6.然后操作系统询问BIOS,以获得配置信息

    7.加载内核

    8.依据inittab文件来设定运行等级
    Linux的运行等级设定如下:
      0:关机
      1:单用户模式
      2:无网络支持的多用户模式
      3:有网络支持的多用户模式
      4:保留,未使用
      5:有网络支持有X-Window支持的多用户模式
      6:重新引导系统,即重启

    9.执行/etc/rc.d/rc.sysinit
    在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、 设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。如果你有兴趣,可以到/etc/rc.d中查看 一下rc.sysinit文件(在7中无此脚本)

    10.启动内核模块
    具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块

    11.执行不同运行级别的脚本程序
    根据运行级别的不同,系统会运行/etc/rc.d/rc0.d到/etc/rc.d/rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务

    12.执行/etc/rc.d/rc.local,即用户自定义脚本(在7中此脚本无可执行权限)

    13.执行/bin/login程序,进入登录状态

  • 相关阅读:
    一行代码解析复杂JSON文件:利用Android自带的包解析JSON
    人生的真相
    为我的外婆写上我的挽歌
    总结2016 展望2017
    [转贴]使用CryptoAPI解析X509证书和P12证书
    2015这一年的进步
    怎样在WINDOWS下面编译LIBCURL
    LINQ TO SQL 怎样 执行存储过程并返回存储过程的临时表
    C调用OPENSSL做REST服务客户端的例子
    一个CLI的 的例子
  • 原文地址:https://www.cnblogs.com/bfmq/p/6526186.html
Copyright © 2011-2022 走看看