目录

系统引导过程

01. 系统启动流程概述

系统启动总流程

第一阶段:BIOS初始化

​编辑

第二阶段 GRUB2启动引导

​编辑

第三阶段 内核引导

​编辑

第四阶段 systemd进程

02. 固件与BIOS

BIOS启动流程

BIOS分类

legacy

MBR结构图

MBR

UEFI

UEFI + GPT

03. 启动管理器bootloader

04. 内核加载

kernel

05. systemd守护进程

systemd


系统引导过程

01. 系统启动流程概述

系统启动总流程

  1. BOIS加电 开机自检

  2. 把MBR加载到内存

  3. 加载grub引导程序

  4. Kernel自身初始化

  5. 启动第一个程序systemd

第一阶段:BIOS初始化

第二阶段 GRUB2启动引导

第三阶段 内核引导

第四阶段 systemd进程

02. 固件与BIOS

  • 固件

    固件,英文名为firmware,是计算机产品最底层的软件

    早期固件芯片一般采用ROM设计,它的Firmware代码是生产过程中固化的,用任何手段都无法修改。

    随着技术的不断发展,修改固件以适应不断更新的硬件环境成了用户们的迫切要求,所以可重复写入的可编程可擦除只读存储器EPROM(Erasable Programmable ROM)和flash出现了。

  • BIOS

    Bios是Basic Input Output System的缩写,译为基本输入输出系统。

    计算机主板上的BIOS在以前就被称为固件

BIOS启动流程

  • Power on

    本阶段是对机器加电、检查有哪些硬件设备,不执行初始化

  • POST

    POST(power on self test)阶段进行硬件自检,对相应设备进行初始化

  • bootloader

    硬件自检和初始化后,会开始读取并执行MBR,再执行MBR的对应位置的BootLoader程序,进入引导加载阶段

BIOS分类

  • legacy

    legacy启动模式是当前最常用的BIOS启动模式,读取MBR引导记录表

  • uefi

    uefi全称为Unified Extensible Fireware Interface,译名为统一的可拓展固件接口,是一种新型bios。Uefi的方式也是兼容传统legacy的启动方式的。所以在uefi启动模式下可以选择legacy boot也可以选择uefi boot。

legacy

legacy启动模式采用的是MBR(Main Boot Record,译为主引导记录)分区表。系统在开机的时候会主动去读取MBR的内容,这样系统才会知道程序的位置且如何开机。我们把包含MBR引导代码的分区称为主引导分区。主引导山区一共占用512个字节,分为3个部分:

  1. 主引导程序:第一部分为主引导程序所在位置,共占用446个字节

  2. 磁盘分区表:第二个就是磁盘分区表项(Disk Patition Table,简称DPT),保存磁盘的分区情况,它由4个分区表项构成,每一个分区表项为16字节,供64字节

  3. 结束标志:第三部分就是结束标志,值为AA55(但存储时高位在前,低位在后,所以一般表示为55AA),共2个字节

MBR结构图

MBR

BIOS+MBR

MBR有两个主要的缺点:

  • 最多支持4个主分区或最多支持3个主分区+1个拓展分区

  • 每个分区最多不能超过2T的容量

UEFI

UEFI,是一种新型BIOS,使用UEFI启动模式下安装的银河麒麟操作系统,会比传统legacy启动模式多一个叫ESP(EFI系统分区)分区。ESP对UEFI启动模式很重要,UEFI的引导程序是以后缀名为.efi的文件放在ESP分区中的,ESP分区采用fat32文件系统。麒麟操作系统直接将ESP这个分区挂载到/boot/efi,直接用文件夹浏览器进去就可以看到各种efi文件了。

UEFI + GPT

uefi的分区表为GPT(GUIF Partition Table),译为"全局唯一标识磁盘分区表"

优势:

  1. GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的,那么分区数量也就没有限制

  2. GPT分区表较MBR分区表的另一个优势就是可以支持大于2T的分区

  3. GPT分区表中逻辑块地址采用64位二进制数表示,最大可以表示2^64个逻辑块地址(也就是扇区号),也就是说一个分区的容量可以达到2^64*512字节,远远超过2T的容量

03. 启动管理器bootloader

BootLoader即为启动管理器。在计算机读取MBR前面的446字节的机器码后,会将控制权交给BootLoader。BootLoader的主要功能如下:

  • 提供菜单:用户可以选择不同的启动项,这也是多重引导的重要功能

  • 加载内核文件:直接指向可启动的程序区段来开始操作系统

  • 转交其他loader:将引导装载功能转交给其他loader负责

