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

news2024/12/23 17:55:32

目录

一、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、GRUP的故障恢复

模拟故障

重启、进入急救模式

进行故障恢复

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、GRUP的故障恢复

模拟故障

重启、进入急救模式

进行故障恢复

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.coloradmin.cn/o/1865247.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webstorm无法识别tsconfig.json引用项目配置文件中的路径别名

问题 vite项目模板中,应用的ts配置内容写在tsconfig.app.json文件中,并在tsconfig.json通过项目引用的方式导入 {"files": [],"references": [{"path": "./tsconfig.app.json"},{"path": "./t…

小白学python(第二天)

哈喽,各位小伙伴们我们又见面了,昨天的文章吸收得如何?可有不懂否?如有不懂可以在品论区留言哦,废话不多说,开始今天的内容。 字符及字符串的续讲 字符:英文字母,阿拉伯数字&#x…

【QT】设置QTabWidget样式:上、下边线的显示与去除

目录 0.简介 1.环境 2.详细介绍 2.1我的原代码和显示效果 2.2 去掉QTabWidget的边框 2.3 单独留下边线 2.3.1 法一:通过【this->setDocumentMode(true);】设置下边线 2.3.2 通过【QTabWidget::pane】设置下边线 2.4单独设置上边线 2.5 优化界面tab 2.…

ESRW-102打滑开关 JOSEF约瑟 调试简单,安装灵活

ESRW-102打滑开关是一种用于监测设备转速或带速的传感器,尤其适用于皮带输送机等转动设备,用于检测和处理打滑、断裂等机械故障。以下是关于ESRW-102打滑开关的详细介绍: 用途 主要用于皮带输送机、提升机、螺旋输送机等转动设备&#xff0…

Charles 忽略IP授权 Allow 弹窗

当有新的设备连接到 Charles 时,会出现如下弹框确认是否允许,如果希望允许所有客户端连接不再有提示,可以通过添加模糊IP规则来实现。 配置方法:Proxy > Access Control Settings 中添加 0.0.0.0/0 和 ::/0 即可,…

DLS策略洞察:如何应对AI数据中心网络交换机市场的爆发式增长?

摘要: 随着AI技术的发展和应用,AI数据中心对网络交换机的需求日益增加。摩根士丹利预计,2023-2026年间,AI数据中心网络交换机的收入复合年增长率(CAGR)将达到55%。本文将详细分析AI数据中心网络交换机市场…

高德地图开发隐藏logo和标志文字

vue开发隐藏引用高德地图的logo和文字方法 //scss <style langscss scoped>:deep(.amap-logo), :deep(.amap-copyright) {display: none !important; }</style>

环路滤波器

块效应产生的原因 块效应指视频边界不连续的变化,我们在观看视频的时候,在运动剧烈的场景常能观察到图像出现小方块,小方块在边界处呈现不连续的效果(如下图),这种现象被称为块效应(blocking artifact)。 造成这种现象的主要原因有两点: DCT量化误差导致运动补偿导致…

C# Winform中制作精美控件(2)

仓库温度监控系统重有个控件&#xff0c;就是温度监控&#xff0c;还是比较精美的&#xff0c;那么我们来看看制作的要点有哪些。 前面我们讨论过布局和圆角按钮。这节主要关注温度计控件 1. 布局&#xff1a; 两个Panel将界面分位上下两个部分&#xff0c;Dock.Top Dock.Fil…

Web3 ETF 的软件开发框架

Web3 ETF 的软件开发框架主要包含以下几个方面&#xff0c;需要说明的是&#xff0c;Web3 ETF 仍处于早期发展阶段&#xff0c;相关技术和标准尚未成熟。在开发 Web3 ETF 时&#xff0c;需要谨慎评估风险&#xff0c;并做好安全防范措施。北京木奇移动技术有限公司&#xff0c;…

【博士每天一篇文献-算法】Fearnet Brain-inspired model for incremental learning

阅读时间&#xff1a;2023-12-16 1 介绍 年份&#xff1a;2017 作者&#xff1a;Ronald Kemker&#xff0c;美国太空部队&#xff1b;Christopher Kanan&#xff0c;罗切斯特大学 期刊&#xff1a; arXiv preprint 引用量&#xff1a;520 Kemker R, Kanan C. Fearnet: Brain-…

手机恢复已删除的照片,2个实用方法,有效避免数据丢失

手机相册&#xff0c;简直就是我们生活中的宝藏库&#xff0c;里面储存着我们拍摄的每一张照片。但是&#xff0c;有时候我们会因为手残或者意外情况&#xff0c;不小心把手机照片给删了&#xff0c;这简直是让我们的生活留下了无法弥补的遗憾啊&#xff01; 为了帮助大家避免…

如何封装自动化测试框架?

封装自动化测试框架&#xff0c;测试人员不用关注框架的底层实现&#xff0c;根据指定的规则进行测试用例的创建、执行即可&#xff0c;这样就降低了自动化测试门槛&#xff0c;能解放出更多的人力去做更深入的测试工作。 本篇文章就来介绍下&#xff0c;如何封装自动化测试框…

“天下第一痛”到底有多疼?三叉神经痛有哪些症状

三叉神经是负责脸部、口腔、鼻腔和舌前的感觉和咀嚼肌的运动的颅脑最粗大的神经。当三叉神经被干扰后&#xff0c;它所支配的面部区域内就会出现一种反复发作的短暂性剧烈疼痛&#xff0c;每次痛持续数秒至数十秒&#xff0c;可严重影响患者生活质量。 三叉神经痛的主要特征是在…

云渲染平台千千万,哪个平台更划算!?

渲染100 以高性价比著称&#xff0c;是预算有限的小伙伴首选。 15分钟0.2,60分钟内0.8;注册填邀请码【7788】可领30元礼包和免费渲染券) 提供了多种机器配置选择(可以自行匹配环境)最高256G大内存机器&#xff0c;满足不同用户需求。支持3dmax&#xff0c;cr&#xff0c;vr所…

他们说:优秀的程序员应该对代码保持追求

在当今技术飞速发展的时代&#xff0c;快速开发成为了企业竞争的关键。为了满足市场需求&#xff0c;降低开发成本&#xff0c;越来越多的企业开始关注低代码开发平台。 传统的应用开发流程通常需要大量的人力资源和时间投入&#xff0c;使得企业在产品迭代的速度上受限。而低…

筑梦未来:高考后,专业与学校的天秤两端

前言 2024 年高考落幕&#xff0c;几人欢喜几人愁&#xff0c;作为一个过来人&#xff0c;希望每一个努力的悻悻学子都能得偿所愿&#xff0c;不负年华&#xff0c;报的心仪的志愿。 接下来我将从三个方向进行一些分析建议&#xff0c;在专业与大学排名间做出适当的权衡。 专…

AI办公自动化:多音频轨电影视频抽取出英语音频

很多电影视频是有中、英、粤语等多个音频轨的&#xff0c;如果直接转换成音频&#xff0c;很有可能不是自己想要的那种语音。 可以先查看音频流信息&#xff0c;确定属于哪个音频轨&#xff1a; Reading video file: E:\1-7\比得兔1.mp4 输出音频流信息 Available audio str…

Flask无法Debug

问题描述 Flask Debug的时候&#xff0c;可能会无法进入断点。我使用的是pycharm CE版本。 解决方案 确保pycharm安装路径不带空格。&#xff08;带空格路径导致debug程序启动报错&#xff09;Gevent compatible&#xff0c;这个东西老的pycharm版本必须勾选它&#xff0c;新…

郑州大学人工智能简答

第一章 1. 什么是人工智能&#xff1f; 人工智能又称机器智能&#xff0c;主要研究人工的方法和技术开发智能机器或智能系统&#xff0c;以模仿、延伸和扩展人的智能、生物智能、自然智能&#xff0c;实现机器的智能行为。 人工智能的定义分四类&#xff1a; &#xff08;1&am…