当前位置: 首页 > news >正文

Linux系统引导与服务管理

目录

一、Linux引导过程

1、引导过程概述

 1.1、BIOS开机自检

1.2、MBR读取

1.3、加载引导加载程序(GRUB)

1.4、内核加载

1.5、初始化进程(init)

二、服务

2.1、服务类型

2.2、服务管理工具

三、运行级别

四、systemd

4.1、systemd主要功能

 4.2、systemd单元类型

4.3、systemctl命令

五、系统引导故障排除

5.1、修复MBR分区

5.1.1、备份MBR引导扇区到其他磁盘

 5.1.2、模拟mbr故障

5.1.3、重启进入急救模式,进行备份恢复操作

5.2、修复GRUB分区

5.2.1、模拟GRUB故障

5.2.2、进入急救模式

5.2.3、重新安装grub配置文件

5.3重置用户密码

5.3.1重启并执行内核参数

5.3.2、重置密码


一、Linux引导过程

1、引导过程概述

 1.1、BIOS开机自检
  • 按下开机键后,BIOS进行硬件自检,检查硬件是否正常。
  • 加载硬盘的MBR(主引导记录)。
1.2、MBR读取
  • MBR存储在硬盘的第一个扇区(0扇区),包含引导程序(GRUB)和分区表。BIOS将控制权交给MBR中的引导程序(GRUB)。
1.3、加载引导加载程序(GRUB)
  • GRUB通过读取配置文件/boot/grub2/grub.cfg,获取内核和镜像文件系统的设置与路径位置。
1.4、内核加载
  • GRUB加载并启动操作系统的内核(Linux kernel)。内核是操作系统的核心,负责硬件管理、进程调度、文件系统管理等。
  • 内核被加载到内存中并开始初始化系统。
1.5、初始化进程(init)
  • 加载硬件驱动程序,内核将init进程加载到内存中运行
  • 内核启动第一个用户空间进程init(PID=1),它负责启动和管理所有的系统服务和守护进程。

二、服务

服务(Service)是指后台运行的程序或进程,服务通常在系统启动时自动启动并运行,负责提供特定的功能或服务。

2.1、服务类型
  • 系统服务:系统启动时启动,负责提供基础的系统功能,如网络、日志记录、硬件管理等。
  • 应用服务:提供特定的应用功能,通常由应用程序启动和停止。如nginx、mysql等。
  • 守护进程:后台运行的服务,不需要用户干预。通常在系统启动时启动,并持续运行直到系统关闭。如httpd、ntpd等。
  • 网络服务:提供网络相关的功能。如dnsmasq、apache等。
2.2、服务管理工具
  • init:Unix与Linux系统中传统的服务管理器,依赖于串行执行脚本来管理服务,导致效率低下,系统启动速度较慢。
  • systemd:现代Linux系统中最常用的服务管理工具,它负责启动、停止和管理服务,并通过systemctl命令于服务进行交互。它能够将更多的服务进程并行启动,可按需启动服务,使得启动更少进程,从而提高系统启动速度。

三、运行级别

Linux系统中,运行级别(Runlevel)是指在系统启动过程中进入的不同状态。每个运行级别代表系统的不同工作状态,决定了哪些服务和进程会被启动。

init 0 (关机)关闭所有服务并关机
init 1 (单用户模式)用于修复文件系统、恢复丢失的密码或修复系统问题,仅限root用户登录,不启动网络服务
init 3 (多用户模式)多用户模式,命令行界面的服务器,支持网络服务
init 5 (多用户模式)支持图形界面的多用户模式
init 6 (重启)执行完整的关机过程,然后重新启动

四、systemd

 systemd是现代Linux系统中的初始化系统和系统管理守护进程,取代了传统的SysVinit和Upstart系统。它负责启动系统服务的同时,还管理系统的启动过程、进度调度、日志记录、设备管理等任务。

