CentOS系统启动过程

这篇具有很好参考价值的文章主要介绍了CentOS系统启动过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

CentOS系统启动流程图

CentOS系统启动过程,CentOS,linux,centos

(1) 加载 BIOS

        计算机电源加电质检,首先加载基本输入输出系统(Basic Input Output System,BIOS),BIOS 中包含硬件 CPU、内存、硬盘等相关信息,包含设备启动顺序信息、硬盘信息、内存信息、时钟信息、即插即用(Plug-and-Play,PNP)特性等。加载完 BIOS信息,计算机将根据顺序进行启动。

(2) 读取 MBR

        读取完 BIOS 信息,计算机将会查找 BIOS 所指定的硬盘 MBR 引导扇区,将其内容复制到 0x7c00 地址所在的物理内存中。被复制到物理内存的内容是 Boot Loader,然后进行引导。

(3) GRUB 引导

        GRUB 启动引导器是计算机启动过程中运行的第一个软件程序,当计算机读取内存中的 GRUB 配置信息后,会根据其配置信息来启动硬盘中不同的操作系统。

(4) 加载 Kernel

        计算机读取内存映像,并进行解压缩操作,屏幕一般会输出“Uncompressing Linux”的提示,当解压缩内核完成后,屏幕输出“OK, booting the kernel”。系统将解压后的内核放置在内存之中,并调用 start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成 Linux 核心环境的建立。

(5) 读取 Inittab 运行等级

        内核加载完毕,会启动 Linux 操作系统第一个守护进程 init,然后通过该进程读/etc/inittab 文件,/etc/inittab 文件的作用是设定 Linux 的运行等级。

        init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。

        内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败。

        init一共分为7个级别,这7个级别的所代表的含义如下

    • 0:停机或者关机(千万不能将initdefault设置为0)
    • 1:单用户模式,只root用户进行维护
    • 2:多用户模式,不能使用NFS(Net File System)
    • 3:完全多用户模式(标准的运行级别)
    • 4:系统未使用,保留一般不用
    • 5:图形化(即图形界面)
    • 6:重启(千万不要把initdefault设置为6)

        To view current default target, run:systemctl get-default

        To set a default target, run:systemctl set-default TARGET.target

        runlevel:查看启动级别

(6) 加载 rc.sysinit

        读取完运行级别,Linux 系统执行的第一个用户层文件/etc/rc.d/rc.sysinit,该文件功能包括:设定 PATH 运行变量、设定网络配置、启动 swap 分区、设定/proc、系统函数、配置Selinux 等。

(7) 加载内核模块

        读取/etc/modules.conf 文件及/etc/modules.d 目录下的文件来加载系统内核模块。该模块文件,可以后期添加或者修改及删除。

(8) 启动运行级别程序

        根据之前读取的运行级别,操作系统会运行 rc0.d 到 rc6.d 中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。其中以 S 开头表示系统即将启动的程序,如果以 K 开头,则代表停止该服务。S 和 K 后紧跟的数字为启动顺序编号。如图所示:

CentOS系统启动过程,CentOS,linux,centos 

                                                运行级别服务

(9) 读取 rc.local 文件

        操作系统启动完相应服务之后,会读取执行/etc/rc.d/rc.local 文件,可以将需要开机启动的任务加入到该文件末尾,系统会逐行去执行并启动相应命令,如图所示:

CentOS系统启动过程,CentOS,linux,centos 

                                        开机运行服务

(10) 执行/bin/login 程序

        执行/bin/login 程序,启动到系统登录界面,操作系统等待用户输入用户名和密码,即可登录到 Shell 终端,至此Linux操作系统完整流程启动完毕。

 文章来源地址https://www.toymoban.com/news/detail-619830.html

