引导和服务

 

 

 

引导过程

1开机自检:服务器主机开机以后,将根据主板 BIOS 中的设置对 CPU、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移 交系统控制权,大多时候会移交给本机硬盘

硬件启动POST:加电自检,是BIOS功能的一个主要部分。负责完成对CPU、主板、内存、硬盘子系统、显示子系统、串并行接口、键盘等硬件情况的检测

主板的ROM;BIOS ,保存着有关计算机系统最重要的基本输入输出程序,系统信息设置、开机加电自检程序和系统启动自举程序等

2MBR引导

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

总结:运行放在MBR扇区里的启动 GRUB引导程序

3GRUB菜单 (内核文件)

是 使用最为广泛的多系统引导器程序。系统控制权传递给 GRUB 以后,将会显示启动菜单给 用户选择,并根据所选项(或采用默认值)准备加载 Linux 内核文件,然后将系统控制权转交给 内核。需要注意的是,CentOS 7 采用的是 GRUB2 启动引导器。

init初始化进程   systemd

grub功能和组成

bootloader: 引导加载器,引导硬件去找到 内核(操作系统的核心)

Windows: ntloader,仅是启动OS

Linux:功能丰富,提供菜单,允许用户选择要启动系统或不同的内核版本;把用户选定的内核装载到内存中的特定空间中,解压、展开,并把系统控制权移交给内核

Linux的bootloader

LILO:LInux LOader,早期的bootloader,功能单一

GRUB: GRand Unified Bootloader, CentOS 5,6 GRUB 0.97: GRUB Legacy,

CentOS 7 以后使用GRUB 2.02

GRUB 启动阶段

primary boot loader :

1st stage:MBR的前446个字节 引导 硬件去找 内核

1.5 stage:MBR 之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统

secondary boot loader :2nd stage,分区文件/boot/grub2/grub.cfg

4加载Linux内核 (操作系统 调度硬件)

Linux 内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间, 负责资源分配与调度。内核接过系统控制权以后,将完全掌控整个 Linux 操作系统的运行过 程。把内核和镜像文件系统加载到内存中可以使用。

5init进程初始化

Linux内核首先将系统中的“/sbin/init”程序加载到内 存中运行,init 进程负责完成一系列的系统初始化过程,最后等待用户进行登录

 

 

服务

systemd 服务

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

2 按需启动

3 自动解决依赖关系

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

system特征

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

按需启动守护进程

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

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

socket与服务程序分离

向后兼容sysv init脚本

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

systemctl无法与之通信和控制

系统状态快照

systemd 核心概念:unit

 

 

 由于ll所显示的内容太多,只截取部分

 

 

 

 

ls展示数量太多,只截取部分

 输入vim /lib/systemd/system/hello.service,以下是脚本

[Unit]
Description=Hello World
[Service]
TimeoutStartSec=0
ExecStart=/bin/sh -c "while true; do echo Hello World; sleep 1; done"
ExecStop=/bin/kill sh
[Install]
WantedBy=multi-user.target

 

 

service unit文件格式

unit格式说明

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

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

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

service unit文件三个组成部分

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

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

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

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:安装本服务的时候还要安装别的相关服务

 

修复MBR分区

1.备份mbr引导扇区到其他磁盘

2.模拟破坏mbr引导扇区

3.引导镜像急救模式进行mbr扇区恢复

 

 

 

posted @   withfear  阅读(147)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
----------------------------------- ©著作权归作者所有:来自51CTO博客作者一品堂_技术学习笔记的原创作品,请联系作者获取转载授权,否则将追究法律责任 博客园随笔中添加目录导航悬浮框博客园随笔中添加目录导航悬浮框 https://blog.51cto.com/ios9/3125785
点击右上角即可分享
微信分享提示