开机启动流程

  • Post author:
  • Post category:其他




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

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


运行级别

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

img



版权声明:本文为liwenqianye原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。