阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS系统启动流程

289次阅读
没有评论

共计 2755 个字符,预计需要花费 7 分钟才能阅读完成。

导读 CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同,在于 CentOS 并不包含封闭源代码软件。

CentOS 系统启动流程

当我们按下开机键后,系统背后的秘密我们是否了解呢?这里,我带大家探索一下 linux 系统开机背后的秘密。

CentOS 系统启动流程

加电自检

主板在接通电源后,系统首先由 POST 程序来对内部各个设备进行检查,自检中如发现有错误,将按两种情况处理:对于严重故障 (致命性故障) 则停机,此时由于各种初始化操作还没完成,不能给出任何提示或信号;对于非严重故障则给出提示或声音报警信号,等待用户处理。

BIOS 启动引导阶段

自检通过之后,按次序查找各引导设备,第一个有引导程序的设备即为本次启动要用到的设备。一般电脑是按 ”F2″ 或 ”Del” 键等等进入 BIOS,在里面我们可以调整硬盘的启动顺序。找到第一个有引导程序的设备后,BIOS 会找到设备中的 MBR,读取其中的 Bootloader。

GRUP 引导阶段

这时候就可以看到我们的 Centos 系统了,但是一般都不需要操作,会自动启动系统。其实我们也可以自己手动启动系统的。

手动在 grub 命令行接口启动系统:
grub> root (hd#,#)

grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE

grub> initrd /initramfs-VERSION-RELEASE.img

grub> boot
grub 的命令行接口:
e: 编辑模式,用于编辑菜单;c: 命令模式,交互式接口;help: 获取帮助列表;help KEYWORD: 详细帮助信息;find (hd#,#)/PATH/TO/SOMEFILE:root (hd#,#) 设定 grup 的根设备;kernel /PATH/TO/KERNEL_FILE: 设定本次启动时用到的内核文件;额外还可以添加许多内核支持使用 cmdline 参数;例如:init=/path/to/init, selinux=0;initrd /PATH/TO/INITRAMFS_FILE: 设定为选定的内核提供额外文件的 ramdisk;boot: 引导启动选定的内核;
配置文件参数详解:/boot/grub/grub.conf
default=#: 设定默认启动的菜单项;落单项 (title) 编号从 0 开始;timeout=#:指定菜单项等待选项选择的时长;splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜单背景图片文件路径;hiddenmenu:隐藏菜单;password [--md5] STRING: 菜单编辑认证;title TITLE:定义菜单项“标题”, 可出现多次;用来引导多个内核或者操作系统;root (hd#,#):grub 查找 stage2 及 kernel 文件所在设备分区;为 grub 的“根”;

kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核;initrd /PATH/TO/INITRAMFS_FILE: 内核匹配的 ramfs 文件;password [--md5] STRING: 启动选定的内核或操作系统时进行认证。
加载内核阶段
内核会自身初始化:
探测可识别到的所有硬件设备;加载硬件驱动程序;(有可能会借助于 ramdisk 加载驱动);以只读方式挂载根文件系统;运行用户空间的第一个应用程序:/sbin/init。
init 初始化阶段

内核加载完毕,会运行 init 程序,init 进程起来后,系统启动的控制权移交给 init 进程;/sbin/init 进程是所有进程的父进程,当 init 起来之后,它首先会读取配置文件 /etc/inittab,进行以下工作:

1. 执行系统初始化脚本(/etc/rc.d/rc.sysinit),对系统进行基本的配置,以读写方式挂载根文件系统及其它文件系

统,到此系统基本算运行起来了,后面需要进行运行级别的确定及相应服务的启动;2. 确定启动后进入的运行级别;3. 执行 /etc/rc.d/rc,该文件定义了服务启动的顺序是先 K 后 S,而具体的每个运行级别的服务状态是放在 /etc/rc.d/r

cn.d(n=0~6)目录下,所有的文件均链接至 /etc/init.d 下的相应文件;4. 有关 key sequence 的设置;5. 有关 UPS 的脚本定义;6. 启动虚拟终端 /sbin/mingetty;7. 在运行级别 5 上运行 X。

配置文件:/etc/inittab; 每行定义一种 action 以及与之对应的 process

id:runlevels:action:process;id:一个任务的标识符;runlevels:在哪些级别启动此任务;#,###,可以为空,表示所有级别;action:在什么条件下启动此任务;process:任务;(脚本或程序);action:wait:等待切换至此任务所在的级别时执行一次;respawn:一旦此任务终止,就自动重新启动之;initdefault:设定默认运行级别;此时,process 省略;sysinit:设定系统初始化方式,此处一般为指定 /etc/rc.d/rc.sysinit 脚本;K*:要停止的服务;K##*,优先级,数字越小,越是优先关闭;依赖的服务先关闭,而后关闭被依赖的;S*:要启动的服务;S##*,优先级,数字越小,越是优先启动;被依赖的服务先启动,而依赖的服务后启动;

chkconfig 命令:管控 /etc/init.d/ 每个服务脚本在各级别下的启动或关闭状态;

查看:chkconfig  --list   [name]

添加:chkconfig  --add  name

删除:chkconfig  --del  name

修改指定的链接类型:

chkconfig  [--level  LEVELS]  name  <on|off|reset>

--level LEVELS:指定要控制的级别;默认为 2345。

init 命令:

级别切换:init #;级别查看:who -r。

注:正常级别下,最后启动的一个服务 S99local 没有链接至 /etc/init.d 下的某脚本,而是链接至了 /etc/rc.d/rc.local(/etc/rc.local)脚本;因此,不便或不需写为服务脚本的程序期望能开机自动运行时,直接放置于此脚本文件中即可。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计2755字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7971310
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...