linux下的BootLoader有grub、grub2、lilo、spfdisk

当前最新版银河麒麟操作系统使用的是grub2

04. 内核加载

kernel

kernel,内核,kernel是Linux系统最主要的程序,实际上,kernel的文件很小,只保留了最基本的模块,并以压缩的文件形式存储在硬盘中。内核文件放置在/boot目录下。

从bios及BootLoader再到kernel的流程图

05. systemd守护进程

  • 麒麟操作系统先后才用过多种启动方式

    • Sysvinit

    • upstart

    • system

  • 麒麟操作系统V10版目前采用的启动方式是systemd

systemd

  • systemd是linux系统工具,用来启动守护进程,已成为大多数发行版的标准配置

  • systemd取代了initd,成为系统第一个进程(PID=1),其他进程都是它的子进程

  • systemd并不是一个命令,而是一组命令,设计到系统管理的方方面面

  • systemd主配置目录是/etc/systemd/system

systemd执行的第一个目标是default.target。但实际上图形化系统的default.target是指向graphical.target的软链接

graphical.target内容如图:

配置文件主要字段含义如下:

  • requires:需要依赖multi-user.target

  • conflicts:冲突字段。如果rescue.target或rescue.service正在运行,multi-user.target就不能运行,反之亦然

  • after:表示graphical.target在multi-user.target....等之后启动,如果他们有启动的话

注意:target配置文件里面没有启动命令

multi-user.target内容如下:

由此可见,每个target都有一个requires选项,直到最基本的target。systemd启动流程及依赖关系。

常用target对应到sysvinit的运行级别

运行级别 runlevel 名称 描述
basic.target 启动基本系统,该target简介包含了所有的本地挂载点单元以及其他必须的系统初始化单元
default.target 默认的启动target,通常指向multi-user.target或者graphical.target
5 graphical.target 专用于启动图形化登录界面的target,其中包含了multi-user.target单元
0 halt.target 专用于关闭系统但不切断电源时启动的单元
0 poweroff.target 停止系统运行并切断电源
0 local-fs.target 专用于集合本地文件系统挂载点的target
3 multi-user.target 专用于多用户且为命令行模式下启动的单元。所有用于要在多命令行多用户模式下启动的单元,其[Install]段都应该加上WantedBy=multi-user.target指令
1 rescure.target 专用于启动基本系统并打开一个救援shell时需要启动的单元
S emergency.target 单用户模式,没有服务进程运行,文件系统也没挂载。这是一个最基本的运行级别,仅在主控制台上提供一个shell用于用户与系统交互。
local-fs-pre.target 此目标单元自动排在所有需要自动挂载的本地文件系统挂载点(带有auto挂载选项)之前,。可用于确保在挂载本地文件系统之前启动某些单元。
6 reboot.target 重启系统,专用于重启系统时需要启动的单元

挂载文件系统后,再依次运行各target,最后才会运行到default.target链接到的target(默认是graphical.target和multi-user.target),至此用户就可以通过图形或者控制端来登录系统了。

系统启动完成

