LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

Linux系统的启动过程,来说一说启动顺序详解

2023年1月10日 69点热度

你是否为了操作系统的系统过程而感到迷惑呢?或者你根本就不了解操作系统的启动过程,那么我们来说一说,Linux系统的启动过程

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

接触Linux的时间也不算短了,一直都是直接使用Linux操作系统进行一些工作,很少去了解系统从开机到能使用的整个过程,感觉有需要好好理解下整个系统的启动过程,故写这篇博客加深一下理解。

先通过一张图来简单了解下整个系统启动的流程,整个过程基本可以分为POST-->BIOS-->MBR(GRUB)-->Kernel-->Init-->Runlevel。下面会详细说明每个过程的作用。

linux启动过程流程图_linux启动过程_linux启动过程详解

BIOS

BIOS(Basic Input/Output System),基本输入输出系统,该系统存储于主板的ROM芯片上,计算机在开机时,会最先读取该系统,然后会有一个加电自检过程,这个过程其实就是检查CPU和内存,计算机最基本的组成单元(控制器、运算器和存储器),还会检查其他硬件,若没有异常就开始加载BIOS程序到内存当中。详细的BIOS功能,这边就不说了,BIOS主要的一个功能就是存储了磁盘的启动顺序,BIOS会按照启动顺序去查找第一个磁盘头的MBR信息,并加载和执行MBR中的Bootloader程序,若第一个磁盘不存在MBR,则会继续查找第二个磁盘(PS:启动顺序可以在BIOS的界面中进行设置),一旦BootLoader程序被检测并加载内存中,BIOS就将控制权交接给了BootLoader程序。

MBR

MBR(Master Boot Record),主引导记录,MBR存储于磁盘的头部,大小为512bytes,其中,446bytes用于存储BootLoader程序,64bytes用于存储分区表信息,最后2bytes用于MBR的有效性检查。

GRUB

GRUB(Grand Unified Bootloader),多系统启动程序,其执行过程可分为三个步骤:

Stage1:这个其实就是MBR,它的主要工作就是查找并加载第二段Bootloader程序(stage2),但系统在没启动时,MBR根本找不到文件系统,也就找不到stage2所存放的位置,因此,就有了stage1_5

Stage1_5:该步骤就是为了识别文件系统

Stage2:GRUB程序会根据/boot/grub/grub.conf文件查找Kernel的信息,然后开始加载Kernel程序,当Kernel程序被检测并在加载到内存中,GRUB就将控制权交接给了Kernel程序。

PS:实际上这个步骤/boot还没被挂载,GRUB直接识别grub所在磁盘的文件系统linux启动过程,所以实际上应该是/grub/grub.conf文件,该配置文件的信息如下:

grub.conf:

#boot=/dev/sda

default=0 #设定默认启动的title的编号,从0开始

timeout=5 #等待用户选择的超时时间

splashimage=(hd0,0)/boot/grub/splash.xpm.gz #GRUB的背景图片

hiddenmenu #隐藏菜单

title CentOS (2.6.18-194.el5PAE) #内核标题

root (hd0,0) #内核文件所在的设备

kernel /vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/ #内核文件路径以及传递给内核的参数

initrd /initrd-2.6.18-194.el5PAE.img #ramdisk文件路径

内核的启动Kernel

内核文件都是以一种自解压的压缩格式存储以节省空间,它与一个初始化的内存映像和存储设备映射表都存储于 /boot目录之下。在选定的内核加载到内存中并开始执行后,在其进行任何工作之前,内核文件首先必须从压缩格式解压自身。一旦内核自解压完成,则加载 systemd 进程(其是老式 System V 系统的 init 程序的替代品),并转移控制权到 systemd。

linux启动过程流程图_linux启动过程_linux启动过程详解

这就是引导过程的结束。此刻,Linux 内核和 systemd 处于运行状态,但是由于没有其他任何程序在执行linux服务器配置与管理,故其不能执行任何有关用户的功能性任务。

Init

操作系统启动,就是正常的加载操作系统。启动过程紧随引导过程之后kali linux,启动过程使 Linux 系统进入可操作状态,并能够执行用户功能性任务。

Runlevel

runlevel,运行级别,不同的级别会启动的服务不一样,init会根据定义的级别去执行相应目录下的脚本,Linux的启动级别分为以下几种

linux启动过程流程图_linux启动过程_linux启动过程详解

