centos 6.x开机启动流程

作者: 肖金光xjg | 来源:发表于2017-07-27 16:55 被阅读114次

    centos 6.x开机启动流程

    1. BIOS(COMS)检查
      加载Bios,bios包含所有硬件信息(CPU,内存,硬盘,时钟,鼠标键盘等等)

    2. 读MBR
      硬盘上第0磁道第一个扇区被称为MBR(master boot recoder,主引导记录),它的大小问512字节,可存放了预加载启动信息,分区表信息。
      系统找到bios所指定的硬盘的MBR后,就会将其复制到0x7c00地址所在的物理内存中。其实被复制到物理内存的内容就是boot loader,而具体到电脑,那就是lilo或者grub了。

    3. boot loader
      boot loader 就是在操作系统运行之前执行一段小程序。通过这段小程序。我们可以初始化硬件信息、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。
      boot loader有若干种,其中grub是最常见的loader
      系统读取内存中的grub配置信息(menu.lst或者grub.lst),并依照此配置来启动不同的操作系统

    4. kernel load
      根据grub设定的内核映像所在的路径,系统读取内存映像,并进行解压操作。此时,屏幕一般会输出“Uncompressing Linux”的提示。当解压缩内核完成后,屏幕输出“OK, booting the kernel”。
      系统将解压后的内核放置在内存中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。

    5. 用户层init依据inittab文件设定运行级别
      内核加载完成后,第一个运行的程序是/sbin/init,该程序会读取/etc/inittab文件,并依据此文件夹进行初始化工作。
      Linux的运行级别:
      0 关机
      1 当用户模式
      2 不带网络的多用户模式
      3 带网络的多用户模式
      4 预留,没使用
      5 带网络,有支持x-windows的多用户模式
      6 重启

    6. init执行rc.sysinit
      系统执行的第一个用户层程序是/etc/rc.d/rc.sysinit脚本程序。
      它做的工作:设定PATH、设定网络配置、启动swap分区、设定/proc等等

    7. 加载内核库
      具体依据/etc/modules.conf文件及/etc/modules.d目录下的文件来加载内核模块

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

    9. /etc/rc.d/rc.local
      rc.load是在一切初始化工作后,留给用户进行个性化的地方

    10. /bin/login
      系统已经进入到了等待用户输入username和password的时候了

    相关文章

      网友评论

        本文标题:centos 6.x开机启动流程

        本文链接:https://www.haomeiwen.com/subject/mczzkxtx.html