引导过程与服务控制,理论和实验的结合体,你想知道的,我全都有 冲☞

引导过程与服务控制

前言:

系统引导是操作系统运行的开始,在用户能够正常登录到系统之前,Linux的引导过程完成了一系列的初始化任务,并加载必要的程序和命令终端,为用户登录做好准备
CentOS7版本,系统启动和服务管理都交给systemd进行管理

1.Linux操作系统引导过程:

在这里插入图片描述

1.开机自检:bios 自检 boot启动项 用来自检内存 显卡 CPU 检查出问题就不会进行下MBR引导

2.MBR引导:分区的操作系统 MBR记录分区信息 4个主分区,16字节,一共64字节 分区记录操作系统信息,引导找GRUB菜单

3.GRUB菜单记录了内核信息在 /boot里
注:双系统一定要分开装,一个装C盘,一个装D盘
1.不同的系统位于不同分区
2.先安装低版本在安装高版本(原则)

4.加载内核:内核信息加载到内存里

5.init进程初始化:会加载默认第一个进程

1.1 引导过程总览

1.开机自检
服务器主机开机以后,将根据主板BIOS中的设置对CPU(Central Processing Unit,中央处理器)、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多数会移交给本机硬盘。

2.MRR引导
当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR的设置,将系统控制权传递给包含操作系统引导文件的分区;或者直接根据MBR记录中的引导信息调用启动菜单。

3.GRUB菜单
对于Linux操作系统来说,GRUB(GRand Unified Bootloader,统一启动加载器)是使用最为广泛的多系列引导器程序。系统控制权传递给GRUB以后,将会显示启动菜单给用户选择,并根据所选项(或采用默认值)加载Linux内核文件,然后将系统控制权转交给内核。需要注意的是,CentOS 7采用的是GRUB2启动引导器。

4.加载Linux
Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。内核接过系统控制权以后,将完全掌握整个Linux操作系统的运行过程。在CentOS系统中,默认的内核文件位于“/boot/vmlinuz-3.10.0-514.e17.x86_64”。

5.init进程初始化
为了完成进一步的系统引导过程,Linux内核首先将系统中的“/sbin/init”程序加载到内存中运行(运行中的程序称为进程),init进程负责完成一系列的系统初始化过程,最后等待用户进行登录。

2.init进程:

2.1 inti进程

init进程:清除临时文件和缓存,先加载主进程再加载子进程所以会有进程树
Linux系统中的进程使用数字进行标记,每个进程的身份标记为PID。在引导Linux操作系统的过程中,“/sbin/init”是内核第一个的加载程序,由root执行,因此init进程对应的PID号总是为1。Centos 7中运行的第一个init进程是/lib/systemd/systemd

2.2 Systemd

在systemd中不同类型的systemd对象被统一称为单元,是让系统知道该如何进行操作和管理资源的主要对象,所以systemd有许多单元类型

systemd单元文件最初默认存放在/lib/systemd/system目录中,每当安装新的软件都会自动在这个目录中添加一个配置文件

systemctl 命令用于管理各种类型的systemd单元,可以使用“systemctl -t help”命令来查询

systemd支持的单元类型:
在这里插入图片描述
其中:service 所有服务都是以.Service结尾
Socket .socket 进程间通信的文件封装的都是网络协议 应用于mysql数据库
.path 环境变量
.target 目标单元
.mount 挂载文件

2.3 Init运行级别所对应的Systemd目标

init 0 是关机状态
init 1 是单用户模式 无网络单用户模式不需要密码没有IP地址,多用于系统维护,所以init 1的状态是和外界切断的
init 2 多用户模式,没有网络
init3多用户模式,有网络
init4局域网管理,微软
init3 4 都是字符界面,最小化安装就是字符界面
init 5是图形界面,提供了图形桌面操作
init 6 是重启 reort也是重启

3.修复MBR扇区故障:

3.1 故障原因

病毒 木马等造成的破坏
不正确的分区操作丶磁盘读写误操作

3.2 故障现象

找不到引导程序,启动中断
无法加载操作系统,开机后黑屏

3.3 解决思路

应提前作好备份文件
已安装光盘引导进入急救模式
从备份文件修复

4.扇区故障:

在这里插入图片描述

4.1 修复MBR扇区故障实验