以上几步,就是Linux系统启动的过程,如果有什么地方不了解linux启动过程,可以再下面评论和留言。大家一起来谈论Linux系统,玩转Linux系统,让我们的知识架构更加进一步。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: bios grub kernel linux系统 mbr
最后更新:2023年1月10日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
查看系统版本 linux “”的有关知识,不少人都会遇到这样的困境 Linux在内核中是如何记录进程资源的?你能从C语言源代码层面分析下吗? 【】原操作系统配备内核源代码,更不能进行内核模块实验 【Linux基础知识】与文件权限管理的Linux关系 linux/管理员管理员发布于5年前34(图) Linux和Unix操作系统之间有区别但也有联系?(一) Ubuntu系统如何升级和更新Linux内核版本?将推荐 Linux内核技术组成、组织和重要的数据结构等(组图) 【报错日志】一下升级linux内核的启动顺序为0 Linux终端窗口中输入mysql-V以显示MySQL版本信息sky 计算机操作系统全新版装系统盘点、理念与系统的优缺点 linux中常用的用户管理命令:1groups?列出当前用户所属 Linux下如何设置开机启动启动脚本?学算法 Linux中已经安装好了mysql命令 Linux系统用户系统上的三种类型的帐户的介绍 Linux下的开机启动设置方法是什么?脚本或服务 谷歌更新Linux内核构建的公共内核库:添加对kokoro作业的支持 linux下mysql中可以使用REVOKE语句来删除某个用户的权限 内核的角度来看,调用hotplug和通常的hotplug环境 Linux系统在开机的时候自动加载某些脚本或系统服务
Linux5.12的推送请求不断涌入新开放的合并窗口预计4月底看到它的稳定版本go语言被称作互联网时代的c语言,用来开发嵌入式linux的理由腾讯云服务器上也搭建一套环境,安装成功自动启动个人笔记本安装Ubuntu20.04LTS下载地址启动第一步--加载BIOS当你打开计算机电源(组图)虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载指令中各个make-C~/linuxM=`pwd编译Linux启动过程中的几个部分内核的引导(图)如何在Linux上安装虚拟机的结果大多都是怎么安装的一个免费软件时间跟进的小白鼠是什么鬼?专题计算机是如何启动的?、内核操作系统的启动流程学习Linux最简单、最实用的环境就是虚拟机环境(上)基于命令修改文件的权限命令-ld1.Linux磁盘分区和目录Linux发行版本之间的差别很少?国内性价比很高的Linux虚拟主机系统安装的流程是什么?Linux下修改文件权限的权限与所有权的实现就显得很有必要linux到底难不难学呢?推荐可以查看Linux命令大全Linux中修改文件权限的命令、创建者所在组、所有人Linux的内核放在了哪里?/boot的启动目录一览阿里云>社区>主题地图S>查看存储推荐
linuxVPS计划任务crond命令的使用方法分享,需要的朋友可以参考下 Linux发行版的学习方法与学习中应该注意的一些事 【知识点】如何记录常用的linux命令?(二) 【Linux基础知识】查看内核版本命令:LinuxAS 树莓派2正式发布支持微软Windows10操作系统派 如需最新mainline内核版本下载并安装新版本删除旧内核 【好玩的网络-第2.5期】分配IP有哪些骚操作?小白保姆级教程 使用u盘在IBMx3650服务器上安装linux系统?我猜两种情况 【Linux基础知识】Linux系统的启动流程经历(二) 学习Linux最简单、最实用的环境就是虚拟机环境(上) UNIX编程《UNIX环境高级编程(第3版)》 Ubuntu上使用的默认浏览器为Firefox,该怎么安装? linux虚拟机的安装步骤是什么?虚拟机和服务器的区别 Linux上的防火墙和地址命令使用WinSCP ​​Linux系统的工具链完整介绍-乐题库 2022年最适合旧PC的10款轻量级Linux发行版 防火墙和SELinux关闭防火墙及SELinux链接进行下载地址 如何在win10环境下使用vmware搭建本地计算机的虚拟机? 不同服务器启动不同端口一样修改教程 上海会计从业资格考试:关联数据acceptfd
标签聚合
linux服务器 shell linux系统 unix 电脑 软件 虚拟机 文件目录 命令模式 sudo
书籍
课程
技术群
技术干货大合集↓
  • 2023年2月 / 26篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.