Linux引导流程
来源:互联网 发布:淘宝客qq群拉人技巧 编辑:程序博客网 时间:2024/06/16 04:37
Linux引导流程
Linux运行级别
Linux启动服务管理
GRUB配置与应用
启动故障分析与解决
固件firmware(CMOS/BIOS)——POST加电自检(hwclock)
自举程序BootLoader(CRUB)——载入内核
载入内核Kernel——驱动硬件
启动进程init
读取执行配置文件/etc/inittab
init启动后读取inittab文件,执行缺省运行级别,从而继续引导过程。它的PID恒为1,但它也必须向一个更高级的功能负责。
PID为0的是内核调度器。
运行级别:
0 halt
1 Single uer mode
2 Multiuser without NFS
3 Full multiuser mode
4 unused
5 x11
6 重启
grep -v "^#" /etc/inittab | more
inittab文件剖析
id:run-levels:actio:process
id: 标识
run-levels :指定运行级别
action:指定运行状态
process:指定运行的脚本命令
action常用取值:
initdefault:
sysinit: 系统启动执行process中的命令
/etc/rc.d/rc.sysinit :启动脚本/etc/rc.d/rc.sysint,完成系统服务程序启动,如系统环境变量设置,设置时钟,加载字体,检查加载文件系统,生成系统启动信息日志文件。
wait: 执行process中指定的命令,并等待其结束再运行其他命令
once:执行process中指定的命令,并 不等其结束
ctrl alt delete :shutdown
respawn:
/etc/rc.d/rc
S12syslog
S-start
K-kill
数字:启动顺序
脚本名称:
firmware
BootLoader
Kernel
init
/etc/inittab
initdefault
/etc/rc.d/rc.sysinit
/etc/rc.d/rc
/etc/rc.d/rcN.d
username
password
手工启动、关闭服务
设置自启动程序
default 定义缺省启动系统
timeout 定义缺省等待时间
splashimage GRUB启动图片 (hd0, 0)
hd0,0 第一块硬盘的第一个分区
,1 第一个硬盘的第二个分区
在旧式的System V initialization中, /etc/inittab是个相当重要的文件。init进程启动后第一时间找的就是它。inittab负责初始化系统,设置系统runlevel及进入各runlevel对应要执行的命令。假设当前inittab中设置的runlevel是5,则init会运行/etc/init.d/rc 5命令,该命令会根据系统服务的依赖关系遍历执行/etc/rc5.d中的脚本程序。进入/etc/rc5.d目录可以发现里面的文件都是/etc/init.d下对应的脚本程序的软连接。
System V initialization是以runlevel为核心。
Upstart job,runlevel虽说对于服务的启动也有影响但已不是关键所在。Upstart job是事件驱动的,系统服务的启动,停止等等均是由事件决定的。
/etc/init里,均是系统服务的配置文件,或者说,是job definition files。
不仅仅在系统启动初期,在系统运转的任何时期都可以通过发送事件来启动或终止服务。
/etc/init/etc/init.d/etc/rc${runlevel}.d
System V-style的服务是存放于/etc/rc${runlevel}.d目录中的,(而/etc/rc${runlevel}.d下的文件时到/etc/init.d的软连接).
切换运行级别:
init [0123456Ss] init 0是关机, init 6重新启动
- Linux系统引导流程
- Linux引导流程解析
- Linux引导流程
- linux 引导流程简述
- linux系统引导流程
- linux系统引导流程
- linux系统引导流程
- Linux引导流程解析
- linux系统引导流程
- linux引导流程
- linux引导流程解析
- Linux系统启动引导流程
- Linux 系统引导流程
- Linux系统引导流程
- linux系统引导流程
- Linux系统引导流程
- linux引导流程
- Linux引导流程
- Jedis操作redis
- Android ListView使用BaseAdapter与ListView的优化
- Leetcode Length of Last Word
- 超级幂 UVa11752
- OpenStack快速入门
- Linux引导流程
- 图解classloader加载class的流程及自定义ClassLoader
- 第六届ACM省赛H题
- Discuz论坛 创始人/超级管理员密码忘记解决办法!
- 分布式部署opentsdb
- [Windows] 通过任务管理器查看程序是否有内存泄漏
- C++ 构造函数语义学
- cPanel
- ORACLE中union/union all/Intersect/Minus用法