引导过程与服务控制06

引导过程与服务控制

一、引导过程

引导过程:当你按下开机的电源键直到屏幕显示登录的画面,这中间系统做的一些的开机过程。

在这里插入图片描述

1、开机自检(BIOS)

服务器开机之后,根据主板的bios设置,对cup 内存,显卡 键盘等等设备进行初步检测。检测成功后根据预设的启动顺序(默认的启动顺序,第二个就是硬盘,要么就是手工设置的U盘启动)系统的控制权转到了硬盘(大多数的时候转移给本机的硬盘)。

总结:初步检测硬件工作是否正常,检测成功后把系统的引导控制器交个硬盘或者光驱,或者u盘。

2、MBR引导

MBR是硬盘的分区记录表,在这个表里面记录硬盘的分区,以及系统的启动位置在哪。

系统的控制权到了硬盘,根据mbr记录表来找,系统的启动盘,找到后将系统的控制权传递给包含操作系统引导文件的分区以及MBR记录中系统的启动菜单(grub)。

3、GRUB菜单

硬盘启动之后,找到系统分区,也找到了操作系统所在的位置,grub就会显示启动菜单,包含所有当前可选的操作系统。

选择其中一个操作系统之后,系统转移控制器,转移到操作系统的内核文件。

注意:centos7之后开开始使用的都是grub2启动引导器。

4、加载内核文件

操作系统的内核文件是一个预先编译好的特殊的二进制文件(可执行的代码)介于硬件资源和系统程序之间。负责分配资源,调度资源。只是分配和调度并没有真正的运行。预加载到内存当中,系统程序等待启动。

5、init/systemd启动方式

/sbin/init进程是系统当中的第一个进程,是所有其他进程的父进程,init进程在系统中的进程号永远是1。

/lib是串行 一个一个启动,速度慢。

lib/systemd/system系统的第一个进程,他的进程号也是1。

systemd是并行,加载在内存当中的程序一起启动,速度快

6、systemd单元类型:

systemd是centos7之后用来管理系统服务进程的一个管理器。使用单元模式(unit)来描述和控制系统服务和资源。

在这里插入图片描述

特点:

1、支持并行服务,提高系统的启动速度。

2、支持自动重启。

3、可以在进程运行期间动态的控制他的资源和相关的服务参数。

4、可以自动解决服务启动过程中的依赖关系。

5、支持多种管理方式(命令行 图形化工具)主要使用命令行操作。

具体类型

单元类型拓展名描述
service.service描述一个系统进程
target.target描述一组systemd的单元。进程在不同运行级别下的状态
socket.socket进程启动时根据其配置,分配系统端口,监听端口状态。如果有请求,可以维护端口通信(提供网络服务)
device.device管理硬件设备,驱动程序,设备文件,设备属性
mount.mount管理文件系统的挂载,以及挂载的选项,以及挂载之后的数据管理
Automount.automount根据配置,自动的实现设备或者文件系统的挂载

nginx.service编译文件解析

[Unit] ##服务的说明
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/   ##Description描述信息
After=network-online.target remote-fs.target nss-lookup.target
#表示支持dns解析以及该软件依赖于网络。
##After依赖 启动的这个进程systemd会根据after的条件把相关的进程一并启动
Wants=network-online.target
#先启动网络服务,才能启动nginx
##Wants也是一个依赖,systemd也会把这个网络功能一并启动
[Service] ##服务运行的参数设置
Type=forking ##后台运行
PIDFile=/usr/local/nginx/run/nginx.pid
#注意文件位置,如果不对 启动不了
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  
## 服务启动时具体运行的命令
#注意启动文件位置
ExecReload=/bin/kill -s HUP $MAINPID ##重启的命令
ExecStop=/bin/kill -s TERM $MAINPID ##停止进程的命令
[Install] ##服务安装的相关设置,以及运行的模式
WantedBy=multi-user.target
#支持多用户模

7、系统的运行级别:

