引导过程与服务控制
系统引导是操作系统运行的开始,在用户能够正常登录到系统之前,Linux的引导过程完成了一系列的初始化任务,并加载必要的程序和命令终端,为用户登录做好准备
CentOS7版本,系统启动和服务管理都交给systemd进行管理
1.开机自检:bios 自检 boot启动项 用来自检内存 显卡 CPU 检查出问题就不会进行下MBR引导
2.MBR引导:分区的操作系统 MBR记录分区信息 4个主分区,16字节,一共64字节 分区记录操作系统信息,引导找GRUB菜单
3.GRUB菜单记录了内核信息在 /boot里
注:双系统一定要分开装,一个装C盘,一个装D盘
4.加载内核:内核信息加载到内存里
5.init进程初始化:会加载默认第一个进程
init进程:清除临时文件和缓存,先加载主进程再加载子进程所以会有进程树
Linux系统中的进程使用数字进行标记,每个进程的身份标记为PID。在引导Linux操作系统的过程中,“/sbin/init”是内核第一个的加载程序,由root执行,因此init进程对应的PID号总是为1。Centos 7中运行的第一个init进程是/lib/systemd/systemd
在systemd中不同类型的systemd对象被统一称为单元,是让系统知道该如何进行操作和管理资源的主要对象,所以systemd有许多单元类型
systemd单元文件最初默认存放在/lib/systemd/system目录中,每当安装新的软件都会自动在这个目录中添加一个配置文件
systemctl 命令用于管理各种类型的systemd单元,可以使用“systemctl -t help”命令来查询
systemd支持的单元类型:
其中:service 所有服务都是以.Service结尾
Socket .socket 进程间通信的文件封装的都是网络协议 应用于mysql数据库
.path 环境变量
.target 目标单元
.mount 挂载文件
init 0 是关机状态
init 1 是单用户模式 无网络单用户模式不需要密码没有IP地址,多用于系统维护,所以init 1的状态是和外界切断的
init 2 多用户模式,没有网络
init3多用户模式,有网络
init4局域网管理,微软
init3 4 都是字符界面,最小化安装就是字符界面
init 5是图形界面,提供了图形桌面操作
init 6 是重启 reort也是重启
病毒 木马等造成的破坏
不正确的分区操作丶磁盘读写误操作
找不到引导程序,启动中断
无法加载操作系统,开机后黑屏
应提前作好备份文件
已安装光盘引导进入急救模式
从备份文件修复
实验目的:
加一块硬盘做备份用于修复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.重启后发现成功
MBR中的GRUB引导程序遭到破坏
Grub.conf文件丢失丶引导配置有误
系统引导停滞,显示 “grub>”提示符
尝试手动输入引导命令
进入急救模式,重写或者从备份中恢复grub.conf
实验目的:通过修改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.显示修复成功了
遗忘root用户的密码
无法进行需要root权限的管理操作
若没有其他可用账号,将无法登录系统
推荐步骤:
1.先选择光盘引导模式
2. 保存退出后进入troubleshooting菜单 选择Rescue a centos system
3.进入救援模式后切根chroot /mnt/sysimage/ 修改root密码为123456wasd,退出后重启
4.重启后按F2,选择正常引导模式引导启动
5.进入之后输入新设的密码发现登陆成功
查看运行的级别分为:
runlevel命令
Systemcyl工具
临时切换运行级别:
Init命令
Systemctl工具
系统服务控制
系统服务控制
systemctl命令可以控制系统服务,此命令涵盖了之前版本操作系统的service命令和chkconfig 命令两者的功能
使用systemctl命令,可以省略服务单元名称的标识.service,即:不输入后缀标识,systemctl命令默认将后缀标识当做.service来处理在生产环境中输入systemctl restart 是高危命令,需要向上级汇报,所以可以使用reload加载安全
优化启动过程
ntsysv工具
提供一个交互式丶可视化窗口
可以在字符终端运行
便于集中管理多个服务
systemctl工具:
不提供交互式丶可视化窗口
管理单个服务效率更高
系统服务的启动和控制
使用 systemctl 工具
常用的选项有三种:
enable:开机自动启动。
disable:开机自动关闭。
is-enabled:查看开机启动状态