Linux:系统引导过程与服务控制

目录

一、linux 系统引导过程

1.1、引导过程总览 

1.2、系统初始化进程 (centos 6和7 的区别)

1.2.1、centos 6 的引导过程  init 进程

1.2.2、centos 7(systemd进程)

二、MBR、GRUB菜单、忘记密码故障修复

2.1、修复MBR扇区故障

模拟故障

重启,进入急救模式

数据恢复操作 

2.2、GRUB的故障恢复

模拟故障

重启、进入急救模式

进行故障恢复

2.3、忘记密码的故障恢复

重启、进入急救模式

修改密码操作

三、系统服务控制和运行级别

3.1、系统服务控制

3.2、系统的运行级别

四、优化启动过程

五、扩展


一、linux 系统引导过程

1.1、引导过程总览 

开机自检:检测出第一个能够引导系统的设备

MBR 引导:运行放在MBR扇区里的启动GRUB引导程序

GRUB 菜单:GRUB引导程序通过读取GRUB配置文件/boot/grub2/grub.cfg,来获取内核和镜像文件系统的设置和路径位置

加载 Linux 内核:把内核和镜像文件系统加载到内存中

init 进程初始化:加载硬件驱动程序,内核把init进程加载到内存中运行

1.2、系统初始化进程 (centos 6和7 的区别)

1.2.1、centos 6 的引导过程  init 进程

1. 加载BIOS的硬件信息,获取第一个启动设备

2. 读取第一个启动设备MBR的引导加载程序(grub)的启动信息

3. 加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备

4. 核心执行init程序,并获取默认的运行信息

5. init程序执行/etc/rc.d/rc.sysinit文件,重新挂载根文件系统

6. 启动核心的外挂模块

7. init执行运行的各个批处理文件(scripts)

8. init执行/etc/rc.d/rc.local

9. 执行/bin/login程序,等待用户登录

10. 登录之后开始以Shell控制主机

1.2.2、centos 7(systemd进程)

1. UEFi 或 BIOS 初始化,运行 POST 开机自检
2. 选择启动设备
3. 引导装载程序, centos7 是 grub2
4. 加载装载程序的配置文件:/etc/grub.d/

5. 加载内核选项
6. 加载 initramfs 初始化伪文件系统

7. 内核初始化,centos7 使用 systemd 代替 init
8. 执行 initrd.target 所有单元,包括挂载/etc/fstab
9. 从 initramfs 根文件系统切换到磁盘根目录
10. systemd 执行默认 target 配置,配置文件/etc/systemd/system/default.target
11. systemd 执行 sysinit.target 初始化系统及 basic.target 准备操作系统
12. systemd 启动 multi-user.target 下的本机与服务器服务  init 3
13. systemd 执行 multi-user.target 下的/etc/rc.d/rc.local
14. Systemd 执行 multi-user.target 下的 getty.target 及登录服务
15. systemd 执行 graphical 需要的服务   init 5

二、MBR、GRUB菜单、忘记密码故障修复

2.1、修复MBR扇区故障

MBR位于第一块硬盘( /dev/sda) 的第一个物理扇区处,总共512字节

mount /dev/sdb1 /mnt       ##挂载

dd if=/dev/sda  of=/mnt/sda.bak bs=512 count=1  ##将sda中的文件备份到mnt下的sda.bak

模拟故障

dd if=/dev/zero of=/dev/sda bs=512 count=1   ##利用/dev/zero将/dev/sda里的内容覆盖

重启,进入急救模式

init 6  ##重启

选择  Troubleshooting  

进入  Rescue a centos system    ##急救模式

写入1进入”安全模式“   回车

数据恢复操作 

mkdir  /backupdir   ##创建一个用来挂载目录

mount /dev/sdb1 /backupdir  ##将之前备份的盘挂载到sdabak上

 dd if=/backupdir/sda.bak of=/dev/sda bs=512 count=1 

 ##将备份的完整的MBR引导数据覆盖到sda

exit   ##退出安全模式,系统将会重启

2.2、GRUB的故障恢复

模拟故障

重启、进入急救模式

进行故障恢复

chroot /mnt/sysimage   ##加载光盘镜像,切换到系统根环境

grub2-install /dev/sda

##重新将GRUB引导程序安装到第一块盘的MBR扇区,如果有多个分区可省略

grub2-mkconfig -o /boot/grub2/grub.cfg   ##重新构建GRUB菜单的配置文件

exit    ##退出chroot

reboot   ##再重启

2.3、忘记密码的故障恢复

重启、进入急救模式

init 6  或者  reboot 

进入下面的界面后要按c

按c进入下面的模式

exit   ##输入exit进入下图模式

修改密码操作

chroot /mnt/sysimage    ##加载光盘镜像,切换到系统根环境

