zoukankan      html  css  js  c++  java
  • Linux 开机启动顺序_005

     

     

    ***了解Linux开机启动顺序之前先了解一下Linux运行级别,通过inittab配置文件查看运行级别的定义:

     

    [root@oldboy ~]# cat /etc/inittab

    # Default runlevel. The runlevels used are:

    0表示系统关机

    #   0 - halt (Do NOT set initdefault to this)

    1表示单用户模式,一般用于修改root密码或系统救援

    #   1 - Single user mode

    2表示多用户模式,但没有NFS网络文件系统功能

    #   2 - Multiuser, without NFS (The same as 3, if you do not have networking)

    3表示多用户模式,一般生产系统就用此级别

    #   3 - Full multiuser mode

    4表示未使用

    #   4 – unused

    5表示以图形介面登录

    #   5 - X11

    6表示重启系统

    #   6 - reboot (Do NOT set initdefault to this)

    id:3:initdefault:    ##系统修改运行级加就在此修改即可

     

    [root@oldboy ~]# runlevel    ##查看当前系统运行级别

    N 3

     

    [root@oldboy ~]# init 5       ##切换运行级别

     

     

     

     

    Linux 开机启动顺序流程图:

     

     

     

     

     

    一、开机加载BIOS自检设备启动顺序信息、硬盘信息、内存信息等

    标注:以VMware WorkStation虚拟机截图

     

     

     

     

    二、MBR引导

    标注:还有另外一种开机加载方式GPT(UEFI+GPT)引导,GUID Partition Table全局唯一标识分区表

    MBR(Legacy+MBR)引导,Master Boot Record即硬盘主引导记录分区 (硬盘0柱面、0磁头、1扇区,大小为512字节)

    (1)、主引导扇区MBR  占446个字节

    (2)、分区表DPT 占64个字节(一个硬盘只能分四个主分区,一个分区占用16个字节)

    (3)、分区表有效性标记 占用2个字节

     

     

    三、Boot Loader引导加载(以GRUB引导菜单为例),系统读取内存中的grub配置信息,

    并依照此配置信息来启动不同的操作系统,可以通过/boot/grub/grub.conf进行配置

     

     

    四、加载内核Kernel

    五、启动第一个进程init

    六、执行/etc/rc.d/rc.sysinit脚本文件初始化设置

     

     

    七、读取inittab配置文件设定运行等级,执行/etc/rc.d/rc3.d目录相应的脚本程序

    标注:kdump 是一个系统意外崩溃时收集错误信息的工具,可以关闭,不影响系统启动

     

     

     

    八、启动mingetty进程,进入登录状态

    标注:在启动mingetty进程时,系统会先执行/etc/rc/rc.local开机自动启用户自定义的动程序命令的文件

     

     

     

    感谢老男孩博客提供参考  https://blog.51cto.com/oldboy

     

     

     

  • 相关阅读:
    Spring MVC之视图呈现
    Spring MVC之HandlerMap 初始化
    Spring MVC之DispatcherServlet请求处理
    合成模式
    缺省适配器
    适配器模式
    原始模型
    克隆 和 比较
    建造模式
    线段树
  • 原文地址:https://www.cnblogs.com/zoulongbin/p/10441426.html
Copyright © 2011-2022 走看看