Linux操作系统引导过程及排障详解

Linux——引导、排障及修复 引导过程 排除启动类故障 服务控制及切换运行级别 优化启动过程 引导过程 引导过程总览 开机自检:1、加电,运行硬件自检 2、加载驱动 MBR引导:引导程序,加载硬盘(如是双系统,系统一定要放在不同的硬盘中) GRUB菜单:加载系统(引导系统的必要菜单)、安全模式,急救模式 加载内核(kernel):(系统的心脏)确定好系统后加载系统的内核 Init进程初始化:全部还原默认设置后系统会进行加载... 阅读详情

目录

一、Linux操作系统引导过程

1.1引导过程讲解

1.2init进程(CentOS 6)

1.3 Systemd 进程(CentOS 7)

1.4 Systemd 单元

1.5运行级别对应的systemd 

 1.6systemd服务管理

二、排除启动类故障

2.1MBR扇区故障

2.2 修复GRUB引导故障

2.3遗忘root用户密码


一、Linux操作系统引导过程

1.1引导过程讲解

linux引导过程一般包括以下几个阶段: 开机自检 、 MBR 引导 、GRUB 菜单 、加载Linux内核 、 init 进程初始化 。

开机自检(BIOS):检测出第一个能够引导系统的设备,比如硬盘或者光驱或者pex 网络(网卡)。 bios设置的第一启动项。 服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘,因为操作系统一般都是装在硬盘内。自检过程中可以根据主机的POST信息进入配置,通常按某一组合键进入,常用F2或者delete。

