linux之开机启动流程

大家可能会考虑这个问题,为什么要学这个开机启动流程,学了后有什么意义呢?
其实呢,学了以后还是蛮有用的,最起码在开机出现问题的时候自己可以排查错误。

开机启动流程的意义:
1.掌握让某个软件开机自动运行。
2.开机不能正常启动,是什么原因,或者那个环节出现了问题,自己可以去解决。
3.防止黑客植入木马,去查询黑客会把木马放到哪些地方?

下面先给大家一个整体的开机启动流程图,后面再逐一详解。
在这里插入图片描述

具体流程:

1.开机
首先先是开机,power on ,这一点大家应该都能理解。

2.开机自检
POST(Power On Self Test),指计算机系统,接通电源,(BIOS程序)的行为,包括对CPU、系统主板、基本内存、扩展内存、系统ROM BIOS等器件的测试。如发现错误,给操作者提示或警告。简化或加快该过程,可使系统能够快速启动。

3.BIOS
BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。

BIOS是个人电脑启动时加载的第一个软件。它是一组固化到计算机内主板上一个ROM芯片上的程序,
它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。

那什么又是CMOS呢?
CMOS是Complementary Metal Oxide Semiconductor(互补金属氧化物半导体)的缩写。
它是指制造大规模集成电路芯片用的一种技术或用这种技术制造出来的芯片,是电脑主板上的一块可读写的RAM芯片。
因为可读写的特性,所以在电脑主板上用来保存BIOS设置完电脑硬件参数后的数据,这个芯片仅仅是用来存放数据的。
其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。
系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件
简单来说CMOS是主板上用来存储我们的配置信息的地方–》相当于BIOS的存储信息得地方

4.boot启动顺序
给大家看一下BIOS里的boot的启动顺序
在这里插入图片描述
如大家所看到的,Removable Devices是可移动设备的意思,Hard Drive是硬盘的意思,CD-ROM Drive是光盘的意思,Network boot from Intel E1000 是从网络的服务器启动,从上至下优先级从高到低,怎么改优先级呢?如图上表示的一样,按+/-就可以了。首先是检查排名第1的设备,如果没有再检查第2的设备,以此类推。

5.硬盘
系统装好了后一般都是从将硬盘设置为第一优先级,硬盘有存放MBR的空间,MBR(master boot record)是主引导记录的意思,它里面有grub2程序,是一个引导程序,可以帮助启动linux系统,因为我是centos8的系统,如果是7的系统的话,应该是grub程序。

6./boot里的文件系统的驱动

[root@gushuai log]# cd /boot
[root@gushuai boot]# ls
config-4.18.0-147.el8.x86_64                             loader
efi                                                      lost+found
grub2                                                    System.map-4.18.0-147.el8.x86_64
initramfs-0-rescue-6f903f484e2c4348a83959c57d09673f.img  vmlinuz-0-rescue-6f903f484e2c4348a83959c57d09673f
initramfs-4.18.0-147.el8.x86_64.img                      vmlinuz-4.18.0-147.el8.x86_64
initramfs-4.18.0-147.el8.x86_64kdump.img

vmlinuz-4.18.0-147.el8.x86_64 真正的linux内核程序

initramfs-4.18.0-147.el8.x86_64.img --》为内核配套的文件系统,存放了很多的驱动

举个例子,
vmlinuz是皇上
initramfs:给配套的朝廷:将军、大臣、皇宫、嫔妃、公公等 --> 在内存里初始化一个文件系统,是一个临时的根目录–》相当于一个过度政府

7.内核文件的加载
如上面所说,内核文件就是vmlinuz-4.18.0-147.el8.x86_64 ,initramfs-4.18.0-147.el8.x86_64.img 这样的文件,加载完了后就进入下一个步骤。

8.systemd进程
systemd进程什么进程?
看一下进程树可以看到systemd是pid为1的进程,也是所有进程的父进程,这是centos7和8系统里的,如果你是6的系统的话,就是init进程,这是差别大家要注意。

如果你没有pstree的话,安装一下,yum install psmisc -y 输入这个命令就好了。

[root@gushuai boot]# pstree -p
systemd(1)─┬─NetworkManager(926)─┬─{
   NetworkManager}(936)
           │                     └─{
   NetworkManager}(943)
           ├─VGAuthService(922)
           ├─auditd(896)───{
   auditd}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值