运行级别systemd对应target说明
0target关机
1rescue.target单用户模式,系统维护时使用
2multi-user.target字符模式和3一样
3multi-user.target字符模式完整的字符模式 ,可以支持多用户,在工作中我们遇到的linux系统均为3
4multi-user.target字符模式和3一样
5graphical.target图形化用户面模式(工作中没有)
6reboot.target重启

查看系统的运行级别: runlevel。

切换系统的运行级别:init +数字。

二、服务控制

如何对服务进程进行控制:重点!!!

格式:systemctl 控制类型 服务名称(进程)。

1、控制类型:

  1. start 启动
  2. stop 停止
  3. restart 重启(先关闭在开启)先stop 在start(修改服务的配置文件,必须要重启服务才能生效)
  4. reload 重新加载单元配置
  5. status 查看服务的状态

status 查看服务的状态有以下几种情况:

  1. running 正常运行
  2. dead 服务停止
  3. fail 启动失败,查找启动失败的原因exit-code 真正的启动失败
  4. Result:singnal 表明有人强制终止了改进程,不一定是报错

三、场景实验

场景一:mbr引导

mbr分区表被删了,如何恢复

1、备份mbr分区表

第一步点击虚拟机右击进入设置,按以下操作将本地光盘挂上具体操作看上一章博客

在这里插入图片描述

添加一个硬盘点击添加,点击硬盘,点击下一步,其他操作默认,完成

在这里插入图片描述

重置虚拟机,并连接xshell
在这里插入图片描述

输入lsblk查看硬盘是否添加成功

在这里插入图片描述

输入

[root@localhost ~]# fdisk /dev/sdb

操作如下图所示对sdb进行分区

在这里插入图片描述

输入lsblk查看硬盘,分区成功
在这里插入图片描述

创建文件系统

[root@localhost ~]# mkfs.xfs /dev/sdb1

在根目录下创建一个目录,并挂载

[root@localhost ~]# mkdir /backup
[root@localhost ~]# mount /dev/sdb1 /backup/
[root@localhost ~]# cd /backup/
[root@localhost backup]#dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1 #mbr分区表在第一块硬盘当中的第一个分区,大小512字节,把这个分区表从第一个硬盘当中提前出来,保存在sdb的硬盘中。实际上把mbr分区表做一个备份

2、模拟将mbr分区表删除,重启

[root@localhost backup]# dd if=/dev/zero of=/dev/sda bs=512 count=1

3、进行恢复mbr分区表

重启虚拟化在虚拟机初始化时鼠标点进虚拟机界面并按esc进入Boot Menu界面,选择3回车。

在这里插入图片描述

选择Troubleshooting 回车

在这里插入图片描述

选择第二个Rescue a Cetntos system 回车

进入急救模式
在这里插入图片描述

输入1 回车
在这里插入图片描述

继续回车
在这里插入图片描述

在根目录下创建一个目录

mkdir /backupdir

将备份的文件进行挂载

mount /dev/sdb1 /backupdir/

还原mbr分区表

cd /backupdir
ls 查询 目录下有mbr.bak文件
还原mbr分区表
dd if=/backupdir/mbr.bak of=/dev/sda

exit退出,重启,成功恢复

在这里插入图片描述

场景二:grub引导菜单故障

接着场景一的环境继续做场景二

1、grub菜单被删掉

centos7之后开开始使用的都是grub2启动引导器

grub2root@localhost opt]# cd /boot/grub2 #进入grub2目录
[root@localhost grub2]# rm -rf grub.cfg #删除grub.cfg模拟grub菜单被删掉
[root@localhost grub2]# init 6
重启

以上操作模拟grub菜单被删除

2、开始恢复

重启虚拟化在虚拟机初始化时鼠标点进虚拟机界面并按esc进入Boot Menu界面,选择3回车。
在这里插入图片描述

选择Troubleshooting 回车
在这里插入图片描述

选择第二个Rescue a Cetntos system 回车

进入急救模式
在这里插入图片描述

输入1 回车

在这里插入图片描述

继续回车

在这里插入图片描述

输入

chroot/mnt/sysimage/ #进入系统的根环境

回车

grub2-insll /dev/sda #将grub2下载到第一块硬盘

