引导和服务

一、Linux操作系统引导过程

1.1开机启动过程

1.开机自检(bios)

加电检测系统是否有问题

如果没有问题,根据bios设置的第一启动项(一个能够引导系统的设备),来寻找操作系统。

2.MBR(硬盘)512字节

MBR前446位是GRUB引导文件,后64位是分区,来启动完整的GRUB引导程序。

3.GRUB菜单

根据配置文件(grub.cfg)找到内核文件

4.加载内核(kernel)

加载内核,把内核放入内存中运行

5.启动程序

CentOS 7 --- systemd 并行启动后续进程,速度块

CentOS 6 --- init 一个一个启动,速度慢

1.2运行级别Systemd目标

二、排除启动类故障

2.1MBR扇区故障

2.1.1故障原因

病毒、木马的等造成的破坏

不正确的分区操作、磁盘读写误操作等

2.1.2故障现象

找不到引导程序,启动中断

无法加载操作系统,开机后黑屏

2.1.3模拟修复MBR扇区故障

用lsblk命令看能否识别新硬盘

fdisk/dev/sdb命令分区

用于故障前后对比

备份mbr扇区到其他磁盘

破坏mbr扇区,模拟mbr扇区故障

重启虚拟机

查看故障情况

将有备份的硬盘挂载到新建目录

存放备用文件信息

拷贝成功

能正常登录,mbr修复成功

2.2grub引导故障

2.2.1故障原因

MBR中的GRUB引导程序遭到破坏

grub.cfg 文件丢失、引导配置有误

2.2.2模拟修复grub配置文件

删除grub文件,重启看故障情况

由于没有grub文件,无法启动

重新启动,在读条界面按 Esc 键进入启动菜单,改用光盘启动,引导界面进入急救模式

重建grub菜单配置文件

退出引导界面,重启,观察是否修复成功

重启后观察启动状态

修复成功

2.3用户密码

2.3.1模拟修改root密码

输入新密码,修改成功

三、linux运行级别

运行级别0:系统关机状态,所有服务已停止,可以安全地关闭电源。

运行级别1:单用户模式,只有root用户可以登录,用于系统修复和维护。

运行级别2:文本模式多用户模式,登录后进入命令行界面, 功能不全的字符界面。

运行级别3:文本模式多用户模式,登录后进入命令行界面, 完整的字符界面。

运行级别4:保留,未分配特定用途,可以根据需要进行自定义。

运行级别5:图形多用户模式,登录后进入 图形界面。

运行级别6:重启

四、systemd服务

服务程序:1.本地服务程序,管理本机:systemd,init。2.网络服务程序,接待网络客户

4.1systemctl命令

systemctl start 服务名 开启服务

systemctl stop 服务名 关闭服务

systemctl status 服务名 查看状态

systemct restart 服务名 重启服务

systemctl reload 服务名 重新加载服务不影响使用

systemctl enable 服务名 开机自启

systemctl disable 服务名 关闭开机自启

systemctl enable --now 服务名 开机自启并立即启动

systemctl disable --now 服务关闭开机自启,并立即关闭

4.2实验步骤

1.编译安装

2.编写服务配置文件

3.刷新

4.开启查看状态 关闭查看状态

4.3服务配置文件

/usr/lib/systemd/system/NAME.service

三部分组成:

Unit 定义systemd单元的元数据

Service 服务的配置,只有systemd单元是服务类型时才有这一段信息

Install 定义是否是开机启动

相关推荐
Web3探索者1 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo1 天前
Linux系统中网线与USB网络共享冲突
linux
荣--1 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森2 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜2 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
Sokach10153 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
SelectDB3 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
AlfredZhao3 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3105 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode5 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