4.1、systemd主要功能
  • 并行启动::并行启动系统服务,大幅提高系统启动速度。
  • 服务管理:通过单独的服务单位(unit)管理服务和进程,可以启动、停止、重启、查询服务状态。
  • 日志管理:包含journald日志系统,集成日志收集、查看和分析,简化了日志管理。所有系统日志、服务日志可通过journalctl工具查看。
  • 目标(Target):通过目标代替传统的运行级别。
  • 依赖关系管理:支持服务之间的依赖关系,确保服务按正确的顺序启动和关闭。
  • 并发和资源控制:通过资源控制和调度器,优化系统资源的使用,提供更高效的服务管理。
 4.2、systemd单元类型

systemd使用单元(unit)来表示管理的不同资源。每个单元都有一个配置文件,定义了该单元的属性和行为,常见的单元类型包括

  • service:管理服务进程,例如 Web 服务器、数据库等。
  • target:表示运行级别或目标状态。例如multi-user.target表示多用户模式,graphical.target表示图形界面模式。
  • socket:管理套接字(Socket)服务,通常用于延迟启动服务。
  • mount:管理挂载点,定义系统如何挂载文件系统。
  • timer:用于管理定时任务,类似于cron。
  • device:管理设备,表示系统中可用的设备。
4.3、systemctl命令

system control的缩写,功能是管理系统服务。

语法格式:systemctl 参数 动作 服务名

start启动服务disable取消服务开机自启
stop

停止服务

status查看服务状态
restart重启服务list显示所有已启动服务
enable设置服务开机自启

参考示例:

[root@localhost ~]# systemctl start sshd
[root@localhost ~]# systemctl status sshd
● sshd.service - OpenSSH server daemonLoaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)Active: active (running) since 一 2025-02-10 22:34:33 CST; 49min agoDocs: man:sshd(8)man:sshd_config(5)Main PID: 1167 (sshd)Tasks: 1CGroup: /system.slice/sshd.service└─1167 /usr/sbin/sshd -D2月 10 22:34:32 localhost.localdomain systemd[1]: Starting OpenSSH server daemon...
2月 10 22:34:33 localhost.localdomain sshd[1167]: Server listening on 0.0.0.0 port 22.
2月 10 22:34:33 localhost.localdomain sshd[1167]: Server listening on :: port 22.
2月 10 22:34:33 localhost.localdomain systemd[1]: Started OpenSSH server daemon.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# systemctl restart sshd
[root@localhost ~]# systemctl stop sshd
[root@localhost ~]# systemctl status sshd
● sshd.service - OpenSSH server daemonLoaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)Active: inactive (dead) since 一 2025-02-10 23:24:54 CST; 3s agoDocs: man:sshd(8)man:sshd_config(5)Process: 3335 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=0/SUCCESS)Main PID: 3335 (code=exited, status=0/SUCCESS)2月 10 23:24:43 localhost.localdomain systemd[1]: Stopped OpenSSH server daemon.
2月 10 23:24:43 localhost.localdomain systemd[1]: Starting OpenSSH server daemon...
2月 10 23:24:43 localhost.localdomain sshd[3335]: Server listening on 0.0.0.0 port 22.
2月 10 23:24:43 localhost.localdomain sshd[3335]: Server listening on :: port 22.
2月 10 23:24:43 localhost.localdomain systemd[1]: Started OpenSSH server daemon.
2月 10 23:24:54 localhost.localdomain systemd[1]: Stopping OpenSSH server daemon...
2月 10 23:24:54 localhost.localdomain systemd[1]: Stopped OpenSSH server daemon.
Hint: Some lines were ellipsized, use -l to show in full.

五、系统引导故障排除

