Linux的启动过程

简介:
Linux的启动过程:
POST上电自检--->BIOS进行启动选择--->读取MBR进行系统启动--->加载内核--->执行init
1:POST上电自检,检查输入输出设备是否正常;
2:BIOS,进行启动顺序的选择;
3:MBR,前446个字节存放着Boot Loader,后面的64个字节存放着分区表,最后2个字节用于封装码;
4:加载内核,内核加载进行硬件的探测,设备的驱动初始化,挂载根文件系统,装
载/sbin/init,启动系统PID为1的进程,但是在进行挂载时内核需要读取磁盘上的数据,而此时并没有磁盘的驱动,依然无法读取,所以这就借助一个中间文件init;
5.init进程:判断进入哪个runlevel下跟着就直接进入rc.sysinit文件设置大部分和系统相关的环境,在/etc/inittab文件中,该文件中的内容分为四个字段:
id:runlevels:action:process
(id):标识
(runlevels):运行级别,级别分为六个分别用0-6来进行标识:0-关机;1-单用户模式,不开启网络功能,任何用户登录均不需要密码,因此在这个级别中可以重新设置任何用户的密码包括root用户;2-完全模式,除了网络文件系统NFS不进行加载;3-命令行的完全多用户模式;4-预留级别;5-图形完全模式;6-重新启动。通常我们进入的是3和5级。
(action):常用到的有:respawn--一旦进程终止就会立即重新启动;wait--当进入特别级别的时候,该进程就会启动一次,直到其结束;initdefault--设定默认运行级别;sysinit--系统初始化,在系统启动过程中会被执行一次;powerfail--当电源有故障时立即执行;powerwait:等待电源恢复时执行;powerokwait--电源恢复时执行;ctrlaltdel--当用户同时按下ctrl+alt+del组合键时执行。
(process):在查看/etc/inittab文件时,发现在process字段处写的都是/etc/rc.d/rc 1-6等,其实这都是些链接文件。打开/etc/rc.d/rc2.d中,全部都是些以"K"或者"S"后面跟着数字后面是每个服务的名字,形如:K01dnsmasq、S10network。其中"K"表示Kill的意思"S"表示Start,而后面的数字则均是该服务的启动优先级和关闭优先级,在服务之间也存在着优先级和依赖关系,例如:启动web服务则必须依赖于网络服务。

chkconfig:查看服务
--list:列出当前服务的状态
--level # SERVICE off|on:在某个级别关闭或开启摸个服务
--add:添加某个服务
--del:删除某个服务
也可以用:service SERVICE status|stop|start|restart 查看状态|停止|启动|重启
在使用chkconfig列出的服务其实都在/etc/rc.d/init.d文件中写着。

至此,整个系统就这样启动起来了!







本文转自 向阳草米奇 51CTO博客,原文链接:http://blog.51cto.com/grass51/788111,如需转载请自行联系原作者
目录
相关文章
|
安全 Linux Windows
Linux科普扫盲系列(Linux启动安装U盘的制作)
Linux科普扫盲系列(Linux启动安装U盘的制作)
612 0
Linux科普扫盲系列(Linux启动安装U盘的制作)
|
10月前
|
Linux 程序员 Apache
Linux操作系统计算机的整个启动过程(一)
Linux操作系统计算机的整个启动过程
100 0
|
Java Linux Shell
Linux下启动java程序的通用脚本
Linux下启动java程序的通用脚本
342 0
|
NoSQL Linux Redis
Linux系统Redis安装教程-附带后台启动
Linux系统Redis安装教程-附带后台启动
Linux系统Redis安装教程-附带后台启动
|
安全 Linux
linux 安装Elasticsearchhe和kibana以及启动遇到的错误解决(已成功运行)
linux 安装Elasticsearchhe和kibana以及启动遇到的错误解决(已成功运行)
272 0
|
存储 Linux 编译器
Linux内核在arm上的启动过程
Linux内核在arm上的启动过程
108 0
Linux内核在arm上的启动过程
|
存储 NoSQL Linux
Linux 系统中的安装启动和连接 | 学习笔记
快速学习 Linux 系统中的安装启动和连接
85 0
Linux 系统中的安装启动和连接 | 学习笔记
|
NoSQL Linux Redis
Linux 环境安装 redis-配置文件启动目录管理|学习笔记
快速学习 Linux 环境安装 redis-配置文件启动目录管理
79 0
|
Shell Linux C语言
【Linux】【操作】Linux操作集锦系列之三——进程管理系列之(二) 进程启动
【Linux】【操作】Linux操作集锦系列之三——进程管理系列之(二) 进程启动
|
SQL Linux 网络安全
SQLServer On Linux 常用操作(启动、停止、启用、禁用、浏览)|学习笔记
快速学习 SQLServer On Linux 常用操作(启动、停止、启用、禁用、浏览)
1305 0