passwd root  ##修改root密码

exit   ##退出系统根环境

init 6   ##重启

三、系统服务控制和运行级别

3.1、系统服务控制

systemctl  控制类型 服务名称

控制类型
start:启动
stop:停止
restart:重新启动
reload:重新加载
status:查看服务状态

3.2、系统的运行级别

显示结果中的两个字符分别表示切换前的目标、当前的目标。若之前尚未切换过运行级别,则第 1 列将显示“N”
[root@localhost ~]# runlevel 
3 5

查看系统默认的运行级别
systemctl get -default     #查看当前模式

设置永久运行级别

ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

或者:systemctl set -default multi-user.target

切换为视图模式

systemctl isolate multi-user.target  或 init 3

systemctl isolate graphical.target   或init 5

扩展:
永久修改主机名
hostnamectl set-hostname newname
查看主机名的状态
hostnamectl status
设置系统语言为中文
localectl set-locale LANG=zh_CN.utf8
查看当前系统使用的语言
localectl [status ]

四、优化启动过程

systemctl 控制选项 服务名称

enable:开机自动启动。 

disable:开机自动关闭。 
is-enable:查看开机启动状态。

systemctl list-unit-files --type=service   ##查看所有已经激活的系统服务

systemctl list-unit-files |grep enabled  ##查看所有开机自启动的服务器

五、扩展

chkconfig --list [服务名称]     ##查看服务列表

chkconfig --add 服务名称
chkconfig --level 级别列表服务名on/off
chkconfig --add httpd
chkconfig --level 35 httpd on

##     --level x:x为运行级别。默认情况下,on和off开关只对运行级2,3,4,5有效,reset可以对所有运行级有效。

on、off、reset:用于改变service的启动信息。 on表示开启,off表示关闭,reset表示重置。

运行级别:

等级0表示:表示关机

等级1表示:单用户模式

等级2表示:无网络连接的多用户命令行模式

等级3表示:有网络连接的多用户命令行模式

等级4表示:不可用

等级5表示:带图形界面的多用户模式

等级6表示:重新启动

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IT行业入门,如何假期逆袭,实现抢跑

目录 前言 1.IT行业领域分类 2.基础课程预习指南 3.技术学习路线 4.学习资源推荐 结束语 前言 IT(信息技术)行业是一个非常广泛和多样化的领域,它包括了许多不同的专业领域和职业路径。如果要进军IT行业,我们应该要明确自己…

基于循环神经网络的一维信号降噪方法(简单版本,Python)

代码非常简单。 import torch import torch.nn as nn from torch.autograd import Variable from scipy.io.wavfile import write #need install pydub module #pip install pydub import numpy as np import pydub from scipy import signal import IPython import matplot…

美术馆预约小程序的设计

管理员账户功能包括:系统首页,个人中心,展品信息管理,管理员管理,用户管理,美术馆管理,基础数据管理,论坛管理 微信端账号功能包括:系统首页,美术馆&#xf…

【C语言】文件的顺序读写

©作者:末央& ©系列:C语言初阶(适合小白入门) ©说明:以凡人之笔墨,书写未来之大梦 目录 前言字符输入输出函数 - fgetc和fputc文本行输入输出函数 - fgets和fputs格式化输入输出函数 - fscanf和fprintf 前言 对文件数据的读写可以分为顺序…

小红书 达芬奇:生活问答 AI 机器人

小红书去年 9 月开始内测的生活问答 AI 机器人:达芬奇,现在可以在小红书 APP 上用了 得益于小红书平台的特性,该助手擅长吃、住、宠、喝、学等等各类生活知识,目前还在搞活动,写评测笔记最高得 666 元

ABAQUS软件天津正版代理商亿达四方:创新技术,驱动产业升级

在环渤海经济圈的核心地带——天津,随着智能制造与高新技术产业的蓬勃发展,对高端仿真软件的需求日益增长。亿达四方,作为ABAQUS在天津的官方正版代理商,凭借其深厚的行业经验和卓越的服务体系,正为这片热土上的科研机…

音乐播放器小程序的设计

管理员账户功能包括:系统首页,个人中心,歌曲信息管理,会员优惠管理,用户管理,会员办理管理,歌曲分类管理,会员信息管理 微信端账号功能包括:系统首页,歌曲信…

深入了解激光粒度分析仪:检测物质粒度分布的利器

在科研、工业生产以及环境监测等多个领域中,精确测量物质粒度分布是确保产品质量、研究准确性和环境安全的重要步骤。 近年来,激光粒度分析仪以其独特的技术优势,在这些领域发挥着越来越重要的作用。 在这篇文章中,佰德将带您了…

机器学习Python代码实战(二)分类算法:k-最近邻

