admin 管理员组

文章数量: 887021

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

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

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

troubleshooting

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

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

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

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

启动流程

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的组成

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}]

运行级别==:runlevel==

查看运行级别

[root@lwq boot]# runlevel
N 3

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

查看默认的运行级别:

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

设置开机进入图形界面:

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

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.登录

本文标签: 流程