图文讲解centos7/8开机启动流程

开机启动流程

在这里插入图片描述

  • 我们开机后,首先会进行开机自检,而开机自检是由BIOS程序完成的

  • BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统",它是个人电脑启动时加载的第一个软件。它是一组固化到计算机内主板上一个ROM芯片(read only memory --只读的存储器)上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS(是一个存储参数配置的芯片)中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。

  • 然后,BIOS程序会读取CMOS芯片里的参数,检测CPU、内存、磁盘等硬件是否存在,检测完成没有问题的话,会对boot启动顺序做检查,当我们装好了系统的时候,默认第一是从磁盘启动的,这样比较快。

  • 再然后会找到磁盘中的MBR(主引导记录),它在我们磁盘最开始的位置,然后启动grub2引导程序,至此,BIOS就退出了历史舞台。

  • 在这里插入图片描述

  • 然后grub2会从boot分区里面找到vmlinuz(内核程序文件)和initramfs(解压后形成初始化的文件系统)加载到内存中,至此,内核就启动起来了。

  • 然后内核会启它的第一个进程Systemd,然后会启动我们对应运行级别的服务:
    运行级别(centos6里概念)

    在centos6里有哪些运行级别? runlevel
    0 --》关机
    1 —》单用户模式 --》破密码
    2 --》多用户模式,不能使用NFS功能
    3 --》完全多用户模式 multi-user --》CLI 字符界面
    4 --》没有用
    5 --》图形界面 graphical --》GUI界面
    6 --》重启
    运行级别是centos6里面的概念,在7和8里面已经没有了,只有# multi-user.target: analogous to runlevel 3 #graphical.target: analogous to runlevel 5两种模式,但是相关的命令还可以用;
    对应级别服务:

    [root@localhost ~]systemctl enable nginx
    Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
    
    

    当我们设置某个服务开机启动的时候,实际上就是在/etc/systemd/system/multi-user.target.wants/下创建了一个链接文件,所有在该目录下的服务开机都会自动运行(默认运行级别是3)
    在这里插入图片描述

  • 再然后会执行/etc/rc.local和/etc/fstab这两个文件里面的内容,其中/etc/fstab是帮我们挂载分区,形成真正的文件系统。

  • 再然后就会启动我们的Login登陆程序,进行用户名和密码的检查,检测通过后就会执行图片中的四个文件里的内容——开机启动成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值