MBR 引导:运行放在MBR扇区里的启动GRUB引导程序,MBR前446位是引导文件,后64位是分区表。 当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR(主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区;或者直接根据MBR记录中的引导信息调用启动菜单。在CentOS7系统中为grub2.

可以通过hexdump -C -n 512 /dev/sda查看前512字节

GRUB 菜单:GRUB引导程序通过读取GRUB配置文件/boot/grub2/grub.cfg,来获取内核和镜像文件系统的设置以及路径位置。 对于Linux操作系统来说,GRUB(统一启动加载器)是使用最为广泛的多系统引导器程序,系统控制权传递给FRUB以后,将会显示启动菜单给用户选择,并根据所选项(或采用默认值)加载Linux内核文件,然后将系统控制权转交给内核。 需要注意的是CentOS 7采用的是GRUB2启动引导器

加载Linux内核:把内核和镜像文件系统加载到内存中。 Linux内核是一个预先编译好的特殊二进制文件,介于各自硬件资源与系统程序之间,负责资源分配与调度,内核接过系统控制权以后,将完全掌控整个Linux操作系统的运行过程。 (CentOS 7系统中,默认的内核文件位于“/boot/vmlinuz-3.10.0-514.e17.x86_64”)

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

内核初始化在initramfs中找到驱动程序的所有硬件,然后作为PID 1从initramfis 执行/sbin/init ,CentOS 7中将其复制为systemd, systemd 启动initrd.target中所有单元,并挂载根文件系统/sysroot,内核与文件系统由内存文件系统切换至系统根文件系统, 井重新运行/sysroot systemd. systemd 启动默认tagt (图形或者字符终端),最后等待用户进行登录。

1.2init进程(CentOS 6)

  • 由Linux内核加载运行/sbin/init程序;

  • init进程是系统中第一个进程,是所有进程的父进程;

  • init进程的PID(进程标记)号永远为1.

1.3 Systemd 进程(CentOS 7)

Systemd是Linux操作系统的一种init软件;

从CentOS 7版本的系统开始systemd成为PID恒为1的初始化进程,是内核第一个加载的程序。

systemd进程是不允许被轻易终止的。需要切换不同的系统运行状态时,可以向systemd进程发 送正确的执行命令,由systemd 自身来完成相关操作。

CentOS 7中运行的第一个 init进程是/lib/systemd/systemd,可以通过pstree命令查看

1.4 Systemd 单元

  • 单元是不同类型的systemd对象

  • 使用systemctl管理

  • 查看系统中有效的单元可以使用命令∶systemctl -t help

单元类型:

1.5运行级别对应的systemd 

init 3 字符界面

init 5图形界面

查看target单元类型

 systemctl list-unit-files --type target 

查看当前系统默认启动target

systemctl get-default

设置默认启动target

set-default TARGET类型

 1.6systemd服务管理

查看服务状态命令:

法一:
systemctl status name.type
如果不加type,默认是.service单元
法二:
systemctl {is-active | is-failed } service

服务状态关键字

启动与停止服务 eg:

systemctl {start | stop | restartl reload} service

开机自动启用与停用服务 eg:

systemctl {enable | disable} service

屏蔽与取消屏蔽服务 eg:

systemctl {mask | unmask} service

例如iptables.service 和firewalld.service 是有冲突的,如果我此时屏蔽firewalld.service

服务配置文件

/usr/lib/systemd/system/NAME.service
三部分组成
​
[Unit]             #定义systemd单元的元数据
​
[Service]        #服务的配置,只有systemd单元是服务类型时才有这一段信息
​
[Install]          #定义是否是开机启动

 systemd其他命令补充

hostnamectl set-hostname www.yzx.cn 修改永久使用的系统主机名

hostnamectl status 查看主机名状态
journalctl -b 输出本次启动后的所有日志信息

journalctl --since="2022-8-6 16:00:00" 查看2022年8月6日16点之后的日志信息

localectl=localectl status 可以查看与设置系统的语言

localectl list-locales 可以列出当前系统支持的语言

timedatectl set-time YYYY-MM-DD 设置系统日期

timedatectl set-time HH:MM:SS 设置系统时间

timedatectl set-timezone time_zone 设置系统时区

loginctl 查看登录系统的用户信息

loginctl list-users 列出当前的登录用户

systemd-analyze查看系统启动耗时

二、排除启动类故障

2.1MBR扇区故障

故障原因:

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

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

故障现象

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

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

解决思路

准备添加另一块硬盘作为备份;

应提前做好备份文件;(MBR位于第一块硬盘的第一个物理扇区处,总共512字节)

以安装光盘引导进入急救模式;

从备份文件中恢复

mkdir / backup
mount  /dev / sdb1 / backup
dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1

(1)备份MBR扇区数据

由于MBR扇区中包含了整个硬盘的整个分区表记录,因此该扇区的文件必须保存至其他的存储设备中,否则在恢复时无法读取到备份文件。例如,用以下操作将第一块硬盘的(sda)MBR扇区备份到第二块硬盘的sdb1分区里。

在关机的状态下添加一块新硬盘,再启动

 

(2)模拟扇区故障

这里往/dev/sda扇区记录覆盖,来模拟扇区故障的情况,然后重启系统。会出现“opening system not found”的提示

 

(3)从备份恢复MBR数据

 修复成功

2.2 修复GRUB引导故障

故障原因 MBR中的GRUB引导程序(1-446字节)遭到破坏 grub.cfg文件丢失,引导配置有误,文件位置/boot/grub2/grup.cfg

故障现象 系统引导停滞,显示grub >提示符

解决思路 1.尝试手动输入引导命令修复(不推荐)

2.进入急救模式,重写或者从备份中恢复grub.cfg

MBR位于第一块硬盘(/dev/sda)的第一个物理扇区处,总共512字节,前446字节是主引导记录,分区表保存在NBRA扇区中的第447-510字节中。
mkdir /bak
mount / dev / sdb1 / bak
dd if=/dev/sda of=/bak/grub.bak bs=446count=1
#模拟对MRB中的GRUB引导程序的破坏,但并不破坏分区表
dd if=/dev/zero of=/dev/sda bs=446count=1
#引导界面进入急救模式,从备份文件中恢复GRUB引导程序
sh-4.2#mkdir /backupdir
sh-4.2#mount / dev/ sdbl /backupdir
sh-4.2# dd if=/backupdir/grub.bak of=/dev / sdash-4.2#exit

修复成功 

3.急救模式向MBR扇区中重建grub程序

引导界面进入急救模式,重建GRUB菜单配置文件
rm -rf/boot/grub2/grub. cfg
#进入急救模式,加载光盘镜像,切换到系统根环境
sh-4 .2#chroot /mnt/sysimage
方法三:引导界面进入急救模式,重建GRUB菜单配置文件rm -rf/boot/grub2/grub. cfg
#进入急救模式,加载光盘镜像,切换到系统根环境sh-4 .2#chroot /mnt/sysimage
#重新将GRUB引导程序安装到第一块硬盘(/dev/sda)的MRB扇区,如果有多个分区可省略
bash-4.2#grub2-install ldev / sda
#重新构建GRUB菜单的配置文件
bash-4.2#grub2-mkconfig -0 /boot/grub2/ grub.cfg
#退出chroot环境,并重启
bash-4.2#exit
sh-4.2#reboot

 修复成功

2.3遗忘root用户密码

  • 故障原因

遗忘root用户的密码

  • 故障现象

无法进行需要root权限的管理操作;

若没有其他可用账号,将无法登陆操作系统。

  • 解决思路

进入急救模式,重设密码即可。

修改成功 

【EB-03】 AUTOSAR builder与EB RTE集成 打开EB工具后,在EB的步骤是:执行MultiTask(2)-> Mapping Component to Partitions(4)->Task Mapping(5)-> SvcAs_Trigger(7)-> Code Generation(8)如涉及新增BSW Module,也需要重复以上步骤。 阅读详情

相关推荐

vTaskStartScheduler()详解

是启动 FreeRTOS 实时内核的“扳机”。在调用它之前,你只是创建了一些任务结构,但它们都处于“待命”状态,系统仍然在按传统的裸机前后台方式运行。调用这个函数后,FreeRTOS 内核会接管系统的控制权,开始根据优先级调度你创建的任务,多任务环境才真正开始。关键点:它没有参数。它的所有行为都由中的配置宏控制。它通常不会返回。一旦调用,除非没有任务可以运行(或者你显式地停止了调度器),否则程序流永远不会回到main()函数中调用它的下一行。是一个没有参数但行为由精密控制的函数。

Shylock_Mister的博客 1596

Linux操作系统引导过程

1.开机自检服务器主机开机以后,将根据主板BIOS中的设置对CPU,内存显卡,键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘。2.MBR引导当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR(主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区,或者直接根据MBR记录中的引导信息调用启动菜单(如GRUB)3.启动GRUB菜单对于Linux操作系统来说,GRUB(统一启动加载器)是使用最为广泛的多系统引导器程序,系统控制权传递给GRUB以后,将会

weixin_60917414的博客 978

Colmap中 patchmatch源码

惊世骇俗的Colmap PatchMatch源码 500多行,简明易懂 先了解PatchMatch的options: max_image_size: 任一维度的最大图像尺寸 gpu_index: gpu的下标 depth_min,depth_max: 随机采样的深度范围 window_radius:用于计算NCC(两图片的归一化互相关),NCC的计算需要用到 win_size. 图像匹配 | NCC 归一化互相关损失 | 代码 + 讲解 - 知乎 (zhihu.com) window_step: 用.

qq_24884193的博客 2211

linux 系统引导过程

BIOS/UEFI:执行硬件初始化和引导程序加载。MBR/GPT:从磁盘引导分区加载引导加载程序。引导加载程序(GRUB):加载内核和初始内存盘。内核:初始化硬件和挂载根文件系统。:启动系统服务并设置系统运行级别。用户空间:提供用户登录界面并初始化用户会话。每个步骤都扮演着关键角色,确保系统能够顺利启动并进入可用状态。初始化系统CentOS 6 使用 SysVinit,依赖于/sbin/init和文件。CentOS 7 使用 systemd,依赖于和单元文件。服务管理。

xw2441176267的博客 2347

高德地图开放平台Web服务API调用全解析:从申请Key到获取POI数据的完整流程

本文详细解析高德地图开放平台Web服务API的合规使用流程,从开发者账号注册、Key类型选择到POI数据采集方案构建。重点介绍文本搜索接口的三种查询模式及高级筛选技巧,提供配额管理与性能优化方案,并分享商业应用场景实战经验,帮助开发者合法高效获取POI数据。

weixin_26950847的博客 1355

一张微服务地图的十年演进:Spring Cloud 核心、扩展与工具组件的定位、原理与选型

本文把 Spring Cloud 当作一张微服务地图来读:先说明它是由 Commons 抽象层、实现层和 Boot 装配层构成的发行版,再沿一次请求梳理注册发现、负载均衡、声明式调用、容错限流、网关、配置、追踪与总线七类核心组件的原理与换代,并扩展到云平台、服务网格、消息流、批处理、安全与周边生态。仿真实测:默认参数下实例宕机平均 242 秒才被感知,优雅下线降到 47 秒;一个慢实例让轮询的 P99 达 49 秒,P2C 仅 203 毫秒。最后给出退场替代表、技术栈组合、升级路线和决策树。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 169万+

linux操作系统引导过程

为其他机器提供服务的程序,服务程序启动后,会持续监听端口。使用systemctl 命令管理systemd服务。

m0_67497257的博客 2313

基于咸鱼最新九宫格图标验证码的语义增强模型识别

本文探讨了破解复杂验证码的技术思路,重点分析了某平台的九宫格验证码应对策略。作者提出通过图像语义抽取和增强技术来扩充数据集:先采集少量真实样本,利用形态学操作进行前增强生成变形图像,再通过叠加背景噪声进行后增强。同时强调真实数据集的重要性,建议采用真实+生成数据的混合训练方法。实验表明该方法可使模型准确率达到95%以上,但作者特别声明本文仅供技术研究,严禁用于非法用途。

码王吴彦祖的博客 602

Linux的引导过程

BIOS自检(查硬件)---MBR(找操作系统)---grub(选择操作系统)---加载内核(处理配置,处理开机启动程序,放到内存中)---init(系统配置生效,运行开机启动程序,整个过程结束,等待用户登录。

qq_51506982的博客 756

基于深度学习YOLOv10的障碍物检测系统

为了方便用户使用,我们将开发一个图形用户界面(GUI),允许用户上传图像或视频流并查看检测结果。我们使用PySide6开发GUI界面,它是Qt框架的Python绑定,适用于开发跨平台的桌面应用程序。本文详细介绍了如何基于YOLOv10模型构建一个障碍物检测系统,包括数据集准备、模型训练和推理到图形用户界面的开发。通过这一系统,用户可以方便地上传图像或视频流并进行障碍物检测,广泛应用于自动驾驶、机器人导航等领域。

斌擎科技 1052

国科大学习资料--人工智能原理与算法-2020年期末考试题解析(学长整理)

国科大学习资料–人工智能原理与算法-2020年期末考试题解析 张文生老师主讲 试卷共有6道题,题目不难,希望大家能取得好的成绩。 3.9 传教士和野人问题。三个传教士和三个野人在河的一岸,有一条能载一个人或者两个人的船。请设法使所有人都渡到河的另一岸,要求在任何地方野人数都不能多于传教士的人数。这个问题在AI领域中很有名,是因为它是第一个从分析的观点探讨问题形式化的论文的主题(Amarel,1968)。 a. 请对该问题进行详细形式化,只描述确保该问题求解所必需的特性。画出完整的状态空间图。 b. 应用合适

无名何许人的博客 4789

Linux操作基础(操作系统引导过程及排障详解)

这次学习了Linux操作系统的引导过程、systemd的单元格式、init进程的优先级以及修改MBR、GRUB故障和如何修改密码。

我的博客 607

R语言中5种正态性检验的方法

统计学中的t检验和方差分析等方法的应用条件是样本都来自正态总体或近似正态总体,只有符合这个条件,才能用这些方法来检验各样本所属的总体参数的差异显著性。文本向大家介绍在R语言中检验正态性的几种方法: 1、Kolmogorov-Smirnov检验 K-S检验检验单一样本是否来自某一特定分布。比如检验一组数据是否为正态分布。它的检验方法是以样本数据的累积频数分布与特定理论分布比较,若两者间的差距很小,则推论该样本取自某特定分布族。K-S检验的原假设和备择假设为: H0:样本所来自的总体分布服从

Mrrunsen的博客 2万+

Linux操作系统引导过程及排障

主要用于管理系统进程的管理器,通过单元[unit]来描述和控制系统进程和资源,通过单元类型来进行控制。init进程是系统中第一个进程,是所有进程的父进程;由Linux内核加载运行/sbin/init程序;重新加载:reload(不能轻易启动,比如数据库)重启:restart(只要修改配置文件必须重启)init进程的PID(进程标记)号永远为1。systemctl 控制类型 进程名称。查看状态:status。

weixin_46254171的博客 803

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Linux系统引导过程与启动排障

1、开机自检:检测设备/硬件是否正常。2、MBR引导:硬盘一块扇区中的核心区域。3、GRUB菜单:给用户显示菜单-》选择以什么方式运行Linux内核加载Linux内核。4、加载内核:内核是处于硬件和程序之间,用于管理协调角色(资源)目的:就是把内核程序/文件加载到内存中。5、系统第一个进程init进程初始化,及其它自启动程序初始化。

2401_86331179的博客 1279

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Linux引导过程与服务控制、排障演示及运行级别(详细图解)

这里写目录标题Linux操作系统引导过程开机自检MBR 引导GRUB菜单加载Linux内核init进程初始化系统初始化进程init和Systemd■init进程■SystemdSystemd单元类型运行级别所对应的Systemd目标排除启动类故障修复MBR扇区故障是 Linux操作系统引导过程 开机自检 服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘。 总结:检测出第一个能够引导系统的设备,比

IHBOS的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Linux操作系统过程及排障

Linux操作系统引导过程 引导过程详解 linux引导过程一般包括以下几个阶段: 开机自检 、 MBR 引导 、GRUB 菜单 、加载Linux内核 、 init 进程初始化 。 1.开机自检(BIOS) :服务器主机开机以后,将根据主板 BIOS 中的设置对 CPU(Central Processing Unit, 中央处理器)、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移 交系统控制权,大多时候会移交给本机硬盘。(检测硬件活着启动项是否有故障) 2.MBR引导:当从本

sukapulai的博客 843

Linux操作系统引导过程及排故

1.linux操作系统引导过程 2.系统化初始进程 3.排除启动类故障 4.忘记管理员root密码

csdn_T996的博客 859

Linux引导过程及排障

Linux引导过程及排障一.Linux系统开机引导过程1.1、开机自检(BIOS)1.2、MBR 引导1.3、GRUB 菜单1.4、加载Linux内核1.5、init 进程初始化二.系统初始化进程(init和systemd)2.1、init进程2.2、systemd进程三.排除启动类故障(修修复MBR扇区故障)四.排除启动类故障(修复GRUB引导故障)五.排除启动类故障(遗忘root用户的密码) 一.Linux系统开机引导过程 1.1、开机自检(BIOS) 开机自检(BIOS):服务器主机开机以后,将根

wanghaoyang0324的博客 397

Linux——操作系统引导过程

引导过程一、Linux操作系统引导过程1.1 引导过程讲解1.2 init进程(CentOS6)1.3 Systemd进程(CentOS7)1.4 Systemd单元1.5 运行级别对应的systemd1.5.1 查看target单元类型1.5.2 查看当前系统默认启动target1.5.3 设置默认启动target1.6 systemd服务管理二、排除启动类故障 一、Linux操作系统引导过程 1.1 引导过程讲解 linux引导过程一般包括以下几个阶段: 开机自检 、 MBR 引导 、GRUB 菜单 、

Kiro君的博客 1970

Linux操作系统的引导过程

Linux系统启动与进程管理摘要 系统启动过程: BIOS自检后移交控制权 MBR引导加载操作系统 GRUB菜单选择内核 加载Linux内核到内存 init进程完成系统初始化 进程管理关键点: Systemd是CentOS7的init系统 ps命令查看静态进程信息(-aux/elf) top动态监控进程(CPU/内存排序) 进程状态:R运行、S睡眠、Z僵尸等 kill/killall/pkill终止进程 jobs管理后台任务 load average判断系统负载 常用命令: systemctl控制服务、ps

w11785wxm的博客 1084

Linux操作系统的引导过程及初始化的必要操作详解

系统引导是操作系统运行的开始,在用户能够正常登录到系统之前,Linux操作系统的引导过程将完成一系列的初始化任务,并加载必要的程序和命令终端,为用户登录做好准备。 一、引导过程预览 如图: 1.开机自检 服务器主机开机之后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交本机硬盘; 2.MBR引导 当从本...

小健健的博客 1372

【Linux】引导过程与服务控制

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

weixin_68840588的博客 1397
上一篇: RAID介绍及RAID5配置实例
下一篇: Linux进程管理
Au杨
博客等级 码龄6年 37粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值