Linux中引导和服务

目录

一.引导过程

二.服务

2.1 systemd服务

2.2 service文件

2.2.1 service文件 格式说明:

2.2.2Unit段的常用选项

2.3 systemctrl管理服务

2.4 init级别 

三.修复mbr分区(centos 7)

四.修复grub分区(centos)


一.引导过程

  1. 加载BIOS的硬件信息,获取第一个启动设备

  2. 读取第一个启动设备MBR的引导加载程序(grub)的启动信息

  3. 加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备

  4. 核心执行init程序,并获取默认的运行信息

  5. init程序执行/etc/rc.d/rc.sysinit文件,重新挂载根文件系统

  6. 启动核心的外挂模块

  7. init执行运行的各个批处理文件(scripts)

  8. init执行/etc/rc.d/rc.local

  9. 执行/bin/login程序,等待用户登录

  10. 登录之后开始以Shell控制主机

综上所述:操作系统的引导过程分为五步:

1.bios  开机自检,硬件没问题,就继续下一步,根据bios中第一启动项的设置,去找操作系统(硬盘  外接设备  网卡)
2.mbr:过渡到mbr阶段,是引导的第一阶段,由于该阶段程序不完整,会引导你找到下一阶段完整的引导器
3.grub:通过grub程序中的配置文件找到操作系统
4.kernel :加载内核文件并启动内核
5.启动第一个程序  :init

二.服务

2.1 systemd服务

systemd新特性

  • 系统引导时实现服务并行启动

  • 按需启动守护进程

  • 自动化的服务依赖关系管理

  • 同时采用socket式与D-Bus总线式激活服务

  • socket与服务程序分离

  • 向后兼容sysv init脚本

  • 使用systemctl 命令管理,systemctl命令固定不变,不可扩展,非由systemd启动的服务,

  • systemctl无法与之通信和控制

  • 系统状态快照

systemd 核心概念:unit

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

2.2 service文件

2.2.1 service文件 格式说明:

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

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

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

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

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

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

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

2.2.2Unit段的常用选项

unit 部分主要用于描述服务的依赖关系、启动顺序、冲突关系等元数据配置项。

常见的配置项包括:

常用选项作用示例
Description描述信息Description=web server
After定义unit的启动次序,表示当前unit应该晚于哪些unit启动,其功能与Before相反After=nginx.service
Before定义unit的启动次序,表示当前unit应该晚于哪些unit启动,其功能与After相反Before=nginx.service
Requires依赖到的其它units,强依赖,被依赖的units无法激活时,当前unit也无法激活Requires=mysql.service
Wants依赖到的其它units,弱依赖Wants=mysql.service
Conflicts定义units间的冲突关系Conflicts=mysql.service
Documentation指定与服务相关的文档位置,例如手册、在线文档、帮助链接等。可以包含 URL 或文件路径。Documentation=http://exple.com
Alias为服务定义别名,系统可以通过别名来引用该服务。常用于创建快捷方式或简化服务Alias=webapp.service

2.3 systemctrl管理服务

systemctl   start  服务                   启动服务
systemctl   restart  服务                重启服务
systemctl   reload  服务                重新加载配置文件
systemctl   enable 服务                开机自启服务
systemctl   enable  --now 服务     开机自启服务并立即启动
systemctl   disable 服务               关闭自启服务
systemctl   disable   --now 服务   关闭自启服务并立即停止
systemctl  status 服务                  服务运行状态

2.4 init级别 

1、init 0级别
init 0是关机

2、init 1级别
init 1是单用户安全模式

3、init 2 3 4级别
init 2、init 3 、init 4都是纯字符界面,但是init 2 和init 4各缺乏一些功能,所以常用的是init 3级别

4、init 5级别
init 5是图形化界面

5、init 6级别
init 6是重启

三.修复mbr分区(centos 7)

#备份MBR分区表
dd if=/dev/sda of=/data/dpt.img bs=1 count=64 skip=446
scp /data/dpt.img 10.0.0.102:
#破坏MBR分区表
dd if=/dev/zero of=/dev/sda bs=1 count=64 seek=446
#无法启动
reboot
#用光盘启动,进入rescue mode,选第3项skip to shell
#配置网络

#ifconfig ens33 10.0.0.8/24
#ip a a 10.0.0.8/24 dev ens33
#scp 10.0.0.102:/root/dpt.img ./
#恢复MBR分区表
#dd if=dpt.img of=/dev/sda bs=1 seek=446
#reboot

四.修复grub分区(centos)

rm -rf /boot/grub2/grub.cfg        配置文件
#模拟删除grub.cf 文件

进入急救模式,选择1 继续

chroot /mnt/sysimage     
#进入急救模式后,更改环境   

grub2-install /dev/sda   
#重新建立加载sda分区  重新

grub2-mkconfig -o /boot/grub2/grub.cfg
#重新构建grub菜单配置文件 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值