到了这里,关于CentOS系统启动过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CentOS 7启动时报“Started Crash recovery kernel arming.....shutdown....”问题处理过程

    有台虚拟机由于CPU负载过高而宕机,宕机重启后停在“Started Crash recovery kernel arming…shutdown…”阶段,如下所示: 重置虚拟机,进入grub菜单,按e编辑启动选项,在linux16 行末,加上:enforcing=0 init=/bin/bash ,修改完之后,按Ctrl + X保存重启,进入单用户模式,然后以读写方式重

    2024年02月03日
    浏览(41)
  • 记一次centos7系统重装过程

    公司闲置了一台服务器开不了机,发现没有硬盘,于是装了硬盘,准备重装系统,作为测试服务器使用,下面记录下系统的重装过程。 目录 下载centos7镜像 使用rufus 制作 CentOS U盘启动盘 设置重装系统的电脑的启动引导顺序 安装CentOS系统 下载地址:Download (centos.org) 下载地址

    2024年02月05日
    浏览(38)
  • CentOS系统安装并启动VNC服务

    该命令是使用yum包管理器在Linux系统中安装\\\"GNOME Desktop\\\"软件包组。参数\\\"-y\\\"表示自动回答yes以确认安装,不需要用户手动确认。\\\"GNOME Desktop\\\"是一个包含GNOME桌面环境所需的软件包和组件的软件包组。GNOME桌面环境是一种流行的图形化用户界面,提供了直观的操作界面和各种应用程

    2024年01月19日
    浏览(29)
  • CentOS系统下升级Python的openssl过程记录

    问题:运行一个软件提示openssl版本过低。报错:“ImportError: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘OpenSSL 1.0.2k-fips 26 Jan 2017’. See: https://github.com/urllib3/urllib3/issues/2168” 尝试解决1:通过ChatGPT提问获得解决办法 既然你使用的是 CentOS 系统,我们将

    2024年01月16日
    浏览(41)
  • centos linux中使用docker关于nacos启动异常

    nacos启动出现异常: Invocation of init method failed; nested exception is ErrCode:500, ErrMsg:Nacos Server did not start because dumpservice bean construction failure :No DataSource set 在docker中启动nacos发先启动异常可以先查询docker中的镜像 docker images查询所有的镜像有nacos的          使用docker ps -a查询容器的

    2024年02月11日
    浏览(45)
  • 如何进入Linux救援模式以修复无法启动的CentOS

    当CentOS无法启动时,进入救援模式是一种常见的解决方法。救援模式提供了一个最小化的环境,允许用户执行系统维护任务,诊断问题并修复系统。以下是详细说明如何进入CentOS的救援模式。 重启计算机并选择CentOS启动选项。 在系统启动过程中,您将看到一个引导菜单。使

    2024年02月04日
    浏览(53)
  • linux centos中把jar包设置为开机自启动

    创建service文件 CentOS系统中,  /usr/lib/systemd/system  和  /etc/systemd/system  目录均可用于存放Systemd服务单元文件,但它们的用途稍有不同: /usr/lib/systemd/system  目录: 存放的是系统安装的软件包提供的服务单元文件。 该目录下的服务单元文件属于系统级别的服务,由软件包的

    2024年02月15日
    浏览(52)
  • ZLMediaKit在linux上(CentOS7)部署与启动

    1)查看旧版本的cmake 2)删除旧版本的cmake 3)创建安装目录并在目录中下载新版本的cmake 4)编译安装 5)修改环境变量 6)查看cmake版本 1)安装openssl 2)安装 yasm 3)安装ffmpeg 1、下载解压 2、 进入解压后目录,输入如下命令/usr/local/ffmpeg为自己指定的安装目录 3、配置变量 4、查

    2024年02月11日
    浏览(48)
  • 查看CentOS版本及系统位数与设置CentOS 7.9 2009 防火墙配置放开端口的命令与过程

    1.1 命令汇总 2023-11-8 21:31 : 更多关于Linux系统时间的详细操作可以参考 :Linux如何查看系统时间 1.2 截图 2.1 命令汇总 2.2 截图 设置CentOS7.9 2009 防火墙配置放开端口8083 查看端口占用信息

    2024年02月13日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包