引导过程和服务控制
一、linux操作系统的引导过程:
1.过程:
(1)开机自检bios:CPU,内存,显卡,键盘等设备进行初步检测,成功后,根据设的启动顺序把系统控制权交给硬盘,检测出第一个能引导系统的设备,要么是硬盘,要么是光驱。
(2)MBR引导:本机硬盘启动系统,从第一个硬盘的扇区中的MBR主引导的设置,系统控制前的–包含操作系统引导文件的分区,或直接根据MBR记录中的引导信息调用启动菜单(grub)。
(3)GRUB:多系统引导程序,将显示启动的菜单给用户选择。centos7默认是grub2引导程序。/boot/grub2/grub.cfg 控制权转交给内核。
(4)加载内核:内核文件/boot编译好的一个特殊二进制文件,介于硬件资源和系统程序之间。总结就是把内核和相关的系统镜像文件加载到内存中。
(5)init进程初始化:linux系统内核中的/sbin/init程序加载到内存中。总结就是加载硬件驱动,检测进入操作系统必须有的程序,加载到内存中运行。
2.查看所有进程:ps -elf
二、systemd:
1.定义:
用于管理linux系统服务和进程的系统和服务管理器,使用单元(unit)来描述和控制系统服务和资源。
2.单元:
(1)Service 单元(.service):用于启动和管理一个系统服务,如 SSH、MySQL 等。可以指定服务的启动命令、依赖关系、日志记录等参数。
(2)Target 单元(.target):是一组服务的集合,可以用于描述系统在不同运行级别下的状态。例如,multi-user.target 描述了系统在多用户模式下运行的状态。
(3)Timer 单元(.timer):用于在指定的时间间隔或时间点触发一个事件,可以用于定时启动或停止服务、备份数据等任务。
(4)Device 单元(.device):用于管理硬件设备,可以指定设备文件、驱动程序、设备属性等。
3.服务说明:
(1)Description:描述服务
(2)After:依赖,当依赖的服务启动之后再启动自定义的服务,大多数应用程序需要与网络进行通信才能正常工作。
(3)network.target:系统目标在系统启动时负责启动网络相关的服务和程序。
4.systemctl服务控制命令:
5.运行级别:
(1)查看运行级别:
(2)运行级别:
(3)相关命令:
① 查询系统的默认运行级别:get-default
② 修改运行级别:set-default (完整运行级别名称)
- 注:切换运行级别要重启后才能生效。
三、实操:
1.通过急救模式恢复被删掉的MBR主引导记录:
(1)分区:
(2)格式化:
(3)挂载:
(4)备份:
(5)模拟故障:
(6)恢复:
2.grub引导分区失效:
(1)删除grub:
(2)恢复:
- 注:进入急救模式前要先挂载光盘镜像。
(3)重构grub:
3.修改root密码:
(1)关闭安全机制:
(2)进入急救模式修改:
(3)重设密码: