Linux启动流程分析(CentOS 5.x)

CentOS 系统的启动流程 CentOS 的启动流程1 Linux 的简单介绍1.1 Linux 的组成1.1.1内核介绍1.1.1.1 内核设计流派1.1.1.2 内核功能1.1.2 内核特点1.1.3 内核组成部分1.1.4 其它2 CentOS 系统的启动流程2.1 POST2.2 Boot Sequence2.2.1 bootloader2.2.2 MBR2.2.3 GRUB2.2.4 kernel2.3 文件启动流... 阅读详情

《鸟哥的Linux私房菜》学习笔记

linux系统开机启动过程描述

当按下电源键后计算机硬件会主动读取BIOS来加载硬件信息及进行硬件系统的自我测试,之后系统会主动读取第一个可启动的设备(由BIOS设置的),此时就可以读入引导装载程序了(Boot Loader)。
引导装载程序可以指定使用哪一个内核文件来启动,并实际加载内核到内存当中解压缩与执行,此时内核就能够开始在内存内活动,并检测所有硬件信息与加载适当的驱动程序来使主机开始运行。
等到内核检测硬件与加载驱动程序完毕后,主机系统开始运行后,此时Linux才会调用外部程序开始准备软件执行的环境,并且实际加载所有系统运行所需要的软件程序。最后系统就会开始等待用户的登录与操作。

简单来说:

  1. 加载BIOS的硬件信息与进行自我测试,并依据设置取得第一个可启动设备;
  2. 读取并执行第一个启动设备内MBR(主引导分区)的Boot Loader(即是gurb等程序);
  3. 依据Boot Loader的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序;
  4. 在硬件驱动成功后,Kernel会主动调用init进程(/sbin/init),而init会取得runlevel信息;
  5. init执行/etc/rc.d/rc.sysinit文件来准备软件的操作环境(如网络、时区等);
  6. init执行runlevel的各个服务的启动(script方式);
  7. init执行/etc/rc.d/rc.local文件;
  8. init执行终端机模拟程序mingetty来启动login程序,最后等待用户登录。
BIOS

BIOS(Basic Input Output System)加载完硬件信息后,进行开机自检,然后开始执行硬件检测的初始化,并配置PnP设备,之后再定义出可启动的设备顺序,接下来开始进行启动设备的数据读取。

MBR

MBR(Master Boot Record,主引导分区)。每块硬盘的第一个扇区内含有446 Bytes的MBR区域。如果主机上有多块硬盘,系统会依据BIOS的设置,选择某块硬盘的MBR读取引导装载程序。
系统的MBR指的是第一个启动设备的MBR。

BootLoader

由于我们的系统软件大多放置到硬盘中,所以BIOS会指定启动的设备,好让我们可以读取磁盘中的操作系统内核文件。但由于不同的操作系统的文件系统格式不相同,因此我们必须要以一个引导装载程序(Boot Loader)来处理内核文件加载的问题。

加载内核检测硬件

当通过Boot Loader的管理而开始读取内核文件后,接下来,Linux就会将内核解压缩到内存当中,并利用内核的功能开始测试与驱动各个周边设备,包括存储设备、CPU、网卡、声卡等。此时Linux内核会以自己的功能重新检测一次硬件,而不一定会使用BIOS检测到的硬件信息。也就是说内核此时才开始接管BIOS后的工作。
内核文件一般放再/boot里面。

第一个进程init

在内核加载完毕之后进行完硬件检测与驱动程序加载后,此时你的主机硬件应该已经准备就绪了,此时内核会主动调用第一个进程/sbin/init。
/sbin/init最主要的功能就是准备软件执行的环境,包括系统的主机名、网络设置、语系处理、文件系统格式以及其他服务的启动等。而所有的操作都会通过init的配置文件,即是/etc/inittab来规划,而inittab内还有一个很重要的设置选项,runlevel。

init处理系统初始化流程/etc/rc.d/rc.sysinit

/etc/inittab中si::sysinit:/etc/rc.d/rc.sysinit,这表示开始加载各项系统服务之前,得先设置好整个系统环境,主要是利用/etc/rc.d/rc.sysinit这个shell脚本来设置好系统的环境。

启动系统服务与相关启动配置文件

