centos7/8开机启动流程
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- centos7/8开机启动流程
- 前言
- 一、开机启动流程的意义?
- 二、centos7/8开机启动流程
- 图解
- 1、第一步肯定就是按下开机键进行**开机**(power on)
- 2、**开机自检**
- 4、启动顺序检查
- 5、MBR-->在硬盘的第1个扇区--》主引导记录--》用来启动linux系统的程序
- 6、产生centos7里的第1个进程--》systemd
- 6、启动默认的运行级别下的所有服务
- 7、
- 8、进入login界面进行登录
- 总结全过程
前言
开机启动流程的意义
开机启动的流程
一、开机启动流程的意义?
1.掌握让某个软件开机自动运行
2.开机不能正常启动,是什么原因,或者那个环节出现了问题
3.防止黑客植入木马,去查询黑客会把木马放到哪些地方?
二、centos7/8开机启动流程
图解
启动流程图解如下:
1、第一步肯定就是按下开机键进行开机(power on)
2、开机自检
- 上电自检(POST,Power On Self Test)。
指计算机系统,接通电源,(BIOS程序)的行为,包括对CPU、系统主板、基本内存、扩展内存、系统ROM
BIOS等器件的测试。如发现错误,给操作者提示或警告。简化或加快该过程,可使系统能够快速启动。 - 开机自检:谁去完成?
- 主板上的BIOS程序去完成
3、BIOS程序对硬件进行检测
- BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。
- BIOS是个人电脑启动时加载的第一个软件。
- 它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。
- rom芯片:read only memory --》只读的存储器
- ram芯片:随机存取存储器(random access
memory的缩写)–》可读可写 - CMOS:是一个存储参数配置的芯片 BIOS是一个程序会读取CMOS芯片里的参数,了解cpu的配置,时间的配置,启动顺序的配置等
- 进入BIOS程序
- 台式机器: DEL、delete
- 笔记本电脑: fn+F2 F1 F8 F10 F12
4、启动顺序检查
- boot:引导、启动
启动顺序:
BIOS–》boot
第1引导顺序:hard drive 硬盘
第2引导顺序:cdrom 光驱 ----》安装系统
第3引导顺序:removable device 可移动设备–》u盘,移动硬盘 --》安装系统
第4引导顺序:Network --》从网络启动–》网络中安装服务器启动 --》安装
5、MBR–>在硬盘的第1个扇区–》主引导记录–》用来启动linux系统的程序
BIOS -->主板里的程序(有一个指针,固定到磁盘的第1个扇区)–》disk–>MBR–>grub2
[root@centos8-zabbix 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-112c6ff62f7b4177a51497a69ae6a7c8.img vmlinuz-0-rescue-112c6ff62f7b4177a51497a69ae6a7c8
initramfs-4.18.0-147.el8.x86_64.img -->给内核程序提供一个初始化的内存文件系统的镜像文件 -->临时的根文件系统的镜像文件–>如同:宫殿、大臣、军队、妃子等
- init 初始化 initial
- ram 随机存取存储器(random access memory的缩写)
- fs file system
vmlinuz-4.18.0-147.el8.x86_64 --》内核程序文件 --》皇上
6、产生centos7里的第1个进程–》systemd
- 使用pstree -p 命令可以查看
[root@www boot]# pstree -p
systemd(1)─┬─NetworkManager(643)─┬─dhclient(717)
│ ├─{NetworkManager}(663)
│ └─{NetworkManager}(669)
├─VGAuthService(640)
├─agetty(958)
├─auditd(599)───{auditd}(600)
├─chronyd(633)
├─crond(647)
├─dbus-daemon(628)
├─lvmetad(508)
├─master(1037)─┬─pickup(1303)
│ └─qmgr(1042)
├─nginx(939)─┬─nginx(940)
│ ├─nginx(941)
│ ├─nginx(942)
│ ├─nginx(943)
│ ├─nginx(944)
│ ├─nginx(945)
│ ├─nginx(946)
│ ├─nginx(947)
│ ├─nginx(948)
│ └─nginx(949)
├─polkitd(625)─┬─{polkitd}(642)
│ ├─{polkitd}(645)
│ ├─{polkitd}(646)
│ ├─{polkitd}(650)
│ ├─{polkitd}(651)
│ └─{polkitd}(654)
├─rsyslogd(933)─┬─{rsyslogd}(951)
│ └─{rsyslogd}(955)
├─sshd(932)───sshd(1279)───bash(1281)───pstree(1350)
├─systemd-journal(481)
├─systemd-logind(627)
├─systemd-udevd(513)
├─tuned(929)─┬─{tuned}(1192)
│ ├─{tuned}(1193)
│ ├─{tuned}(1195)
│ └─{tuned}(1199)
└─vmtoolsd(641)─┬─{vmtoolsd}(656)
└─{vmtoolsd}(660)
6、启动默认的运行级别下的所有服务
1.运行级别(centos6里概念)
在centos6里有哪些运行级别? runlevel
- 0 --》关机
- 1 —》单用户模式 --》破密码
- 2 --》多用户模式,不能使用NFS功能
- 3 --》完全多用户模式 multi-user --》CLI 字符界面
- 4 --》没有用
- 5 --》图形界面 graphical --》GUI界面
- 6 --》重启
2./etc/inittab -->保留默认开机进入那个运行级别的文件–>centos6里,在centos7里已经废弃了
3. 设置默认的运行级别
[root@sanchuang zhuxiaodan]# systemctl set-default multi-user.target
[root@www multi-user.target.wants]# systemctl get-default
multi-user.target 多用户模式
4./usr/lib/systemd/system --》集中存放所有需要启动的服务的目录
5. /etc/systemd/system/multi-user.target.wants --》多用户模式开机启动的服务存放的目录
7、
- /etc/rc.local 启动的过程中,最后会运行这个脚本里的命令
- /etc/fstab 启动的过程中,会加载这个文件里知道的磁盘分区
8、进入login界面进行登录
总结全过程
- 开机—>post—>BIOS—>启动顺序—>disk—>MBR —>grub2引导程序—>/boot/vmlinuz initramfs.*.img—>systemd—>默认运行级别—>multi-user—>/etc/systemd/system/multi-user.target.wants/—>/etc/rc.local /etc/fstab —>login —>passwd+username —>运行4个环境变量的配置文件 .bashrc .bash_profile /etc/bashrc /etc/profile —>出现第1提示符
- 最后总结图解