一.k-最近邻算法步骤 1.选择适当的k值。它表示在预测新的数据点时要考虑的邻居数量。 2.计算距离。计算未知点与其他所有点之间的距离。常用的距离计算方法主要有欧氏距离,曼哈顿距离等。 3.选择邻居。在训练集中选择与要预测的数据点距离最近的k个邻居。 4.预测…

递归算法练习

112. 路径总和 package Tree;import java.util.HashMap; import java.util.Map;class TreeNode {int val;TreeNode left;TreeNode right;public TreeNode(int val) {this.val val;} }/*** 求 树的路径和* <p>* 递归 递减* <p>* 询问是否存在从*当前节点 root 到叶…

JDBC学习(Java DataBase Connectivity)

JDBC简介 JDBC入门 驱动jar包&#xff1a;C:\Users\49960\Desktop\mysql-connector-j-9.0.0 需要配置add library&#xff01;&#xff01;&#xff01; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.util.Stack;pub…

如何构建智能聊天系统

聊天分为听、思考、读&#xff0c;简单的通过ASR、LLM、TTS三类模型的组合可以实现&#xff0c;最近openai推出支持多模态的GPT-4o模型&#xff0c;可以把三个模型真正融合成在一起。 现在市面上的模型百花齐放&#xff0c;各有所长。要实现可落地的方案&#xff0c;需要结合业…

Python实现万花筒效果:创造炫目的动态图案

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame定义绘制万花筒图案的函数主循环 完整代码 引言 万花筒效果通过反射和旋转图案创造出美丽的对称图案。在这篇博客中&#xff0c;我们将使用Python来实现一个动态的万花筒效果。通过利用Pygame库&#xf…

数据结构算法之B树

一、绪论 1.1 数据结构的概念和作用 1.2 B树的起源和应用领域 二、B树的基本原理 2.1 B树的定义和特点 2.2 B树的结构和节点组成 2.3 B树的插入 2.4 B树的删除操作 三、B树的优势和应用 3.1 B树在数据库系统中的应用 3.2 B树在文件系统中的应用 3.3 B树在内存管理中…

java+mysql教师管理系统

完整源码地址 教师信息管理系统使用命令行交互的方式及数据库连接实现教师信息管理系统&#xff0c;该系统旨在实现教师信息的管理&#xff0c;并根据需要进行教师信息展示。该软件的功能有如下功能 (1)基本信息管理(教师号、姓名、性别、出生年月、职称、学历、学位、教师类型…

Linux基础指令介绍与详解——原理学习

前言&#xff1a;本节内容标题虽然为指令&#xff0c;但是并不只是讲指令&#xff0c; 更多的是和指令相关的一些原理性的东西。 如果友友只想要查一查某个指令的用法&#xff0c; 很抱歉&#xff0c; 本节不是那种带有字典性质的文章。但是如果友友是想要来学习的&#xff0c;…

Pytest+Allure+Yaml+PyMsql+Jenkins+Gitlab接口自动化(五)Jenkins配置

一、背景 Jenkins&#xff08;本地宿主机搭建&#xff09; 拉取GitLab(服务器)代码到在Jenkins工作空间本地运行并生成Allure测试报告 二、框架改动点 框架主运行程序需要先注释掉运行代码&#xff08;可不改&#xff0c;如果运行报allure找不到就直接注释掉&#xff09; …

Linux修炼之路之进程概念,fork函数,进程状态

目录 一&#xff1a;进程概念 二&#xff1a;Linux中的进程概念 三&#xff1a;用getpid(),getppid()获取该进程的PID,PPID 四&#xff1a;用fork()来创建子进程 五&#xff1a;操作系统学科的进程状态 六&#xff1a;Linux中的进程状态 接下来的日子会顺顺利利&#xf…

《梦醒蝶飞:释放Excel函数与公式的力量》8.3 COUNTBLANK函数

8.3 COUNTBLANK函数 在数据处理和分析中&#xff0c;我们经常需要识别和统计数据集中的空白单元格。COUNTBLANK函数是Excel中用于统计某个范围内空白单元格数量的强大工具。 8.3.1 函数简介 COUNTBLANK函数用于统计指定范围内的空白单元格数量。这在数据清洗、数据完整性检查…

【RT摩拳擦掌】RT云端测试之百度天工物接入构建(设备型)

【RT摩拳擦掌】RT云端测试之百度天工物接入构建&#xff08;设备型&#xff09; 一&#xff0c; 文档介绍二&#xff0c; 物接入IOT Hub物影子构建2.1 创建设备型项目2.2 创建物模型2.3 创建物影子 三&#xff0c; MQTT fx客户端连接云端3.1 MQTT fx配置3.2 MQTT fx订阅3.3 MQT…