5.1、修复MBR分区
5.1.1、备份MBR引导扇区到其他磁盘
[root@localhost ~]# mount /dev/sdb1 /mnt                //挂载备份用硬盘
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   14G  0 part ├─centos-root 253:0    0   10G  0 lvm  /└─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
└─sdb1            8:17   0   20G  0 part /mnt            //挂载成功
sr0              11:0    1  4.4G  0 rom  /run/media/root/CentOS 7 x86_64
[root@localhost ~]# dd if=/dev/sda of=/mnt/mbr.bak count=1 bs=512    //备份mbr
记录了1+0 的读入   //    输入         输出            块个数   块大小
记录了1+0 的写出
512字节(512 B)已复制,0.000218308 秒,2.3 MB/秒
[root@localhost ~]# ls /mnt
mbr.bak
 5.1.2、模拟mbr故障
[root@localhost ~]# dd if=/dev/zero of=/dev/sda count=1 bs=512    //用0覆盖mbr扇区数据
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000164001 秒,3.1 MB/秒
[root@localhost ~]# hexdump -C -n512 /dev/sda            //破坏mbr扇区完成
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200
[root@localhost ~]#reboot        //重启
5.1.3、重启进入急救模式,进行备份恢复操作

5.2、修复GRUB分区
5.2.1、模拟GRUB故障
[root@localhost ~]# ls /boot/grub2/
device.map  fonts  grub.cfg  grubenv  i386-pc  locale
[root@localhost ~]# rm -rf /boot/grub2/grub.cfg        //删除grub配置文件
[root@localhost ~]# ls /boot/grub2/
device.map  fonts  grubenv  i386-pc  locale
[root@localhost ~]# reboot                             //重启

 

5.2.2、进入急救模式

5.2.3、重新安装grub配置文件

5.3重置用户密码
5.3.1重启并执行内核参数

5.3.2、重置密码

相关文章:

Linux系统引导与服务管理

目录 一、Linux引导过程 1、引导过程概述 1.1、BIOS开机自检 1.2、MBR读取 1.3、加载引导加载程序(GRUB) 1.4、内核加载 1.5、初始化进程(init) 二、服务 2.1、服务类型 2.2、服务管理工具 三、运行级别 四、systemd …...

网络工程师 (30)以太网技术

一、起源与发展 以太网技术起源于20世纪70年代,最初由Xerox公司的帕洛阿尔托研究中心(PARC)开发。最初的以太网采用同轴电缆作为传输介质,数据传输速率为2.94Mbps(后发展为10Mbps),主要用于解决…...

react项目引入tailwindcss不生效解决方案

根据tailwindcss官网的操作步骤下来,样式未生效,且未报错,看了挺多的资料,还是并未解决。 后面在另一个项目尝试时,报了下面的问题: Error: PostCSS plugin tailwindcss requires PostCSS 8 根据这个链接…...

【C#】条件运算符

1.逻辑与(&&) Console.WriteLine(true && true);//true Console.WriteLine(true && false);//false Console.WriteLine(false && false);//false2.逻辑或(||) Console.WriteLine(true || true);//true Console.WriteLine(true || false);//t…...

Windows11+PyCharm利用MMSegmentation训练自己的数据集保姆级教程

系统版本:Windows 11 依赖环境:Anaconda3 运行软件:PyCharm 一.环境配置 通过Anaconda Prompt(anaconda)打开终端创建一个虚拟环境 conda create --name mmseg python3.93.激活虚拟环境 conda activate mmseg 4.安装pytorch和cuda tor…...

WPS计算机二级•文档的文本样式与编号

听说这是目录哦 标题级别❤️新建文本样式 快速套用格式🩷设置标题样式 自定义设置多级编号🧡使用自动编号💛取消自动编号💚设置 页面边框💙添加水印🩵排版技巧怎么分栏💜添加空白下划线&#x…...

Word中Ctrl+V粘贴报错问题

Word中CtrlV粘贴时显示“文件未找到:MathPage.WLL”的问题 Word的功能栏中有MathType,但无法使用,显示灰色。 解决方法如下: 首先找到MathType安装目录下MathPage.wll文件以及MathType Commands 2016.dotm文件,分别复…...

python-leetcode 24.回文链表

