一.Linux操作系统的引导过程
系统引导是操作系统运行的开始,在用户能够正常登录到系统之前,Linux操作系统的引导过程将完成一系列的初始化任务,并加载必要的程序和命令终端,为用户登录做好准备。
一.引导过程总览
BIOS:基本输入输出系统 CMOS:金属半导体氧化物只读存储器
1.开机自检
服务器开机之后,根据主板的BIOS设置,对cpu,内存,显卡,键盘等等(无涉及硬盘)设备进行初步的检测。检测成功后,根据预设的启动顺序(默认的启动顺序,第二个就是硬盘,要么手工设置的U盘启动。)系统的控制权从BIOS转移到硬盘(大多数时候转移给本机硬盘)。
总结:检测出第一个能够引导系统的设备,比如硬盘或者光驱
2.MBR引导(主引导记录)
MBR是硬盘的分区记录表,在这个表里记录硬盘的分区,以及系统启动盘的位置。系统的控制权到了硬盘,根据MBR记录表找系统启动盘,找到之后将系统的控制权传递给包含操作系统引导文件的分区,以及MBR记录中系统的启动菜单(grub)。
总结:运行放在MBR扇区里的启动GRUB引导程序
(一个扇区0磁道0扇区,512字节)
1:bootloader:446字节(1-446)
2:DPT(硬盘分区表):64字节(447-510),每16个字节负责保存一个分区的信息
3.扇区的结束标识(55aa):2个字节(511-512)
3.GRUB菜单
对于Linux操作系统来说,GRUB (统一启动加载器)是使用最为广泛的多系统引导器程序。系统控制权传递给GRUB以后,将会显示启动菜单给用户选择,并根据所选项(或采用默认值)加载Linux内核文件,然后将系统控制权转交给内核。CentOS 7采用的是GRUB2启动引导器。
总结:GRUB引导程序通过读取GRUB配置文件/boot/grub2/grub.cfg,来获取内核和镜像文件系统的设置和路径位置。
4.加载Linux内核
Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。内核接过系统控制权以后,将完全掌控整个Linux操作系统的运行过程。CentOS 7系统中,默认的内核文件位于"/boot/vmlinuz-3.10.0-514.e17.x86_64"
总结:把内核和镜像文件系统加载到内存中。
内核负责:内存管理,硬件管理,用户管理和进程管理等。
5.init进程初始化(初始化进程)
为了完成进一步的系统引导过程,Linux内核首先将系统中的"/sbin/init"程序加载到内存中运行(运行中的程序称为进程),init进程负责完成整个系统的初始化,最后等待用户进行登录。
总结:加载硬件驱动程序,内核把init进程加载到内存中运行
总过程详述:
加电后bios程序会自检硬件,硬件无故障后,会根据第一启动项去找内核,一般来说第一启动项是硬盘,找到硬盘后,会根据mbr 的指引找到完整的 grub 程序,再根据rub的配置文件找到内核文件的具体位置,然后将内核文件加载到内存中运行,内存加载好后会启动第一个程序。
init初始化进程是所有进程的副进程。
二.系统初始化进程及文件
相关命令:
start:开启
stop:停止
restart; 重启
enable:开机自启
disenable:开机不自启
1.init 进程
(串行启动)以文件的优先级一一启动
2.Systemd概述
(并行启动)多个文件一同启动
Service
|
.service
|
描述一个系统服务
|
Socket
|
.socket
|
描述一个进程间通信的套接字
|
Device
|
.device
|
描述一个内核识别的设备文件
|
Mount
|
.mount
|
描述一个文件系统的挂载点
|
Automount
|
.automount
|
描述一个文件系统的自动挂载点
|
Swap
|
.swap
|
描述一个内存交换设备或交换文件
|
Path
|
.path
|
描述一个文件系统中文件或目录
|
Timer
|
.timer
|
描述一个定时器(用于实现类似
cron
的调度任务)
|
Snapshot
|
.snapshot
|
用于保存一个
systemd
的状态
|
Scope
|
.scope
|
使用
systemd
的总线接口以编程的方式创建外部进程
|
Slice
|
.slice
|
描述居于
Cgroup
的一组通过层次组织的管理系统进程
|
Target
|
target
|
描述一组
systemd
的单元
|
Systemd 的目标与 SysVinit 的运行级别(一种功能的体现)
多用户模式:可以允许多个用户登录系统
运行级别的切换命令格式:init + 运行级别号(0-6)
0 |
target
|
关机状态,使用该级别时将会关闭主机,halt(中断系统)
|
1 |
rescue.target
|
单用户模式,不需要密码验证即可登录系统,多用于系统维护,救援模式
|
2 |
multi-user.target
|
用户定义
/
域特定运行级别。默认等同于
3
|
3 |
multi-user.target
|
字符界面的完整多用户模式,大多数服务器主机运行在此级别
|
4 |
multi-user.target
|
用户定义
/
域特定运行级别。默认等同于
3
|
5 |
graphical.target
|
图形界面的多用户模式,提供了图形桌面操作环境
|
6 |
reboot.target
|
重新启动,使用该级别时将会重启主机
|
二.排除系统启动类障碍
一.MBR扇区故障(模拟引导程序(分区表)损坏修复)
1.备份MBR扇区数据
![](https://img-blog.csdnimg.cn/direct/0d66b8c0e63e427285a39ff5e1c27254.png)
![](https://img-blog.csdnimg.cn/direct/fc9387e793164b41bb0f7a5af6c018bd.png)
2.模拟MBR扇区故障
![](https://img-blog.csdnimg.cn/direct/5749202ab3d04588b2b913834a08195f.png)
3.从备份文件中恢复MBR扇区数据
![](https://img-blog.csdnimg.cn/direct/a54f7a341cea479e8d38dbd8793b8b07.png)
![](https://img-blog.csdnimg.cn/direct/bcd35b2cc10b465e94cc58162e36c011.png)
![](https://img-blog.csdnimg.cn/direct/bf9e0be565b8486aba62fc8fb3ce5838.png)
![](https://img-blog.csdnimg.cn/direct/67249e059b3446d49a31685b71175985.png)
![](https://img-blog.csdnimg.cn/direct/d9cdfa1f3ccc441cb62869c9d1288099.png)
二.GRUB引导故障
![](https://img-blog.csdnimg.cn/direct/ddd8056ba52c4fe19ca5568d8f57e623.png)
![](https://img-blog.csdnimg.cn/direct/414eb58f92b94f42841303daab66e335.png)
![](https://img-blog.csdnimg.cn/direct/33f006520dfb4a0bb070ce03080676c6.png)
![](https://img-blog.csdnimg.cn/direct/620e877eae19406f852b630de799a9d1.png)
![](https://img-blog.csdnimg.cn/direct/a7e24a5c1cb24b3cb4e61700b27dfae8.png)
![](https://img-blog.csdnimg.cn/direct/9b4cb1ad7c8044f7a638d9976f4ad00d.png)
![](https://img-blog.csdnimg.cn/direct/d9efe805ea08436e8c9e1740ab5c95a3.png)
三.遗忘root用户的密码
![](https://img-blog.csdnimg.cn/direct/8a91af56987545708b2a0747115b1a69.png)
三.服务控制及优化启动过程
1.系统服务控制
![](https://img-blog.csdnimg.cn/direct/8133dec9f94944df93ecae532508b267.png)
![](https://img-blog.csdnimg.cn/direct/f1990e90bdaa436abd6f125696c14ce0.png)
![](https://img-blog.csdnimg.cn/direct/dada7669365344e2b142a947464ad030.png)
![](https://img-blog.csdnimg.cn/direct/9130b80c05af4ca2bce903c8f179408f.png)
![](https://img-blog.csdnimg.cn/direct/86b1eba712624207bb1d4e6aac3728b2.png)
二.切换运行级别
1.查看系统的target
![](https://img-blog.csdnimg.cn/direct/6e1e1f88a29249dfba999a769ad4a93d.png)
![](https://img-blog.csdnimg.cn/direct/965c1395926c430a824627626eee5705.png)
![](https://img-blog.csdnimg.cn/direct/e27cd195e2924b129721c3e241faa594.png)
2.切换系统的target
![](https://img-blog.csdnimg.cn/direct/af0eca689f7a4ed2b61cc0cd0d8faeda.png)
![](https://img-blog.csdnimg.cn/direct/bb36210bc9fc4f9e9c91581c79334bd9.png)
![](https://img-blog.csdnimg.cn/direct/bfe6e39f027f456aa4c1565efb99499f.png)
![](https://img-blog.csdnimg.cn/direct/97a1bb2b3792461992bec57b5023b292.png)
![](https://img-blog.csdnimg.cn/direct/c4f845dfd3034919a2c232588b569d9d.png)
3.优化启动过程
![](https://img-blog.csdnimg.cn/direct/5fec18e489e94b7fae72155b34778ff1.png)
(2)优化开机自动加载的服务
![](https://img-blog.csdnimg.cn/direct/d102f6a02eb241a9b5bdb29845616878.png)
![](https://img-blog.csdnimg.cn/direct/2afbdbd82e6a4e6fa19a4b91160f5eb1.png)
![](https://img-blog.csdnimg.cn/direct/a79b7fe9788e4506a7cbf4bb7c252355.png)
![](https://img-blog.csdnimg.cn/direct/0a2082b59f4643c6b05838968057398c.png)