首页 > 其他分享 >引导和服务

引导和服务

时间:2022-10-31 09:23:28浏览次数:34  
标签:引导 依赖 服务 GRUB 启动 内核 unit

 

 

 

引导过程

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扇区恢复

 

 

 

标签:引导,依赖,服务,GRUB,启动,内核,unit
From: https://www.cnblogs.com/123456789SI/p/16769671.html

相关文章

  • 第三十二章 使用 CSP 进行基于标签的开发 - 服务器端方法
    第三十二章使用CSP进行基于标签的开发-服务器端方法CSP提供了两种从HTML客户机调用服务器端方法的技术。使用HTTP提交机制。使用超事件,#server(同步)或#call(异步......
  • CentOS7 配置FTP服务器
    [root@TS004~]#yuminstallvsftpd     //安装VSftp应用[root@TS004~]#systemctlenablevsftpd   //设置开机启动[root@TS004~]#servicevsftpdsta......
  • <3> node.js----express服务
    /*express的服务器*///1.导入expressconstexpress=require('express');constbodyParser=require('body-parser');//2.js文件导入constaesEncrypt=req......
  • 第五章 web服务器 实验一
    实验要求1.要求搭建web服务器,能够访问到网页内容为“小胖,你咋这么胖呢!”2.要求搭建web服务器,创建基于域名的虚拟主机,能够使用www.xiaopang.com和www.dapang.com访问各自......
  • C# 利用VS自带的WSDL工具生成WebService服务类
    WebService有两种使用方式,一种是直接通过添加服务引用,另一种则是通过WSDL生成。添加服务引用大家基本都用过,这里就不讲解了。那么,既然有直接引用的方式,为什么还要通过WSD......
  • wordpress编辑器增加粘贴图片上传服务器教程
    默认的编辑器没有粘贴上传图片功能,现在我们来增加一下安装插件网站后台,找到安装插件界面【插件-安装插件-搜索】 ThePaste  测试插件发布文章的时候,直接使用qq......
  • 一句话启动web服务--参考
    文档说明:只记录关键地方;python3python3-mhttp.server8000PHPphp-S0.0.0.0:8000-t.nodejsnpminstallhttp-server-g--registry=https://registr......
  • Istio(十一):向istio服务网格中引入虚拟机
    目录一.模块概览二.系统环境三.虚拟机负载3.1虚拟机负载3.2单网络架构3.3多网络架构3.4Istio中如何表示虚拟机工作负载?四.实战:向istioMesh中引入虚拟机4.1将虚拟机......
  • 主要转引本地的pycharm如何与服务器连接
    需求:本地电脑pycharm上编写程序,在服务器端运行代码。主要参考了这两篇文章:1.https://blog.csdn.net/qq_43391414/article/details/1205552452.https://blog.csdn.net/......
  • 2.封装短信发送服务组件
    封装短信发送服务组件企业开发中,往往将常见工具类封装抽取,以简洁便利的方式供其他工程模块使用。而SpringBoot的自动装配机制可以方便的实现组件抽取。SpringBoot执行流程......