标签:linux启动流程
一:POST 加电自检
二:BIOS--->Boot Sequence
按照bios中设置的硬件启动循序查找引导设备,
第一个有引导程序的设备即为本次启动用到的设备。
三:MBR--->Bootloader
MBR组成:
446:bootloader------centos的GRUB
64 : 分区表信息
2 : 是否启用
四:Kernel 加载到内存
初始化(自解压):
探测可识别的所有硬件设备;
加载硬件驱动程序(可能借助ramdisk加载);
已制度方式挂载根文件系统;
运行用户空间第一个应用程序:/sbin/init
init程序类型:
sysv:init,Centos5
配置文件:/etc/inittab
Upstart:init,Centos6
配置文件:/etc/inittab, /etc/init/*.conf
Systemd:systemd,Centos 7
配置文件:/usr/lib/systemd/system,
/etc/systemd/system
/sbin/init程序:
运行级别:为系统运行或者维护等应用目的设定
0,6,:关机,重启
1,2,:维护模式(单用户模式,多用户模式)
3,5,:默认级别(3文本界面,5是图形化界面)
切换级别: init NUM
查看级别: runlevel
who -r
配置文件: /etc/inittab
chkconfig命令--查看服务所有级别的启动或者关闭设定情景。
chkconfig [--list] [name]
添加:chkconfig --add name
删除:chkconfig --del name
修改指定的链接类型:
chkconfig [--level levels] name <on|off|reset>
五:/etc/rc.d/rc.sysinit: 系统初始化脚本:
(1) 设置主机名;
(2) 设置欢迎信息;
(3) 激活udev和selinux;
(4) 挂载/etc/fstab文件中定义的文件系统;
(5) 检测根文件系统,并以读写方式重新挂载根文件系统;
(6) 设置系统时钟;
(7) 激活swap设备;
(8) 根据/etc/sysctl.conf文件设置内核参数;
(9) 激活lvm及software raid设备;
(10) 加载额外设备的驱动程序;
(11) 清理操作;
总结:
POST加电自检 --> BIOS(Boot Sequence) --> MBR(bootloader) --> Kernel /sbin/init ---> (/etc/inittab, /etc/init/*.conf) --> 设置默认运行级别 ---> 运行系统初始化脚本 -->关闭或者启动对应服务----> 设置登录终端
标签:linux启动流程
原文地址:http://10673786.blog.51cto.com/10663786/1699819