引导和服务 + 开机错误修复

文章详细阐述了Linux系统从加电自检到init进程初始化的引导过程,包括MBR引导、GRUB菜单、加载内核等步骤。同时,讨论了开机过程中可能遇到的MBR和GRUB引导故障,提供了模拟修复方法。此外,还介绍了Linux的不同运行级别及其用途,并讲解了systemd服务的管理和配置,包括serviceunit文件格式。
摘要由CSDN通过智能技术生成

目录

1.引导过程

 1.1加电自检:

1.2MBR引导:

1.3GRUB菜单

1.4加载Linux内核

1.5init进程初始化

2.开机过程中遇到的故障修复

2.1mbr分区故障

故障原因:

现象:

解决办法:

模拟环境:

1.准备:​编辑

6.进入急救模式,用备份文件恢复MBR扇区数据,解决故障

2.2 grub 引导故障

2.2.1 故障原因

2.2.2 模拟修复grub配置文件

1.删除配置文件

2.重新启动,在读条界面按 Esc 键进入启动菜单,改用光盘启动,引导界面进入急救模式

2.3 用户密码

2.3.1 模拟修改root密码

3.Linux运行级别

3.1 运行级别0(halt)系统关机状态,所有服务已停止,可以安全地关闭电源。

3.2运行级别1(single user mode)单用户模式,只有root用户可以登录,用于系统修复和维护。

3.3 运行级别2(multi-user mode)文本模式多用户模式,登录后进入命令行界面, 功能不全的字符界面。

3.4 运行级别3(full multi-user mode)文本模式多用户模式,登录后进入命令行界面, 完整的字符界面。

3.5 运行级别4(unused)保留,未分配特定用途,可以根据需要进行自定义。

3.6 运行级别5(graphical multi-user mode)图形多用户模式,登录后进入 图形界面。

3.7 运行级别6重启

2.服务

2.1systemd服务

service unit文件格式

2.2 在编译安装的情况下使用systemd服务


1.引导过程

1.1加电自检:

检测硬件是否有故障,如果没有故障,去bios中设置的第一个启动项找操作系统

1.2MBR引导:

当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中 MBR(Master Boot Record, 主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区;或者直接根据 MBR 记录中的引导信息调用启动菜单(如 GRUB)。

1.3GRUB菜单

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

1.4加载Linux内核

把内核和镜像文件系统加载到内存中 可以使用

1.5init进程初始化

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

2.开机过程中遇到的故障修复

2.1mbr分区故障

故障原因:

不正常的分区操作,磁盘读写误操作
病毒、木马等造成的破坏
 

现象:

找不到引导程序,启动中断
无法加载操作系统,开机后黑屏

解决办法:
模拟环境:
1.准备:

 

 

 2.先将MBR分区复制到任意文件夹下

dd if=/dev/sda  of=/data/mbr.bak   bs=512         count=1 
####  从sda      复制到data      一次复制512字节    复制一次  

3.将复制到的位置挂载到/mnt上

cp mbr.bak /mnt

 4.模拟破坏sda盘

dd if=/dev/zero of=/dev/sda bs=512 count=1 

用空字符替换原有字符

 5.重启虚拟机

虚拟机无法开启

6.进入急救模式,用备份文件恢复MBR扇区数据,解决故障

进入急救模式

 


                  

 

 

 

 

2.2 grub 引导故障

2.2.1 故障原因
  • MBR中的GRUB引导程序遭到破坏
  • grub.cfg 文件丢失、引导配置有误
2.2.2 模拟修复grub配置文件
1.删除配置文件

 reboot 重启

 由于没有配置文件无法进入

2.重新启动,在读条界面按 Esc 键进入启动菜单,改用光盘启动,引导界面进入急救模式

 

 

 

 

 

 

 reboot 重启

 

 实验完成

2.3 用户密码

2.3.1 模拟修改root密码

1.进入编辑模式

 2.添加内核参数并启动

 

 

 

 

 

 完成

3.Linux运行级别

3.1 运行级别0(halt)
系统关机状态,所有服务已停止,可以安全地关闭电源。

3.2运行级别1(single user mode)
单用户模式,只有root用户可以登录,用于系统修复和维护。

3.3 运行级别2(multi-user mode)
文本模式多用户模式,登录后进入命令行界面, 功能不全的字符界面。

3.4 运行级别3(full multi-user mode)
文本模式多用户模式,登录后进入命令行界面, 完整的字符界面。

3.5 运行级别4(unused)
保留,未分配特定用途,可以根据需要进行自定义。

3.6 运行级别5(graphical multi-user mode)
图形多用户模式,登录后进入 图形界面。

3.7 运行级别6
重启
 

2.服务

2.1systemd服务

1.对比5 6 可以解决依赖关系并行启动

2.按需启动

3.自动解决依赖关系

4.负责在系统启动或运行时,激活系统资源,服务器进程和其它进程

systemd 核心概念:unit

unit表示不同类型的systemd对象,通过配置文件进行标识和配置;文件中主要包含了系统服务、监听socket、保存的系统快照以及其它与init相关的信息

systemd 命令格式:systemctl 控制类型 服务名称(程序名)

控制类型功能
start启动
stop停止
status查看服务状态
restart重新启动
reload重新加载
enable开机自启
disable开机不自启
service unit文件格式

unit 格式说明:

  • 以 “#” 开头的行后面的内容会被认为是注释

  • 相关布尔值,1、yes、on、true 都是开启,0、no、off、false 都是关闭

  • 时间单位默认是秒,所以要用毫秒(ms)分钟(m)等须显式说明

service unit file文件通常由三部分组成:

  • [Unit]:定义与Unit类型无关的通用选项;用于提供unit的描述信息、unit行为及依赖关系等

  • [Service]:与特定类型相关的专用选项;此处为Service类型

  • [Install]:定义由“systemctl enable”以及"systemctl disable“命令在实现服务启用或禁用时用到的一些选项

为什么能使用systemd服务:

有service system单元并且在固定目录下

一般使用yum 和 rpm 安装的软件都自带service system单元

但编译安装没有

2.2 在编译安装的情况下使用systemd服务

安装nginx软件

1.搭载依赖环境

 2.下载安装包(在官网下)

 3.解压

 4.检测环境

 

 

 5.查看软件是否安装完成

 制作软连接

 

Unit段的常用选项:

  • Description:描述信息

  • After:定义unit的启动次序,表示当前unit应该晚于哪些unit启动,其功能与Before相反

  • Requires:依赖到的其它units,强依赖,被依赖的units无法激活时,当前unit也无法激活

  • Wants:依赖到的其它units,弱依赖

  • Conflicts:定义units间的冲突关系

Install段的常用选项:

Alias:别名,可使用systemctl command Alias.service

RequiredBy:被哪些units所依赖,强依赖

WantedBy:被哪些units所依赖,弱依赖

Also:安装本服务的时候还要安装别的相关服务

 

 

 

 完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值