实验目的:
加一块硬盘做备份用于修复MBR,模拟故障,将数据恢复处理

推荐步骤:
1.先在虚拟机中添加一块300G的硬盘做备份
在这里插入图片描述
2.将新加的300硬盘格式化
在这里插入图片描述
3.将sdb的硬盘挂载到OPT目录下,并查看是否挂载成功
在这里插入图片描述
4.备份MBR扇区数据,模拟MBR扇区故障在这里插入图片描述
5.按init 6重启后,按F2进入bios界面将光盘引导放到最上面,保存退出
在这里插入图片描述
6.选择CDROM后,在光盘引导界面选择troubleshooting,急救模式
在这里插入图片描述
7.进入troubleshooting菜单 选择Rescue a centos system有诊断工具的模式
在这里插入图片描述
8.按1 在按回车进入sh-4.2#在这里插入图片描述
9. 将备份sdb备份的文件挂到mnt下在这里插入图片描述
10.备份MBR扇区数据
在这里插入图片描述
11.重启后发现成功
在这里插入图片描述

5.修复GRUB引导故障:

5.1 故障原因

MBR中的GRUB引导程序遭到破坏
Grub.conf文件丢失丶引导配置有误

5.2 故障现象

系统引导停滞,显示 “grub>”提示符

5.3 解决思路

尝试手动输入引导命令

进入急救模式,重写或者从备份中恢复grub.conf

向MBR扇区中重建grub程序

5.4 修复过程实验

实验目的:通过修改grub菜单文件修复故障

1.进入grub2,修改grub2.cfg 模拟故障
在这里插入图片描述
2.系统显示grub出现问题
在这里插入图片描述
3.选择光盘引导
在这里插入图片描述
4.装入光盘,在光盘引导界面选择troubleshooting,选择Rescue a centos system修复工具
在这里插入图片描述
5.按1 在按会车进入sh-4.2
在这里插入图片描述
6.引导急救模式,加载系统镜像
在这里插入图片描述
7.重新加载sda分区
在这里插入图片描述
8.进入grub配置文件,查看文件是否恢复
在这里插入图片描述
9.构建grub菜单配置文件
在这里插入图片描述
10查看是否修复
在这里插入图片描述
11.退出,重启看下
在这里插入图片描述
12.再次重启按F2进入BIOS,调成图下模式
在这里插入图片描述
13.显示修复成功了
在这里插入图片描述

6.遗忘root用户密码:

6.1 故障原因

遗忘root用户的密码

6.2 故障现象

无法进行需要root权限的管理操作
若没有其他可用账号,将无法登录系统

6.3 解决思路

进入急救模式,重设密码

6.4 遗忘root用户密码修复实验

推荐步骤:
1.先选择光盘引导模式
在这里插入图片描述
2. 保存退出后进入troubleshooting菜单 选择Rescue a centos system
在这里插入图片描述
3.进入救援模式后切根chroot /mnt/sysimage/ 修改root密码为123456wasd,退出后重启
在这里插入图片描述
4.重启后按F2,选择正常引导模式引导启动
在这里插入图片描述
5.进入之后输入新设的密码发现登陆成功
在这里插入图片描述

7.Linux系统的级别:

查看运行的级别分为:
runlevel命令
在这里插入图片描述
Systemcyl工具
临时切换运行级别:
Init命令
Systemctl工具
在这里插入图片描述
系统服务控制
systemctl命令可以控制系统服务,此命令涵盖了之前版本操作系统的service命令和chkconfig 命令两者的功能
使用systemctl命令,可以省略服务单元名称的标识.service,即:不输入后缀标识,systemctl命令默认将后缀标识当做.service来处理在生产环境中输入systemctl restart 是高危命令,需要向上级汇报,所以可以使用reload加载安全
控制类型:
start:启动 stop:停止 restart:重新启动 reload:重新加载 status:查看服务状态

优化启动过程
ntsysv工具
提供一个交互式丶可视化窗口
可以在字符终端运行
便于集中管理多个服务
在这里插入图片描述

systemctl工具:
不提供交互式丶可视化窗口
管理单个服务效率更高

系统服务的启动和控制:
使用 systemctl 工具
常用的选项有三种:
enable:开机自动启动。
disable:开机自动关闭。
is-enabled:查看开机启动状态
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Cpureman/article/details/106839289
今日推荐