博客
关于我
引导过程与服务控制
阅读量: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 cmake 报错,MySQL云服务器应用及cmake报错解决办法
查看>>
Multiple websites on single instance of IIS
查看>>
mysql CONCAT()函数拼接有NULL
查看>>
multiprocessing.Manager 嵌套共享对象不适用于队列
查看>>
multiprocessing.pool.map 和带有两个参数的函数
查看>>
MYSQL CONCAT函数
查看>>
multiprocessing.Pool:map_async 和 imap 有什么区别?
查看>>
MySQL Connector/Net 句柄泄露
查看>>
multiprocessor(中)
查看>>
mysql CPU使用率过高的一次处理经历
查看>>
Multisim中555定时器使用技巧
查看>>
MySQL CRUD 数据表基础操作实战
查看>>
multisim变压器反馈式_穿过隔离栅供电:认识隔离式直流/ 直流偏置电源
查看>>
mysql csv import meets charset
查看>>
multivariate_normal TypeError: ufunc ‘add‘ output (typecode ‘O‘) could not be coerced to provided……
查看>>
MySQL DBA 数据库优化策略
查看>>
multi_index_container
查看>>
mutiplemap 总结
查看>>
MySQL Error Handling in Stored Procedures---转载
查看>>
MVC 区域功能
查看>>