搜索
首页运维CentOSCentOS系统启动流程是什么

CentOS系统启动流程是什么

Jun 03, 2020 pm 03:29 PM
centos

CentOS系统启动流程是什么

CentOS系统启动流程是什么?

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

112.png

1.加电自检

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

2.BIOS启动引导阶段

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

    找到第一个有引导程序的设备后,BIOS会找到设备中的MBR,读取其中的Bootloader

3.GRUP引导阶段

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

3.1 手动在grub命令行接口启动系统:

    grub> root (hd#,#)
  grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE 
  grub> initrd /initramfs-VERSION-RELEASE.img
   grub> boot

3.2 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: 引导启动选定的内核;

3.3 配置文件:/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: 启动选定的内核或操作系统时进行认证

4.加载内核阶段

    内核会自身初始化:

探测可识别到的所有硬件设备;

加载硬件驱动程序;(有可能会借助于ramdisk加载驱动)

以只读方式挂载根文件系统;

运行用户空间的第一个应用程序:/sbin/init

5.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/rcn.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

相关参考:centOS教程

以上是CentOS系统启动流程是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
CENTOS:决策过程的解释CENTOS:决策过程的解释Apr 25, 2025 am 12:03 AM

CentOS适合作为企业级服务器操作系统,因为它稳定、安全且免费。1)它基于RHEL,提供与RHEL高度的兼容性。2)使用yum进行包管理,确保软件安装和更新简便。3)社区定期发布安全补丁,支持周期长达10年。

CentOS的中断:了解因素CentOS的中断:了解因素Apr 24, 2025 am 12:01 AM

CentOS停止维护的原因是RedHat的战略转变,用户应对策略包括:1.迁移到其他发行版,如UbuntuServer、Debian或RockyLinux;2.继续使用CentOS7至2024年6月;3.转向CentOSStream;4.自建解决方案,如基于RHEL的定制发行版或使用容器技术。

CENTOS:是什么导致决定结束支持的决定CENTOS:是什么导致决定结束支持的决定Apr 23, 2025 am 12:10 AM

RedHatendedsupportforCentOStoshifttowardsacommerciallyfocusedmodelwithCentOSStream.1)CentOStransitionedtoCentOSStreamforRHELdevelopment.2)ThisencourageduserstomovetoRHEL.3)AlternativeslikeAlmaLinux,RockyLinux,andOracleLinuxemergedasreplacements.

使用CentOS:系统管理员指南使用CentOS:系统管理员指南Apr 22, 2025 am 12:04 AM

CentOS是一个基于RedHatEnterpriseLinux的开源操作系统,适合服务器环境。1.安装时选择合适的介质和选项,并配置网络、防火墙和用户权限。2.使用useradd、usermod和systemctl命令进行用户和服务管理,定期更新软件包。3.基本操作包括使用yum安装软件和systemctl管理服务,高级功能如SELinux增强安全性。4.查看系统日志解决常见错误,优化性能需监控资源和清理不必要文件。

CENTOS:安全性,稳定性和性能CENTOS:安全性,稳定性和性能Apr 21, 2025 am 12:11 AM

CentOS因其卓越的安全性、稳定性和性能成为服务器和企业环境的首选。 1)安全性通过SELinux提供强制访问控制,提升系统安全。 2)稳定性得益于长达10年的LTS版本支持,确保系统稳定。 3)性能通过优化内核和系统配置,显着提高系统响应速度和资源利用率。

CentOS替换景观:当前趋势和选择CentOS替换景观:当前趋势和选择Apr 20, 2025 am 12:05 AM

CentOS替代品应具备稳定性、兼容性、社区支持和软件包管理等特征。1.AlmaLinux提供10年支持,2.RockyLinux由CentOS创始人发起,确保与CentOS兼容。选择时需考虑迁移成本和性能优化。

CENTOS:Linux分布介绍CENTOS:Linux分布介绍Apr 19, 2025 am 12:07 AM

CentOS是一个基于RedHatEnterpriseLinux的开源发行版,专注于稳定性和长期支持,适用于各种服务器环境。1.CentOS的设计哲学是稳定,适用于Web、数据库和应用服务器。2.使用YUM作为包管理器,定期发布安全更新。3.安装简单,通过几条命令即可搭建Web服务器。4.高级功能包括使用SELinux增强安全性。5.常见问题如网络配置和软件依赖可以通过nmcli和yumdeplist命令调试。6.性能优化建议包括调整内核参数和使用轻量级Web服务器。

CENTOS IN ACTION:服务器管理和Web托管CENTOS IN ACTION:服务器管理和Web托管Apr 18, 2025 am 12:09 AM

CentOS在服务器管理和Web托管中广泛应用,具体方法包括:1)使用yum和systemctl管理服务器,2)安装并配置Nginx进行Web托管,3)利用top和mpstat优化性能,4)正确配置防火墙和管理磁盘空间以避免常见问题。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境