《国产操作系统之银河麒麟》银河麒麟服务器操作系统引导过程相关推荐

  1. 银河麒麟V10高级服务器操作系统clickhouse数据迁移技术全网唯一

    银河麒麟V10操作系统clickhouse数据迁移技术 前言 笔者自述:笔者本人为中国软件行业国产化进程中的一份子,本人也是非常支持华为手机以及鸿蒙操作系统.本文介绍在本人在实际国产化切换过程中的一些 ...

  2. 华为服务器操作系统筹备开源社区,华为开源服务器操作系统EulerOS 开源社区年内上线...

    新浪科技讯 9月19日上午消息,在今日的华为全联接大会上,华为Cloud & AI产品与服务总裁侯金龙宣布,华为将开源服务器操作系统EulerOS,目前正与中标麒麟.用友等合作伙伴筹备开源社区 ...

  3. 聚焦 | 电力行业国产操作系统迎来大市场,麒麟信安积极承接发展新机遇

    近年来,针对信息安全的外部环境不确定性加剧,作为关系到国计民生的电力行业,加速了自主创新的步伐. 从2009年起,电力行业就开始采用拥有自主核心技术的软硬件设施,到如今,整个电力行业已普遍完成了调度自 ...

  4. 探测服务器操作系统,探测服务器操作系统工具

    探测服务器操作系统工具 内容精选 换一换 lib库获取方式不同,编译环境配置方法不同,下面分别介绍.根据Mind Studio安装服务器操作系统及架构与硬件环境是否相同,编译环境分为如下两种场景:若M ...

  5. 常用的服务器系统,常用的服务器操作系统

    常用的服务器操作系统 内容精选 换一换 云耀云服务器(Hyper Elastic Cloud Server,HECS)是可以快速搭建简单应用的新一代云服务器,具备独立.完整的操作系统和网络功能.提供快 ...

  6. 服务器操作系统与安装步骤,服务器操作系统与安装步骤

    服务器操作系统与安装步骤 内容精选 换一换 如果在创建弹性云服务器时未设置密码,或密码丢失.过期,可以参见本节操作重置密码.密码丢失或过期前,已安装密码重置插件.公共镜像创建的弹性云服务器默认已安装一 ...

  7. 服务器操作系统策略,服务器操作系统策略

    服务器操作系统策略 内容精选 换一换 Windows操作系统的云服务器由于管理员设置的策略,该磁盘处于脱机状态,提示:由于管理员设置的策略,该磁盘处于脱机状态,如图1所示.Windows操作系统SAN ...

  8. 针对服务器操作系统安全,浅谈等级保护中的服务器操作系统安全

    服务器操作系统加固 现在信息系统中服务器上运行的主流操作系统基本上都是弱访问控制,操作系统管理员一权独大,没有相关的审计措施与权限制约,不能满足等级保护安全标记保护级三级的要求.现在向大家介绍一种服务 ...

  9. 阿里云服务器操作系统有哪些?如何选择?

    阿里云服务器操作系统就是我们在购买阿里云服务器时看到的公共镜像,当前阿里云总共提供了Alibaba Cloud Linux镜像和第三方商业镜像及开源镜像合作的正版镜像两大类操作系统选择.有的新手用户看 ...

  10. 服务器系统能干嘛,服务器操作系统能干嘛

    服务器操作系统能干嘛 内容精选 换一换 Atlas 500 Pro 智能边缘服务器(型号 3000)安装上架.服务器基础参数配置.安装操作系统等操作请参见<Atlas 500 Pro 智能边缘服 ...

最新文章

  1. Android环境结构--安装Eclipse错
  2. 原创 | 人工智能的人文主义,如何让AI更有爱
  3. lopa分析_HAZOP : 保护层分析之失效使能分析导则
  4. Python 单元测试详解
  5. NSURL中fileURLWithPath和URLWithString
  6. 评测征集 | 2021全国知识图谱与语义计算大会
  7. .net 宏定义_C语言基础知识:几种特殊的函数宏封装方式
  8. Redis数据安全与性能保障——redis读书笔记4
  9. matlab中if语句中的结果返回,matlab中if 语句后面的判别式不能是算术表达式?或者说变量?...
  10. vscode设置中文及注释快捷键
  11. 华硕B85M-D台式机主板音响没反应,更新驱动还是找不到realtek高清晰音频管理器原因及解决方案
  12. [转载]使用 Abbot 框架自动化测试 Eclipse 插件的用户界面,第 2 部分
  13. 二重积分matlab算法,基于MATLAB的二重积分计算方法
  14. 微信恋爱话术表白漫画脸头像制作生成小程序源码
  15. SQL语言-更新操作命令
  16. 水管工游戏(代码附带注释)2020.10.6
  17. mysql 64 免安装_MYSQL 免安装版(windows 7/64)
  18. 汽车之家和易车该如何走下去?
  19. 鸟枪换炮,利用python3对球员做大数据降维(因子分析得分),为C罗找到合格僚机
  20. 【学习】PCF8563芯片资料和相关功能解析

热门文章

  1. 区块链共享数据架构设计
  2. 数列求和 (Java实现)
  3. 简单工厂模式的实现及优缺点
  4. C语言修仙电影,长评 是宇宙啊 评《C语言修仙》 时间:2020-02-24 22:39:01
  5. 微信小程序超长页面生成截图的一种解决方案
  6. [转载]【职场新人必看】领导谆谆寄语
  7. js设置,获取,删除属性(setAttribute, getAttribute, removeAttribute)
  8. getAttribute(),setAttribute()的方法使用以及区别。
  9. 原生js.ajax内存溢出,【JS】解决内存溢出问题
  10. 使用Openjdk8和maven时出错:java.security.InvalidAlgorithmParameterException