开机自检(bios)→MBR引导→GRUB菜单→加载内核(kernel)→init进程初始化
开机自检(bios)测量出第一个才能引导系统的设备,例如硬碟或则硬盘
MBR引导(主引导记录)mbr处在第一个磁道,占512字节,446字节作为引导,64作为分区文件,2字节未使用linux操作系统安装阵列引导盘,通过引导程序找到启动系统,首先按照硬碟第一个磁道中MBR(主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区;或则直接按照MBR记录中的引导信息调用启动菜单(如GRUB)。
总结:运行置于MBR磁道里的启动GRUB引导程序
3.GRUB菜单
对于Linux操作系统来说,GRUB(统一启动加载器)是使用最为广泛的多系统引导器程序。系统控制权传递给GRUB之后,将会显示启动菜单给用户选择linux操作系统安装阵列引导盘,并依照所选项(或采用默认值)加载Linux内核文件,之后将系统控制权转交给内核。
CentOS7采用的是GRUB2启动引导器。
总结:GRUB引导程序通过读取GRUB配置文件/boot/grub2/grub.cfg,来获取内核和镜像文件系统的设置和路径位置
4、加载Linux内核
Linux内核是一个预先编译好的特殊二补码文件,介于各类硬件资源与系统程序之间,负责资源分配与调度。内核接过系统控制权之后,将完全掌控整个Linux操作系统的运行过程。
CentOS7系统中,默认的内核文件坐落"/boot/vmlinuz-3.10.0-514.e17.x86_64"
总结:把内核和镜像文件系统加载到显存中
5、init进程初始化
为了完成进一步的系统引导过程,Linux内核首先将系统中的"/sbin/init"程序加载到显存中运行(运行中的程序称为进程),init进程负责完成整个系统的初始化redhat linux 9.0,最后等待用户进行登陆。
总结:加载硬件驱动程序,内核把init进程加载到显存中运行
init进程与Systemdinit进程
由Linux内核加载运行/sbin/init程序
init进程是系统中第一个进程,是所有进程的父进程
init进程的PID(进程标记)号永远为1
Systemd(守护进程集合)
Systemd是Linux操作系统的一种init软件
CentOS7中采用全新的Systemd启动方法,代替传统的SysVinit
CentOS7中运行的第一个init进程是/lib/systemd/systemd
传统SysVinit依赖于串行执行Shell脚本启动服务,造成效率低下,系统启动速率较慢
systemd才能将更多的服务进程并行启动,而且具有提供按需启动服务的能力,致使启动更少进程,因而提升系统启动速率。
它会按序同步多线程打开守护进程,推进系统启动
Systemd单元类型
运行级别所对应的Systemd目标
排除启动类故障修补MBR磁道故障故障缘由
病毒、木马等导致的破坏
不正确的分区操作、磁盘读写误操作
故障现象
找不到引导程序,启动中断
未能加载操作系统,开机后死机
解决思路
应提早做好备份文件
以安装光碟引导步入急救模式
故障模拟实验步骤
1.创建新硬碟,之后低格,并挂载
2.备份MBR文件(存到其他硬碟)
3.模拟破坏MBR引导区
4.重启步入急救模式
4.1见到载入画面按一次ESC步入boot菜单
4.2选择3.CD-ROMDrive光碟驱动
5.步入系统急救
6.从备份文件中恢复MBR数据
7.恢复成功
另一种方式scp远程网路修补
注:只能在同一网关内使用此方式
1.用scp命令将已备份好的mbr文件传输到另一台同网关主机
2.同意传输
3.输入另一台主机的密码后,进行发送文件
另一台主机收到文件
4.模拟破坏mbr文件
5.步入急救模式
5.1步入boot菜单选择CD-ROMDrive
5.2选择急救模式
5.3选择跳转到Shell
5.4配置IP地址(本地IP须要自动设置),并测试连通性
5.5使用scp命令将文件考入本地
5.6ddif命令替换mbr文件
5.7重启
6.成功启动
修补GRUB引导故障故障缘由故障现象解决思路故障模拟
步入急救模式,重建GRUB菜单配置文件
1.删掉grub.cfg文件以模拟故障
2.急救模式下重建grub配置文件
3.重建成功,成功登陆
遗忘root用户密码故障缘由故障现象解决思路实例
步入急救模式修改密码,最后exit退出,reboot重启(此实验使用CentOS7)
注:CentOS6:esc步入boot菜单→按a步入命令框
步入直接输入空格+S后回车,输入passwd进行更改密码
总结
1.Systemd是一款基于init进程的优化集合守护进程,它会将主要进程优先运行,并多线程运行打开,推进系统启动;
2.恢复mbr可以使用本地硬碟数据还原,也可以远程网路数据传输(scp)还原;
3.假如开机显示linux下载,
error:unknowfilesystem
grubrescue>
系统进不去,这表示你的grub2的配置文件坏了,须要修补grub2文件