Linux系统从开机到正常提供服务的详细开机启动流程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统从开机到正常提供服务的详细开机启动流程相关的知识,希望对你有一定的参考价值。
1、Bios加电自检,检测硬件,找到引导分区
2、读取并执行MBR(主引导记录)的bootloader(grub程序)
3、根据bootloader中的设备加载kernel,kernel会开始检测硬件与加载驱动
/etc/grub.conf 就是bootloader中需要加载kernel的配置文件
4、内核启动
文件为:/sbin/init,主要是准备软件执行环境
5、初始化系统
/etc/init/rcS.conf 文件中执行/etc/rc.d/rc.sysinit
rc.sysinit脚本的功能:
主机名、挂载设备、判断是否启动selinux、网络环境、初始化raid
6、init找到/etc/inittab文件,确定默认的运行级别
运行级别:
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
关机
# 1 - Single user mode 单用户模式
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking) 多用户模式,不支持网络
# 3 - Full multiuser mode 多用户模式,不支持网络
# 4 - unused 保留项
# 5 - X11 图形模式
# 6 - reboot (Do NOT set initdefault to this)
重启
#
id:3:initdefault: 默认是图形模式,一般工作场景改成3文本模式
7、系统启动运行的程序 /etc/init/rc.conf
如果系统运行级别是3,进入/etc/rc3.d下看到许多以K开头的文件,表示该级别不启动服务;S开头的文件,表示该级别下启动服务。数字代表的是启动顺序,由小到大。启动服务查看chkconfig --list
8、执行/etc/rc.d/rc.local
想要开机执行某个命令或是执行某个脚本,就写到这个文件里。
9、开启终端或者图形界面(前提系统安装了桌面的软件包),输入帐号和密码登陆到系统中,开启shell
备注:附图两张(init-upstart-systemd)
图一:
图2:
以上是关于Linux系统从开机到正常提供服务的详细开机启动流程的主要内容,如果未能解决你的问题,请参考以下文章