• 开机启动流程


    为什么需要了解开机启动流程?

    1.掌握让某个软件开机自动运行

    2.排查服务器启动不了的故障,了解原因

    troubleshooting

    3.防止黑客植入病毒,去查询病毒的位置

    在日常的运维过程中,是否会遇到机器出现问题,启动不了

    1.自己的机房 --》自建机房 --》大量的物理机器 --》真实的服务器 --》成本高

    2.大量的云服务器 --》阿里云,腾讯云,aws,华为云等 --》成本低,性价比高

    启动流程

    img

    1.开机自检:上电自检(POST,Power On Self Test)

    自检什么东西?

    BIOS对硬件进行检测

    谁去检测?

    主板上的BIOS

    BIOS(Basic Input Output System),基本输入输出系统

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

    2.BIOS是个人电脑启动时加载的第一个软件,BIOS再对硬件进行检测

    BIOS是一个程序 CMOS芯片(也在主板中)里存放的是BIOS程序的参数

    BIOS是只读存储器,修改BIOS中的数据后会存入CMOS芯片中

    CMOS:是一个存储参数配置的芯片
    BIOS是一个程序会读取CMOS芯片里的参数,了解cpu的配置,时间的配置,启动顺序的配置等

    电脑里有哪些基本的硬件:

    主板(motherboard)、CPU、内存、磁盘、网卡、显卡、声卡、电源、鼠标、键盘、显示器等

    rom芯片:read only memory 只读存储器

    ram芯片:read random memory 随机存取存储器 (内存条)

    3.boot 引导、启动

    启动顺序:
    BIOS–》boot
    第1引导顺序:hard drive 硬盘
    第2引导顺序:cdrom 光驱 ----》安装系统
    第3引导顺序:removable device 可移动设备–》u盘,移动硬盘 --》安装系统
    第4引导顺序:Network --》从网络启动–》网络中安装服务器启动 --》安装

    台式机进入BIOS
    1.按del
    笔记本进入BIOS
    F2
    FN+F2
    F3
    F8
    F12

    4.BIOS读取硬盘中的MBR

    硬盘里有个位置0磁道0柱面1扇区–》MBR 主引导记录 mater boot record -->光明顶

    MBR就是一个扇区,占用512个字节–》安装一个启动程序

    不同盘片上的相同磁道组成一个柱面

    一个盘片可以划分出很多的磁道,一个磁道划分为63个扇区,一个扇区是512个字节

    MBR中就写了grub2引导程序

    grub是linux系统的启动程序
    grub2是grub的第2个版本

    MBR的组成

    img

    5.内核文件

    vmlinuz-3.10.0-327.el7.x86_64 是内核程序文件

    initramfs-3.10.0-327.el7.x86_64.img 给内核程序提供一个初始化的内存文件系统的镜像文件–》临时的根文件系统的镜像文件,跟文件系统提供程序和配置文件

    init 初始化

    ram 随机存取存储器

    fs 文件系统 file system

    6.启动systemd程序

    systemd是initramfs里的一个程序去启动的

    centos7/8/9里systemd是内核起来之后启动的第一个程序

    [root@lwq boot]# pstree
    systemd─┬─agetty
            ├─auditd───{auditd}
            ├─crond
            ├─dbus-daemon
            ├─firewalld───{firewalld}
            ├─irqbalance
            ├─lvmetad
            ├─master─┬─pickup
            │        └─qmgr
            ├─mysqld_safe───mysqld───18*[{mysqld}]
            ├─polkitd───6*[{polkitd}]
            ├─rsyslogd───2*[{rsyslogd}]
            ├─sshd───sshd───bash───pstree
            ├─systemd-journal
            ├─systemd-logind
            ├─systemd-udevd
            └─tuned───4*[{tuned}]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    运行级别==:runlevel==

    查看运行级别

    [root@lwq boot]# runlevel
    N 3
    
    • 1
    • 2

    N 代表最开始进入的模式,如果是N表示之前没有进行模式切换

    3 5 代表开机先进入运行级别3,后来切换到运行级别5

    centos6中runlevel:

    0 关机

    1 单用户模式

    2 多用户模式,不能使用nfs

    3 完全多用户模式 multi-user --》字符界面模式 --》非常正常的模式 默认最小化安装linux系统就是这个模式

    4 保留,没有使用

    5 图形界面 graphical

    6 重启

    init 0 关机

    init 6 重启

    init 5 进入图形界面,但是需要安装了图形界面

    init 3 进入字符界面

    /etc/inittab中写了怎么查看和设置运行级别

    [root@lwq boot]# vim /etc/inittab
    
    • 1

    查看默认的运行级别:

    [root@lwq boot]# systemctl get-default
    multi-user.target
    
    • 1
    • 2

    设置开机进入图形界面:

    [root@lwq boot]# systemctl set-default TARGET.target
    
    • 1

    7.multi-user

    /etc/rc.d/rc.local

    /etc/fstab 告诉linux系统正常启动过程中挂在哪个磁盘分区

    file system 文件系统–》磁盘里的分区–》一个分区对应一个文件系统

    8.运行/etc/rc.local文件

    在所有的multi-user中的程序运行完之后才运行/etc/rc.local

    与以前的版本相比,由于在引导期间并行执行,该脚本不会在所有其他服务之后运行。
    /etc/rc.local文件会在所有的服务都运行完成后,执行这个文件里的命令
    这个脚本是最后执行的,必须给这个文件可执行权限

    自己编写程序——》需要开机启动

    1.做成服务

    2.、etc/rc.local

    3.bash初始化的四个文件里

    9.登录

    img

  • 相关阅读:
    Python配置文件使用教程
    python基于django学生成绩管理系统o8mkp
    C语言源代码系列-管理系统之会员计费系统
    Linux下安装mysql8.0
    开箱即⽤!HashData 云数仓上线华为蓝鲸应⽤商城
    【ArcGIS】利用高程进行坡度分析:区域面/河道坡度
    【KELM分类】基于matlab鲸鱼算法优化KELM分类【含Matlab源码 2033期】
    SpringBoot整合Mybatis-Plus(含自动配置分析)
    Spring JdbcTemplate Junit 测试 - ResultSetExtractor/RowMapper
    开关控制开启和禁用Redis
  • 原文地址:https://blog.csdn.net/liwenqianye/article/details/126001560