题目: 给定单链表的头节点head,判断该链表是否为回文链表,如果是,返回True,否则,返回False 输入:head[1,2,2,1] 输出:true 方法一:将值复制到数组中后用双指针法 有两种常用的列表实现&#…...

数据治理双证通关经验分享 | CDGA/CDGP备考全指南

历经1个月多的系统准备,本人于2024年顺利通过DAMA China的CDGA(数据治理工程师)和CDGP(数据治理专家)双认证。现将备考经验与资源体系化整理,助力从业者高效通关。 🌟 认证价值与政策背景 根据…...

3.4 学习UVM中的uvm_monitor类分为几步?

文章目录 前言1. 定义2. 核心功能3. 适用场景4. 使用方法5. 完整代码示例5.1 事务类定义5.2 Monitor 类定义5.3 Scoreboard 类定义5.4 测试平台 6. 代码说明7. 总结 前言 以下是关于 UVM 中 uvm_monitor 的详细解释、核心功能、适用场景、使用方法以及一个完整的代码示例&…...

Java在大数据处理中的应用:从MapReduce到Spark

Java在大数据处理中的应用:从MapReduce到Spark 大数据时代的到来让数据的存储、处理和分析变得前所未有的重要。随着数据量的剧增,传统的单机计算方式已经无法满足处理需求。为了解决这个问题,许多分布式计算框架应运而生,其中Ma…...

日常吐槽。

一、写在前面 stereopy日常出bug(github issue里得有一半的问题是我提的,当然也有可能是因为我菜),stereopy自己生成的anndata自己不能计算空间共现关系,还是靠squidpy才能计算。另外还要一些函数一开并行计算就报错,这里留一些s…...

2025最新版Node.js下载安装~保姆级教程

1. node中文官网地址:http://nodejs.cn/download/ 2.打开node官网下载压缩包: 根据操作系统不同选择不同版本(win7系统建议安装v12.x) 我这里选择最新版win 64位 3.安装node ①点击对话框中的“Next”,勾选同意后点…...

机器学习:学习记录(二)

1. 机器学习中的常用函数 logistic函数(sigmoid函数):非线性激活函数,将R区间映射到(0,1)区间 ReLU函数:非线性激活函数,简单可以写作max(0,x),在0处不可导,但是可以人为定义其导数…...

迁移学习 Transfer Learning

迁移学习(Transfer Learning)是什么? 迁移学习是一种机器学习方法,它的核心思想是利用已有模型的知识来帮助新的任务或数据集进行学习,从而减少训练数据的需求、加快训练速度,并提升模型性能。 &#x1f…...

实现:多活的基础中间件

APIRouter : 路由分发服务 API Router 是一个 HTTP 反向代理和负载均衡器,部署在公有云中作为 HTTP API 流量的入口,它能识别 出流量的归属 shard ,并根据 shard 将流量转发到对应的 ezone 。 API Router 支持多种路由键&am…...

Mybatis源码01 - 总体框架设计

Mybatis总体框架设计 文章目录 Mybatis总体框架设计一:MyBatis架构概览1:接口层1.1:使用传统的MyBatis提供的API1.2:使用Mapper接口 2:数据处理层【核心】2.1:参数映射和动态SQL语句生成2.2:SQL…...

在大型语言模型(LLM)框架内Transformer架构与混合专家(MoE)策略的概念整合

文章目录 传统的神经网络框架存在的问题一. Transformer架构综述1.1 transformer的输入1.1.1 词向量1.1.2 位置编码(Positional Encoding)1.1.3 编码器与解码器结构1.1.4 多头自注意力机制 二.Transformer分步详解2.1 传统词向量存在的问题2.2 详解编解码…...

Selenium WebDriver自动化测试(扩展篇)--Jenkins持续集成

文章目录 一、引言二、Jenkins简介三、安装部署Jenkins安装部署 四、集成Git与Maven安装必要的插件配置Git配置Maven 五、创建Job创建自由风格的项目配置源码管理配置构建触发器配置构建环境配置构建步骤配置Post-build Actions 六、触发构建示例:GitHub Webhook触发…...