启动系统服务/etc/rc.d/rc。
相关启动配置文件/etc/sysconfig。
加载内核让整个系统准备接受命令来工作,再经过/etc/rc.d/rc.sysinit的系统模块与相关硬件信息的初始化后,我们还需要启动系统所需的各项服务,这样主机才能提供我们相关的网络或主机功能。
依据/etc/inittab中runlevel的设置值来决定启动的服务选项。

下面是各个runlevel服务启动的各项脚本放置处。
/etc/inittab中:

   l0:0:wait:/etc/rc.d/rc 0
  l1:1:wait:/etc/rc.d/rc 1
  l2:2:wait:/etc/rc.d/rc 2
  l3:3:wait:/etc/rc.d/rc 3
  l4:4:wait:/etc/rc.d/rc 4
  l5:5:wait:/etc/rc.d/rc 5
  l6:6:wait:/etc/rc.d/rc 6

格式:
id:runlevel:action:process

对/etc/rc.d/rc 3解释:

  • 由/etc/rc.d/rc 3可以取得/etc/rc3.d/这个目录来准备处理相关的脚本程序;
  • 找到/etc/rc3.d/K??*开始的文件,并进行“/etc/rc3.d/K??*stop操作”;
  • 找到/etc/rc3.d/S??*开始的文件,并进行“/etc/rc3.d/S??*start操作”;

这里写图片描述

根据上图我们可以发现全是连接文件,连接到服务启动目录/etc/init.d/去。

用户自定义开机启动程序/etc/rc.d/rc.local

有任何想要在启动时就进行的工作,直接将它写入/etc/rc.d/rc.local,那么该工作就会在启动的时候被自动加载,而不必等到登录系统后去启动。

根据/etc/inittab的设置加载终端机

在完成了系统所有服务的启动后,接下来Linux就会启动终端机来等待用户登录。

/etc/inittab中

   1:2345:respawn:/sbin/mingetty tty1
  2:2345:respawn:/sbin/mingetty tty2
  3:2345:respawn:/sbin/mingetty tty3
  4:2345:respawn:/sbin/mingetty tty4
  5:2345:respawn:/sbin/mingetty tty5
  6:2345:respawn:/sbin/mingetty tty6

init执行终端机模拟程序mingetty来启动login程序,最后等待用户登录。

CentOS启动流程 一 Linux组成 如图: centos启动流程 如图 二 CentOS6启动流程 1.加载BIOS的硬件信息,获取第一个启动设备 2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息 3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备 4.核心执行init程序,并获取默认的运行信息 5.init程序执行/etc/rc.d/rc.sys... 阅读详情

相关推荐

运维——centOS6启动流程

Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。在加上用户空间的应用程序之后,成为Linux操作系统。Linux是自由软件和开放源代码软件发展中最著名的例子。先通过几张图来简单了解下整个系统启动的流程,整个过程基本可以分为POST–>BIOS–>MBR(GRUB)–>Kernel–>Init–>Ru...

运维 1505

(转)CentOS系统启动流程图文详解

CentOS系统启动流程图文详解. 原文:http://www.linuxidc.com/Linux/2017-03/141966.htm 熟悉系统启动流程对于我们学习Linux系统是非常有帮助的,虽然基础,但能帮助我们更加理解Linux系统的工作机制。以下将以CentOS发行版为例来介绍Linux系统的启动流程,因为在CentOS 5、CentOS 6以及CentOS 7使用的初始化程序in...

weixin_30443895的博客 606

Linux系统启动流程和内核管理详细介绍

Linux系统启动流程和内核管理详细介绍概述一.Linux组成二.CentOS6大致启动流程三.系统启动流程BIOSLinux内核特点:ramdisk管理系统启动流程四.grub legacyCentOS 6启动流程grub: GRand Unified Bootloadergrub安装grub的命令行接口grub legacy配置文件grub加密五.自制linux系统1.分区并创建文件系统2....

Blog of Stevenux 667

Linux - 开机启动流程

上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。masterbootrecord主引导记录,位于硬盘的0磁道,0柱面,1扇区,可以看成是硬盘的第一个扇区,MBR里面有一个grub2引导程序,负责启动linux系统。BIOS的配置固化到了主板上面的CMOS芯片上面,BIOS是一个程序会读取CMOS芯片里的参数,了解cpu的配置,时间的配置,...

