博客
关于我
引导过程与服务控制
阅读量: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 中的外键检查设置:SET FOREIGN_KEY_CHECKS = 1
查看>>
Mysql 中的日期时间字符串查询
查看>>
mysql 中索引的问题
查看>>
MySQL 中锁的面试题总结
查看>>
MySQL 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>
mysql 为某个字段的值加前缀、去掉前缀
查看>>
mysql 主从
查看>>
mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
查看>>
mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
查看>>
mysql 主从关系切换
查看>>
MYSQL 主从同步文档的大坑
查看>>
mysql 主键重复则覆盖_数据库主键不能重复
查看>>
Mysql 事务知识点与优化建议
查看>>
Mysql 优化 or
查看>>
mysql 优化器 key_mysql – 选择*和查询优化器
查看>>
MySQL 优化:Explain 执行计划详解
查看>>
Mysql 会导致锁表的语法
查看>>
mysql 使用sql文件恢复数据库
查看>>
mysql 修改默认字符集为utf8
查看>>