Wiki文档转换为Word技术

一、技术背景与目标 Wiki系统导出的文档通常以HTML格式存在,且内容分散在多个文件中,每个页面对应一个HTML文件。然而,Microsoft Word(Word)在处理HTML文件时,仅支持单个HTML文件的导入。因此,为了将Wiki导出的内容转换为Word可识别的格式,必须将分散的HTML文件整合为一…...

从Transformer到RAG:LLM实战开发全链路指南与工程实践

1. 项目概述:一本面向开发者的LLM实战开发指南最近几年,大语言模型(LLM)的发展速度让人目不暇接。从最初的GPT-3到如今遍地开花的开源模型,从只能处理文本到能“看懂”图像、生成代码,LLM正在重塑我们构建软…...

Claude代码技能库:AI编程辅助的范式转变与工程实践

1. 项目概述:一个面向Claude的代码技能库最近在AI编程辅助的圈子里,一个名为warren618/claude-code-openclaw-skills的项目引起了我的注意。乍一看这个标题,你可能会有点懵——“Claude”是谁?“OpenClaw”又是什么?这…...

Dev Containers实战:容器化开发环境配置与团队协作指南

1. 项目概述:一个容器化的开发环境定义仓库如果你和我一样,经常需要在不同的机器上切换工作,或者团队里有新成员加入,那么“环境配置”这件事,绝对能排进程序员最头疼问题的前三名。我经历过无数次这样的场景&#xff…...

Sveltos:多集群Kubernetes应用分发与配置管理的核心利器

1. 项目概述:Sveltos,一个被低估的集群应用管理利器如果你和我一样,长期在多集群的Kubernetes环境中摸爬滚打,那你一定对“应用分发”这件事的复杂性深有体会。想象一下,你手头有几十甚至上百个集群,有的在…...

惠普OMEN游戏本终极性能优化指南:OmenSuperHub深度解析与实战应用

惠普OMEN游戏本终极性能优化指南:OmenSuperHub深度解析与实战应用 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub OmenSuperHub是一款专为惠普…...

SMP架构下RTOS裸机启动的核心挑战与优化策略

1. SMP RTOS裸机启动的核心挑战在嵌入式系统领域,对称多处理(SMP)架构正逐渐成为高性能计算的主流选择。作为一名长期从事嵌入式系统开发的工程师,我见证了从单核到多核系统的演进过程。与传统的单核系统相比,SMP架构下…...

图片重复检测革命:AntiDupl.NET如何智能清理你的数字相册

图片重复检测革命:AntiDupl.NET如何智能清理你的数字相册 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 在数字摄影普及的今天,我们每个人的硬…...

别再乱用工作队列了!深入Linux内核workqueue的5个特性与3个常见使用误区

深入Linux内核workqueue:5个核心特性与3个高频避坑指南 在Linux内核开发中,工作队列(workqueue)作为异步任务处理的核心机制,其设计哲学远比表面看到的API调用复杂得多。许多开发者虽然能够熟练使用schedule_work()等基…...

腾讯会议AI助手使用教程(附避坑指南):新手也能快速上手,高效搞定会议纪要

【前言】最近腾讯会议AI助手彻底火了,身边不少程序员、职场人都在使用,都说“再也不用熬夜整理会议纪要了”。但很多新手第一次使用,会遇到“不知道怎么开启”“转写准确率低”“不会导出总结”等问题。今天就给大家带来一份详细的腾讯会议AI…...

【NotebookLM NLP辅助天花板级用法】:谷歌内部未公开的3类Prompt架构+2个隐藏API调用技巧

更多请点击: https://intelliparadigm.com 第一章:NotebookLM NLP任务辅助全景概览 NotebookLM 是 Google 推出的基于用户自有文档的实验性 AI 助手,专为研究者与工程师设计,其核心能力在于对上传文本进行深度语义理解与上下文感…...