qq_48391148的博客 7580

linux内核启动过程详细分析

systemd就是为解决这一问题而诞生的,它的设计目标是:为系统的启动和管理提供一整套解决方案。 根据linux管理,字母d是守护进程daemon的缩写,systemd 就是它守护整个系统。守护进程是一直执行的,人为关不了 使用了systemd,就不需要init了,systemd取代了init,成为系统第一个进程,其他进程都是它的子进程

景天科技苑 1万+

运维系列:CentOS 8系统安装Kernel 5.x内核版本详细方法

CentOS 8系统安装Kernel 5.x内核版本详细方法

weixin_54626591的博客 1688

CentOS系统启动过程

CentOS系统启动流程图。

lurenyi168的专栏 1766

RK3588工业开发板实战:如何用IgH EtherCAT主站精准控制伺服电机(附完整代码)

本文详细介绍了如何利用RK3588工业开发板和IgH EtherCAT主站实现伺服电机的精准控制。从硬件选型、实时内核配置到EtherCAT主站安装和核心代码实现,提供了一套完整的工业自动化解决方案,特别适合需要高精度运动控制的场景。

pca5navigator的博客 972

Linux系统启动流程(超详细)

Linux启动流程(一篇搞懂,超详细)

shuju1_的博客 2万+

农业杂草检测——棉花杂草数据集

然后将本层13×13的特征图谱经过×2上采样扩充到26×26,并与上层中26×26的特征图谱拼接,得到新的26×26的特征图谱,在该特征尺度上进行第二次预测,此时得到的特征图谱是相对输入图像16倍下采样,具有中尺度感受野,适合检测中等尺度对象;通过目标检测,能够及时清除杂草,减少病虫害的滋生和传播,保障棉花的健康生长,并有助于降低生产成本。对于地膜覆盖的棉田,由于膜内耕作层土温高、底墒好,杂草出苗早而集中,一般覆膜后5 - 7天杂草陆续出土,在墒情好的情况下,15天左右即形成出土高峰。

qq_38220914的博客 1245

S4 HANA 1809+折旧过账(AFAB/AFABN)凭证行数据存储逻辑变迁:从BSEG到ACDOCA的深度解析

本文深度解析了S4 HANA 1809+版本中折旧过账(AFAB/AFABN)凭证行数据存储逻辑的变迁,从传统的BSEG表迁移到ACDOCA表。文章详细探讨了这一变更的技术背景、官方设计意图及实际影响,包括数据存储量减小和系统性能提升等优势。同时提供了升级项目的应对策略和最佳实践建议,帮助用户顺利过渡到新的数据存储模型。

weixin_28731223的博客 293

centos启动流程

CentOS系统的启动流程:   1、 POST:Power on system test      加电自检:ROM:CMOS;BIOS;ROM+RAM     自检的功能需要一个软件程序来实现,即BIOS(Basic Input Output System)基本输入输出系统;      它被装载在一个硬件芯片CMOS之上,加电过程即给CMOS通电,然后启动其上的BIOS程序,BIOS程序会根...

weixin_34259232的博客 113

Twincat Scopeview录波中的Ringbuffer设置技巧与常见问题解决

本文深入解析了倍福Twincat Scopeview录波功能中Ringbuffer(环形缓冲区)的核心设置技巧与常见问题解决方案。针对数据丢失、触发时机不准等痛点,详细阐述了缓冲区大小、预触发样本、采样率等关键参数的优化配置,并提供了多通道同步、自动诊断等实战应用指南,帮助工程师高效捕捉和分析PLC数据。

rainy的博客 845

从BIOS到图形桌面:用一张流程图和5条命令彻底搞懂Linux启动(CentOS 7/GRUB2/systemd版)

本文详细解析了Linux系统从BIOS到图形桌面的完整启动过程,特别针对CentOS 7系统,重点介绍了GRUB2引导加载程序和systemd初始化系统的作用。通过一张清晰的流程图和5条关键命令,帮助读者深入理解Linux启动机制,并提供了启动问题排查和性能优化的实用技巧。

weixin_30443731的博客 564

SAP FICO 内部往来对账功能开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

SAP FICO 内部往来对账功能开发说明书(包括开发源代码、测试样例、FS)

我好像病了的博客 1223

