linux 笔记--系统启动流程
POST(开机自检)-->BIOS(boot seqvence)-->MBR(boot loader)-->kernel-->initrd-->sbin/init
内核设计:
单内核:linux 轻量级线程
微内核:windows 支持多线程
内核位置:/lib/modules 以版本号命名的目录
ldd 路径:显示共享库的依赖关系(which查看命令的绝对路径)
启动的服务不同,运行的级别也不相同:
0 halt 关机
6 reboot 重启
1 Single user mode 单用户模式(可以直接以管理员身份登入)
2 Multiuser, without NFS 多用户模式,但不启用网络文件系统
3 Full multiuser mode 多用户模式 文字接口
4 unused 保留级别
5 X11 多用户模式 图形接口
boot loader :引导加载
GRUB:(第一阶段)stagel1(mbr)--->stagel1.5(识别文件系统)--->(第二阶段)stagel2(/boot/grub/)
/boot/grub/grub.conf :
default=0 设定默认启动的title,默认为0(从第一个开始)
timeout=10 等待用户选择的时长 秒
splashp_w_picpath=(hd0,0)/grub/linux.xpm.gz 选择菜单的背景图片(默认为 splash.xpm.gz可以自定义修改)
# hiddenmenu 隐藏菜单,可以注释掉,显示菜单
title HuiShao CentOS 6 (2.6.32-504.el6.x86_64) (title 名字 :名字可以更 改)
root (hd0,0) 第一个磁盘的第一个分区
kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=UUID=f12bd5ee-6514-4bc8-a225-a25aa52e491e
nomodeset rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=128M LANG=zh_CN.
UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet 内核所在的位置
initrd /initramfs-2.6.32-504.el6.x86_64.img
还可以给grub 加密码,但普通用户就不能在开始选择菜单上修改启动级别,从而不能以管理员身份直接登入
第一种:password 密码
第二种:password --md5 加密的密码(可以使用grub-md5-crypt )
[root@HuiShao ~]# grub-md5-crypt
Password:
Retype password:
$1$25qnL$IIL4Fq1crGaF6T6fWAyLl0 这就是md5加密后的密码
再次进入启动选择菜单时若要修改启动级别就要先 输入p 再输入密码才可以修改
runlevel命令:查看当前运行级别
[root@HuiShao ~]# runlevel
N 5 (N 为前一个级别,没有就为N,5就是当前使用的启动级别)
who -r 也可以查看运行级别 :
[root@HuiShao ~]# who -r
运行级别 5 2015-07-26 07:43
uname -r 查看内核
[root@HuiShao ~]# uname -r
2.6.32-504.el6.x86_64安装grub
kernel初始化的过程:
1.设备探测
2.驱动初始化(可能会从initrd(initramfs)文件中装载驱动模块)
3.挂在根文件系统(以只读方式挂载)
4.装载第一个进程init(因为init是第一个装载的进程所以pid永远为1,且是所有进程的父进程)
RH5.8:/sbin/init (/etc/inittab配置文件)
RH6.2:systemd 可以并行启动
RH6.3:upstart (ubuntu 开发 基于d-bus配置 /etc/init/init.d/配置文件脚本的存放位置,相当于inittab的配置文件
只不过分片化了)
id:5:initdefault:
id (标识符) 5 (运行级别) initdefault (在什么情况下执行) 要运行的程序
respawn (一旦程序终止就重新启动 如logout) 若没有指定级别,表示在所有级别
/etc/rc.d/rc.sysinit 完成的任务:
1.激活udev和selinux
2.根据/etc/sysctl.conf文件来设定参数
3.设定时钟
4.装载键盘映射
5.启用交换分区
6.设置主机名
7.根文件系统检测,并以读写方式重新挂载
8.激活RAID和LVM设备
9.启用磁盘配额
10.根据/etc/fstab检查并挂在系统文件
11.清理过期的锁和pid文件
/etc/rc.d/init.d 目录里面是服务类的脚本:
/etc/rc.d/init.d/某个服务 start/stop/restart/status/reload/configtest 跟某个参数可以开启或关闭某个服务
/etc/rc.d/init.d/** 服务脚本:
#!/bin/sh
#
# chkconfig: - 91 35
# description: Starts and stops the Samba nmbd daemon \
# used to provide NetBIOS name services.
#chkconfig 启动级别 启动优先次序(s开头的服务脚本) 关闭的优先次序(k开头的服务脚本)
-表示没有级别默认为s*开头的连接 (服务先开启的后关闭,后开启的先关闭)
#description 用户说明此脚本的简单功能 \续行
#chkconfig 和 #description 虽然为注释行但是仍会被读取
chkconfig命令:
--list 列出查看当前系统上的所有独立守护服务的启动设定
--list 服务名 指定查看
--add 服务名 脚本名 添加服务但服务器下次启动才会生效
service 服务名 start|stop 启动或停止服务
--del 服务名 删除服务所有链接
[--level](省略为2345) 24 服务名 on|off 在2、4级开启或关闭服务
/etc/rc.d/rc.local 系统最后启动的一个脚本(可以加入一些命令)
/etc/rc.d/init.d/ /etc/rc.d/rc.sysinit /etc/rc.d/rc.local
/etc/rc.d/rc[0-6].d 表示每个启动级别所要启动服务
RH5 /etc//inittab的任务
1.设定默认运行级别
2.运行初始化脚本
3.运行指定运行级别对立的目录脚本(K* S*)
4.设定ctrl+alt+delete组合键的操作
5.定义UPS电源故障恢复时执行后的操作
6.启动虚拟终端(默认为2345)
7.启动图形终端(只在5级别)
守护进程类型:
独立守护进程:xinetd 超级守护进程,管理瞬时守护进程
瞬时守护进程:不需要关联至运行级别
当有访问瞬时守护进程A时,xinetd就临时启动A,访问后就立即关闭
转载于:https://blog.51cto.com/benniaoxianhui/1679223
linux 笔记--系统启动流程相关推荐
- Linux的系统启动流程
Linux的系统启动流程 一.systemd进程介绍 1.systemd服务介绍 2.systemd功能 3.服务单元 3.查看以激活状态的服务单元 4.查看服务之间的依赖关系 二.Linux的运行级 ...
- linux操作系统启动流程与kickstart文件制作
文章目录 一.Linux操作系统启动流程 1.1.简单回顾linux系统组成以及内核作用 1.2.简单了解一下磁盘构成以及相关基础知识 二.CentOS 启动流程(只适用于MBR类型的PC架构主机) ...
- linux文件系统启动流程 ---笔记整理
下面是一张linux启动流程图: 在了解启动流程之前,我们应该先知道系统的几个重要脚本和配置文件,他们对应的路径为: 1. /sbin/init 2. /etc/inittab 3. /etc/rc. ...
- Linux操作系统启动流程简单介绍
Linux 系统的启动,从计算机开机通电自检开始,一直到登陆系统,需要经历多个过程.了解 Linux操作系统的启动过程,对Linux操作系统更深入认识和日常的运维工作非常有帮助,感兴趣的朋友可以了解一 ...
- linux文件系统启动流程,linux 内核启动过程以及挂载android 根文件系统的过程
转载 作者:汕头大学-黄珠唐 时间:2009 年10 月29 日 主要介绍linux 内核启动过程以及挂载android 根文件系统的过程,以及介绍android 源代码中文件系统部分的浅析. 主要源 ...
- Linux 操作系统启动流程以及trouble shooting
2019独角兽企业重金招聘Python工程师标准>>> 最近在某个版块看到有人讨论GRUB的问题,这里是我个人的一些理解. 我想大部分还是正确的,但肯定也有理解错误的地方,在这里抛砖 ...
- linux系统启动流程详解
系统启动流程(CentOS6) Post加电自检: 开机检查cpu.内存.磁盘等是否存在 Boot Sequence: BIOS:Basic Input and Output System 按照BIO ...
- Linux 操作系统原理 — 系统启动流程
目录 文章目录 目录 系统启动流程 编辑 gurb.cfg RHEL7 的启动级别 RHEL7 破密码步骤 grup2 加密,防止破密码 initramfs 文件 系统启动流程 RHEL7 使用了 G ...
- Linux 系统启动流程及其介绍
熟悉Linux系统启动流程可以更好的排除Linux系统在启动的过程中所遇到的错误,下面介绍Linux系统在启动过程. 开机,BIOS自检:检测外置设备,目的是为了把外围设备的信息提供给操作系统使用 寻 ...
最新文章
- 团队作业—第二阶段06
- IP网络设计系列之-局域网设计
- 阿里云 MVP技术直播——缪政辉教你如何搭建万能LNMP环境
- java service 事物_Service 事务(JdbcUtils 升级)
- java 构造函数的执行顺序
- 进程部分(IPC机制及生产者消费者模型)和线程部分
- java--小示例:-1:输入判断信息
- 拓端tecdat|R语言关联挖掘实例(购物篮分析)
- matlab面板数据处理程序,MATLAB空间面板数据模型操作简介
- 文献阅读-CSC-中文错别字-有关论文搜集-+CGED
- 丁向荣单片机pdf_《单片机原理与应用 --基于可在线仿真的STC15F2K60S2单片机》 丁向荣、陈崇辉 【正版电子纸书阅读_PDF下载】- 书问...
- mysql 分页查询数据重复出现
- 快闪视频快影_快闪的12个步骤!
- js中定义变量时单引号和双引号的区别
- (译)在cocos2d里面如何使用物理引擎box2d:弹球
- MacOS上BeyondCompare无限试用的方法
- unity 3d网络游戏实战(全).pdf_“游戏开发入门指南——Unity+”的食用指南
- 《C++新经典》第1章 C/C++语言
- 简单NLP分析套路(1)----语料库积累之3种简单爬虫方式应对大部分网站
- 计算机图形学(四)几何变换_3_矩阵逆变换