回车

grub2-mkconfig -o /boot/grub2/grub.cfg #将最开始删除的文件进行恢复

回车,退出,重启。

具体命令如下:
在这里插入图片描述

3、重启后进入虚拟机,成功恢复
在这里插入图片描述

场景三、模拟root密码忘记,恢复密码

1、关闭安全机制

进入root关闭selinux机制

[root@localhost ~]# setenforce 0 #关闭安全机制

2、开始恢复密码

重启虚拟化在虚拟机初始化时鼠标点进虚拟机界面并按esc进入Boot Menu界面,选择3回车。

在这里插入图片描述

选择Troubleshooting 回车

在这里插入图片描述

选择第二个Rescue a Cetntos system 回车

进入急救模式

在这里插入图片描述

输入1 回车

在这里插入图片描述

继续回车
在这里插入图片描述

输入

chroot/mnt/sysimage/ #进入系统的根环境

输入

passwd root

回车输入新密码,重启

具体详情如下
在这里插入图片描述

密码重置成功,输入新密码
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/663111.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

sendmail发送邮件配置详解?如何正确设置?

sendmail发送邮件如何保障安全?AokSend有何安全措施? 为了确保sendmail发送邮件的高效性和安全性,正确配置是至关重要的。本文将详细介绍sendmail发送邮件的配置步骤,并探讨如何保障sendmail发送邮件的安全性。同时,我…

cesium本地文档-天空盒-arcgis切片404-服务查询

1.vite-plugin-cesium // vite-plugin-cesium 是一个 Vite 插件,用于在 Vite 项目中轻松集成和使用 Cesium 地图引擎。它简化了在 Vite 项目中使用 Cesium 的配置和引入过程。 // 具体来说,vite-plugin-cesium 主要提供了以下功能: // 自动…

人大金仓 KingBase查询死锁,释放死锁

人大金仓(kingbase)查询数据库死锁及释放 kingbase锁表排查以及释放锁 总结下 -- 查询,可自己添加where条件 SELECT * FROM sys_stat_activity WHERE state ! idle AND wait_event_typeLock-- 结束进程 SELECT sys_terminate_backend(pid);

JAVA:Random详解

Java中的java.util.Random类用于生成伪随机数。它提供了多种方法来生成不同类型的随机数,包括整数、浮点数和布尔值。以下是对Random类及其主要方法的详细介绍 一、生成随机数 创建一个Random对象,可以使用以下两种方式: 无参构造函数&…

qemu使用简介

安装qemu git clone https://github.com/qemu/qemu.git mkdir build cd build ../configure make -j16 make install 编译内核 wget https://mirror.bjtu.edu.cn/kernel/linux/kernel/v5.x/linux-5.10.tar.xz tar -xf linux-5.10.tar.xzsudo apt-get install gcc-arm-linux-g…

利用C++与Python调用千帆免费大模型,构建个性化AI对话系统

千帆大模型已于2024年4月25日正式免费,调用这个免费的模型以实现自己的AI对话功能,遵循以下步骤: 了解千帆大模型: 千帆大模型是百度智能云推出的一个平台,提供了一系列AI能力和工具,用于快速开发和应用A…

Three.js 中的场景与相机基础

Three.js 中的场景与相机基础 一、场景(Scene) 在 Three.js 中,场景是所有 3D 对象存在和交互的容器。艾斯视觉作为行业ui设计与前端开发服务商很高兴能在这里与你共同探讨:它就像是一个虚拟的 3D 空间,我们可以在其中…

docker安装nacos单机部署

话不多说,直接进入主题 1.查看nacos镜像 docker search nacos 一般选第一个也就是starts最高的。 2.拉取nacos镜像 docker pull nacos/nacos-serverdocker pull nacos/nacos-server:1.4.1 由于我使用的项目alibabacloud版本对应的是nacos1.4.1版本的,所以我安装的是1.4.1…

Data Lakehouse:你的下一个数据仓库

