博客
关于我
引导过程与服务控制
阅读量:704 次
发布时间:2019-03-16

本文共 2273 字,大约阅读时间需要 7 分钟。

引导过程与服务控制

一、Linux操作系统引导过程

简单来说,操作系统引导过程可以集合成下面的流程:

加载BIOS的硬件信息与进行自我检测(自检),并根据设置取得第一个可启动的设备;

读取并执行第一个启动设备内的MBR的启动引导程序(grub2等程序)

根据启动引导程序的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序

在硬件驱动成功后,内核会主动调用systemd程序,并以default.target流程启动

systemd执行sysinit.target初始化系统,准备文件系统,用户名,网络设置等;

systemd启动multi-user.target,设定的操作系统自启动服务启动;
system执行getty单元及登陆服务,为用户准备登陆环境;
system执行graphical需要的服务,启动图形界面。

开机自检:

自检硬件 BIOS 主板上的芯片 BIOS的设置记录在CMOS芯片上,BIOS只读。

检测到损坏,报错。

MBR引导:

MBR:(主引导记录)512字节 存放启动引导程序(446)、MBR分区表(64)、16进制字段(55AA或者AA55)(识别码)(2)

支持4个分区,一个分区16个字节。
启动引导程序:寻找内核,加载内核(核心目标),提供用户选项(grub菜单—引导菜单),转交其他loader

加载内核:

重新检测硬件,动态加载模块(/lib)(modules)-----加载驱动(内核必须挂载在根目录下),通过虚拟文件系统(为了挂载)挂载系统,识别驱动(bl加载内核同时,生成initial(伪根))

进程初始化:systemd(第一个进程,pid=1)

sysinit初始化:准备文件系统,用户名,网络设置等

multi.user:设定的操作系统自启动服务启动
getty单元:为用户准备登陆环境
如果是图形化界面
graphical:启动图形界面

二、Systemd单元类型

在这里插入图片描述

常见单元类型:service,target。

三、运行级别所对应的Systemd目标

在这里插入图片描述

init 0 3 5 6需要掌握
init6=reboot=shutdown -r
runlevel查看当前运行级别

runlevel3 5

现在5,之前3,n从未改

三、配置文件和命令

1、配置文件

/etc/systemd/system 存放不同级别得开启自启服务

/run/systemd/system 系统执行过程中所产生得服务脚本所在目录
/usr/lib/systemd/system 每个服务最主要的启动脚本设置,类似于之前得/etc/initd.d
etc和usr 任何配置的启动文件都在这2个下面
读的是etc下面的
实际在usr下面的

2、管理命令

systemctl --version 查看systemd版本

systemctl start name.service 开启服务
systemctl stop name.service 停止服务
systemctl restart name.service 重启–先停再启,PID会变
systemctl reload name.service 重新加载服务的配置文件-不中断
systemctl status name.service 查看服务状态
systemctl enable name.service 设置服务开机自启
systemctl disable name.service 设置服务开机不自启
systemctl is-enabled name.service 查看服务是否开机启动
systemctl list-unit-files|grep enabled 查看已启动的服务列表
systemctl is-active name.service 查看服务是否在启动成功状态
systemctl is-failed name.servicee 查看服务是否在启动失败状态
systemctl mask name.service 屏蔽服务
systemctl cat kube-apiserver name.service 查看服务的system服务配置
systemctl unmask name.service 取消屏蔽服务
systemctl get-default 查看当前系统默认启动的target
systemctl set-default multi-user.target 设置默认启动的target为multi-user.target
systemd-analyze 查看系统启动耗时

四、系统修复

1、修复MBR扇区故障

故障原因

●病毒、木马等造成的破坏
●不正确的分区操作、磁盘读写误操作
故障现象
●找不到引导程序,启动中断
●无法加载操作系统,开机后黑屏
解决思路
●应提前作好备份文件
以安装光盘引导进入急救模式
从备份文件中恢复

2、修复GRUB引导故障

故障原因

●MBR中的GRUB引导程序遭到破坏grub.conf文件丢失、引导配置有误
故障现象
●系统引导停滞,显示“grub>”提示符
解决思路
●尝试手动输入引导命令
·进入急救模式,重写或者从备份中恢复grub.conf
向MBR扇区中重建arub程序

3、遗忘root用户密码

故障原因

●遗忘root用户的密码
故障现象
●无法进行需要root权限的管理操作
●若没有其他可用帐号,将无法登录系统
解决思路
●进入急救模式,重设密码

转载地址:http://xdpqz.baihongyu.com/

你可能感兴趣的文章
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>
MySQL中地理位置数据扩展geometry的使用心得
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>
Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>
Mysql中常用函数的使用示例
查看>>
MySql中怎样使用case-when实现判断查询结果返回
查看>>
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>