Linux 开机启动顺序

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

 

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

# Default runlevel. The runlevels used are:this

0表示系统关机spa

#   0 - halt (Do NOT set initdefault to this)操作系统

1表示单用户模式,通常用于修改root密码或系统救援3d

#   1 - Single user modeblog

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

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

3表示多用户模式,通常生产系统就用此级别get

#   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       ##切换运行级别

 

 

 

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

标注:以VMware WorkStation虚拟机截图

 

2、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个字节

 

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

并依照此配置信息来启动不一样的操做系统,能够经过/boot/grub/grub.conf进行配置

 

4、加载内核Kernel

5、启动第一个进程init

 

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

 

 

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

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

 

8、启动mingetty进程,进入登陆状态

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

 

 

 

 

posted on 2022-05-26 08:46  小破孩楼主  阅读(665)  评论(0编辑  收藏  举报