作者:张友东 StarRocks TSC member/镜舟科技 CTO 数据分析是现代企业和组织决策过程中不可或缺的一部分,数据分析技术经过数十年的发展,需求场景从 BI 报表到数据探寻、实时预测、用户画像等不断丰富,技术架构经历从数据仓库、数据…

中学生学人工智能系列:如何用AI学英语

经常有读者朋友给公众号《人工智能怎么学》留言咨询如何使用人工智能学习语文、数学、英语等科目。这些都是中学教师、中学生朋友及其家长们普遍关注的问题。仅仅使用留言回复的方式,不可能对这些问题做出具体和透彻的解答,因此本公众号近期将推出中学生…

【Spring框架全系列】IOC DI案例,setter方法和构造方法注入(详解) + 思维导图

文章目录 一.概念实操Maven父子工程 二. IOC和DI入门案例【重点】1 IOC入门案例【重点】问题导入1.1 门案例思路分析1.2 实现步骤2.1 DI入门案例思路分析2.2 实现步骤2.3 实现代码2.4 图解演示 三、Bean的基础配置问题导入问题导入1 Bean是如何创建的【理解】2 实例化Bean的三种…

一年收入大几十个的副业兼职,闲鱼新玩法,新手小白可做,无门槛

在开始分享之前,我想先了解一下,大家是否曾在各大公众号上参与过各种打卡活动?比如减肥打卡、英语阅读打卡、考研考公打卡等等。如今,打卡已经成为现代人生活中不可或缺的一部分。无论是学习、健身还是工作,打卡都能有…

生成模型 | 从 VAE 到 Diffusion Model (下)

🐧大模型系列篇章 💖 多模态大模型 🔎 GroundingDINO 论文总结 💖 端到端目标检测 🔎 从DETR 到 GroundingDINO 💖 多模态大模型 👉 CLIP论文总结 💖 多模态大模型 👉 E…

【C语言】strstr函数的使用和模拟

前言 今天给大家带来一个字符串函数,strstr()的使用介绍和模拟实现。 模拟实现这个函数,可以帮助我们更深刻地理解这个函数的功能和提高解决字符串相关问题的能力,有兴趣的话就请往下看吧。 strstr函数介绍 函数功能: strstr函…

STL:string

文章目录 标准库中的string类string的构造string的赋值重载string的容量size(length)max_sizeresizereservecapacityclearemptyshink_to_fit string的元素访问operator[] 和 atfront 和 back string的迭代器 和 范围forstring的修改operatorappendpush_backassigninserterasere…

Spring OAuth2:开发者的安全盾牌!(上)

何利用Spring OAuth2构建坚不可摧的安全体系?如何使用 OAuth2 从跨域挑战到性能优化,每一个环节都为你的应用保驾护航? 文章目录 Spring OAuth2 详解1. 引言简述OAuth2协议的重要性Spring Framework对OAuth2的支持概述 2. 背景介绍2.1 OAuth2…

上位机图像处理和嵌入式模块部署(f103 mcu中的串口接口)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 在mcu开发中,mcu扮演着非常重要的角色。一方面,串口可以帮助我们对固件功能进行调试,另外一方面,串…

微信图片识别文字怎么弄?介绍三个识别方法

微信图片识别文字怎么弄?在信息爆炸的时代,我们每天都会接触到大量的图片信息,其中包含的文字内容往往是我们获取信息的重要途径。然而,手动输入图片中的文字既费时又费力,这时,一款能够准确识别微信图片中…

2024受欢迎的便签app是哪个

在繁忙的工作和生活中,便签app成为了我们不可或缺的小助手。2024年,随着人们对高效工作和生活品质的追求,选择一款功能强大且用户友好的便签app显得尤为重要。在众多选择中,敬业签以其出色的记录与提醒功能,脱颖而出&a…

MQ第②讲~保证消息可靠性

前言 上一讲我们讲了MQ实际工作中常见的应用场景,这一节讲一下消息的可靠性,如果对MQ掌握程度比较高的铁子,可以不用看,节省您宝贵的时间。 消息的大致链路 消息从投递到消费需要考虑如下几个问题 生产者的消息是否成功投递到消…