***了解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

Linux 开机启动顺序_005的更多相关文章

  1. Linux开机启动顺序启动顺序及配置开机启动

    Linux:开机启动顺序启动顺序及配置开机启动 开机启动顺序 1.加载内核 2.启动 init(/etc/inittab) pid=1 3.系统初始化 /etc/rc.d/rc.sysinit 4.运 ...

  2. Linux系统的开机启动顺序

    Linux系统的开机启动顺序加载BIOS–>读取MBR–>Boot Loader–>加载内核–>用户层init一句inittab文件来设定系统运行的等级(一般3或者5,3是多用 ...

  3. linux 开机启动过程详解

    Linux开机执行内核后会启动init进程,该进程根据runlevel(如x)执行/etc/rcx.d/下的程序,其下的程序是符号链接,真正的程序放在/etc/init.d/下.开机启动的程序(服务等 ...

  4. linux开机启动

    开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程.分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径. 启动第一步--加载BIOS 当你打开计算机电源,计算机 ...

  5. Linux开机启动程序详解

    Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. ...

  6. Linux开机启动程序详解[转]

    Linux开机启动程序详解 我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤 ...

  7. linux系统设置服务开机启动3种方法,Linux开机启动程序详解

    linux系统设置服务开机启动 方法1:.利用ntsysv伪图形进行设置,利用root登陆 终端命令下输入ntsysv 回车:如下图     方法2:利用命令行chkconfig命令进行设置 简要说明 ...

  8. LINUX开机启动过程

    LINUX开机启动过程 启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息 ...

  9. Linux开机启动十步骤

    启动第一步--加载BIOS 启动第二步--读取MBR 启动第三步--Boot Loader 启动第四步--加载内核 启动第五步--用户层init依据inittab文件来设定运行等级 启动第六步--in ...

随机推荐

  1. python网络编程(二)

    UDP介绍 UDP --- 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议.UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地.由于UDP在传输 ...

  2. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第4章编程练习5

    #include <iostream>using namespace std;struct CandyBar{ char kind[20]; float weight; int calor ...

  3. springboot从入门到精通

    1:安装iDEa 2:安装jdk1.8 安装软件https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...

  4. python生成字符画

    python生成字符画 这个idea来自于实验楼,非常适合练习PIL的像素处理,更重要的是非常有意思. 环境配置 依赖的第三方库就是PIL(Python Image Library),可以直接使用pi ...

  5. GMA Round 1 函数求值

    传送门 函数求值 设函数$f(x)=x^{2018}+a_{2017}*x^{2017}+a_{2016}*x^{2016}+...+a_{2}*x^2+a_{1}*x+a_{0}$,其中$a_{0} ...

  6. GMA Round 1 最大值

    传送门 最大值 求$f(x)=cos(x)+\sqrt{cos^2(x)-4\sqrt{3}cos(x)+4\sqrt{2}sin(x)+10}$的最大值.保留到小数点后3位. $f(x)+\sqrt ...

  7. 数据可视化Echarts-实例

    数据可视化 Echarts 百度 数据可视化 hightCharts 1 数据可视化 D3 老外 -----------------------------当遇到个啥玩意儿,Echarts .high ...

  8. 利用exif.js解决手机上传竖拍照片旋转90\180\270度问题

    原文:https://blog.csdn.net/linlzk/article/details/48652635/ html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针 ...

  9. grid - 隐式地命名网格区域名称

    通常可以将网格线命名成任何你想命名的名称,如果网格线名称添加-start和-end的后缀,其实也隐式的创建一个网格区域,可以用来设置网格项目的位置. 在这个示例中,行和列都具有inner-start和 ...

  10. AttributeError: 'dict' object has no attribute 'has_key'

    运行下面的代码: if (locals().has_key('data')): del data gc.collect() 出错: if (locals().has_key('data')): Att ...