【WorkBuddy专栏50】代码开发技术体系深度分析——前端、后端、全栈、移动端、数据工程,WB和CODEBUDDY谁更擅长?

【WorkBuddy专栏50】代码开发技术体系深度分析——前端、后端、全栈、移动端、数据工程,WB和CODEBUDDY谁更擅长?

AI人人懂 237

CentOS服务器内核升级与跨版本迁移实战指南

本文详细介绍了CentOS服务器内核升级与跨版本迁移的实战指南,涵盖从准备工作到内核升级、迁移方案对比及常见问题排查的全流程。通过ELRepo升级内核、配置GRUB引导,以及迁移到Rocky Linux等主流系统的具体步骤,帮助运维人员高效完成系统升级与迁移,确保生产环境的稳定性和安全性。

weixin_29232507的博客 332

Oracle EBS FA 创建成批增加执行时间长且报错

摘要 Oracle EBS系统在执行"创建成批增"请求时出现长时间运行并报错(ORA-00603和ORA-03114)。

陈显平的专栏-Oracle EBS 173

linux修改启动引导文件,解析Linux系统启动的引导流程

LINUX是自由开源软件,在LINUX里一切都是文件,不管是命令,操作等等都是以文件形式保存,这篇博客来记录LINUX启动时的引导流程是通过哪写文件来完成的.使用的LINUX版本是CentOS5,CentOS和Ubuntu都是自己联系使用时的较理想版本.下面以CentOS5.5版本为例,介绍LINUX的引导流程,具体流程如下:下面详细介绍每一步:1)第一步firmware固件自检,主要是进行CMO...

weixin_39797693的博客 1232

YOLOv12改进策略【独家融合改进】| MobileNetV4+BiFPN,轻松实现降参涨点,适用专栏内所有的骨干替换

可扩展的高效物体检测BiFPN(加权双向特征金字塔网络)

Limiiiing的博客 978

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Centos系统启动流程

一.内核空间启动流程 1.Linux系统的组成部分 1.Linux系统组成 1)内核 1.内核功能:进程管理,内存管理,网络协议栈,文件系统,驱动程序,安全功能 2.进程间通信IPC(Inter process communication)分类 1)消息队列,semerphor,shm共享内存等 2)socket,不同主机间通信 2)根文件件系统 2.运行中的系统环境分类: 1)内核...

Kasumi_yuki的博客 847

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

centos5_6 启动流程_及启动故障修复

Linux组成 Linux: kernel+rootfs kernel: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 rootfs:程序和glibc 库:函数集合, function, 调用接口(头文件负责描述) 过程调用:procedure,无返回值 函数调用:function 程序:二进制执行文件 u内核设计流派: 单内核(monolithic kernel):...

qq_36493580的博客 1458

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Linux启动流程-CentOS 7

Linux启动流程

追求幸福,探索未知的博客 988

CentOS 5.X 开机流程简介

CentOS 5.X 开机启动流程

AhhSong的博客 743

CentOS系统开机启动流程

CentOS 6 启动流程概述 硬件启动BIOS POST加电自检 加载BIOS的硬件信息,确定第一个启动设备 GRUB引导 读取第一个启动设备的 MBR的 引导加载程序(grub)的 启动信息: 注:MBR为 启动盘的前512字节(MBR = grub + 分区表) stage1:读取MBR的前446字节,即为grub,将其加载至内存并启动 stage1.5:读取MBR之后的扇区,加载/boot目录所在分区的文件系统驱动 stage2:读取文件/boot/grub/grub.conf 内核引

当世事再没完美,可远在岁月如歌中找你 682

Centos系统的启动流程

一、CentOS6启动流程 1、流程图 2、说明 (1)post加电自检 这个过程是开机后,BIOS或UEFI进行硬件检查的阶段 (2)MBR引导 自检硬件没有问题时候,这里以BIOS为例,BIOS将会直接去找硬盘的第一个扇区,找到前446字节,将MBR加载到内存中,MBR将告诉程序下一阶段去哪里找系统grub引导。此阶段属于grub的第一阶段。grub还有1.5阶段和2...

amass1998的博客 246
上一篇: 有关/etc/fstab
下一篇: 有关/etc/inittab
_IanXiao
博客等级 码龄12年 84粉丝 241原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值