美文网首页
Linux启动流程

Linux启动流程

作者: mapipi | 来源:发表于2017-07-09 13:36 被阅读0次

    一:简述

         Linux-Ceentos系统开机启动流程简述如下,后续小节会对重要节点做详细描述

    1:加电自检  ---> 2:MBR引导系统启动,相当于GRUB的第一阶段  ----> 3: GRUB1.5阶段 加载boot文件系统驱动--> 4 :grub 2阶段 ,读取/boot/grub/grub.conf文件 ---> 5: 加载系统内核/boot/vmlinuz内核文件至内存--> 6: 加载/boot/initramfs虚拟文件系统,加载合适的驱动程序,以只读方式挂载根文件系统 ----> 7:加载根下的第一个进程/sbin/init  -->  8:加载系统第一个配置文件/etc/inittab,确定系统的启动模式  -->9  加载系统的第一个脚本

    /etc/rc.d/rc.sysinit,系统初始化脚本: --> 10 根据系统的启动模式 ,依据 /etc/rc.d/rc#.d下的文件 依次开启服务

    二:各阶段简述

    1 POST:power-on-slef-test

         加电自检:检测外部硬件是否正常工作,如cpu.内存,显卡,硬盘,键盘,光驱。

         此功能主要由主板上内置一块rom芯片来完成,简称bios。在开机启动时,可以进入bison内进行相应的设置,如选择计算机由哪块设备进行引导,硬盘、光盘、u盘。

    2 :MBR引导系统启动

            MBR一共512字节,存放在硬盘的0扇区0柱面1磁道上。它的主要功能为引导系统启动,相当于grub的第一阶段,在/boot/grub/stage1内存放的二进制代码与MBR一致。 MBR可以确定此分区是否为主活动分区,由第一字节所决定,00为非活动分区80为活动分区。MBR的后续字节可以检测硬盘分区表是否完好

            MBR内存放了三段信息:

            bootloder:前446字节,引导加载器,引导系统启动的一段程序。不同的系统,引导程序不一样。windows:不支持linux启动。linux:允许用户选择要启动的内核版本,支持windows启动

            64字节:分区表信息

           2字节:标识位

    3 :grub阶段

            grub1.5:加载boot文件系统的驱动文件

            grub2.0:读取/boot/grub.conf文件,加载内核文件/boot/vmlinuz至内核,加载/boot/initramfs虚拟文件系统,加载根文件系统的驱动程序,以只读方式挂载真实的根文件系统

    4:启动系统的第一个进程

    第一个进程:/sbin/init

    读取系统第一个配置文件/etc/inittab。确定系统默认在什么模式下启动系统


    5:启动系统的第一个脚本

    系统初始化脚本:/etc/rc.d/rc.sysinit,此脚本主要完成的内容如下

    (1)设置主机名

    (2)挂载/etc/fstab文件中定义的文件系统

    (3)检测根文件系统,并以读写方式重新挂载根文件系统

    在/boot/initramfs时是以只读方式挂载根文件系统

    (4)设置欢迎信息

    (5)激活udevselinux

    (6)设置系统时钟

    (7)激活swap设备

    (8)根据/etc/sysctl.conf文件设置内核参数

    (9)激活lvmsoftware raid设备

    (10)加载额外设备的驱动程序

    (11)清理操作

    6:根据系统启动的模式读取用户的服务文件

    /etc/rc.d/rc#.d/*

    读取此目录下的文件来 关闭或开启相关服务

    相关文章

      网友评论

          本文标题:Linux启动流程

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