引导过程与服务控制

目录

Linux操作系统引导过程

概念

systemd单元类型

系统的运行级别

服务控制

实验


Linux操作系统引导过程

概念

引导过程:当你按下开机的电源键直到屏幕显示登录的画面,这中间系统做的一系列的开机过程。

1.开机自检(BIOS)

服务器开机之后,根据主板的BIOS设置,对CPU内存,显卡,键盘等等设备进行初步的检测。检测成功后,根据预设的启动顺序(默认的启动顺序,第二个就是硬盘,要么手工设置的u盘启动),系统的控制权转移到硬盘(大多数的时候转移给本机的硬盘)。

总结:初步检测硬件工作是否正常,检测成功后,把系统的引导控制权交给硬盘或者光盘或者u盘

2.MBR引导

(MBR是硬盘的分区记录表,在这个表里面记录硬盘的分区,以及系统的启动盘的位置。)

系统的控制权到了硬盘,根据MBR记录表来找系统的启动盘,找到了之后将系统的控制权递给包含操作系统引导文件的分区以及MBR记录中系统的启动菜单(grub)

3.grub菜单

硬盘启动之后,找到系统分区,也找到了操作系统所在的位置,grub就会显示启动菜单,包含所有当前可选的操作系统。选择了其中一个操作系统之后,系统转移控制权到操作系统的内核文件。

(centos7及以上使用的都是grub2启动引导器)

4.加载内核文件

操作系统的内核文件是一个预先编译好的特殊的二进制文件(可执行的代码),介于硬件资源和系统程序之间,负责分配资源,调度资源。只是分配和调度,并没有真正运行。预加载到内存当中,系统程序等待启动。

5.init/systemd启动方式

/sbin/init进程是系统当中的第一个进程,是所有其他进程的父进程。init进程在系统中的进程号永远是1。init是串行,即一个一个启动,速度慢

/lib/systemd/system是系统的第一个进程,它的进程号也是1。systemd是并行 加载在内存当中的程序,一起启动,速度快

systemd单元类型

systemd是centos7之后用来管理系统服务进程的管理。使用单元模式(unit)来描述和控制系统服务和资源。

特点:1.支持并行服务,提高系统的启动速度

           2.可以自动重启

           3.可以在进程运行期间动态的控制它的资源和相关的服务参数

           4.可以自动解决服务启动过程中的依赖关系

           5.支持多种管理方式,命令行操作,也可以使用图形化工具。

单元类型                 拓展名                        描述

service                     .service                      描述一个系统进程

target                       .target                       描述一组systemd的单元。进程在不同运行级别下的状态

socket                      .socket                     进程启动根据其配置,分配系统端口,监听端口状态。                                                                     如果有请求,维护端口通信(提供网络服务)

device                      .device                     管理硬件设备,驱动程序,设备文件,设备属性

mount                       .mount                     管理文件系统的挂载,以及挂载的选项,以及挂载之后                                                                     的数据管理

Automount               .automount               根据配置,自动的实现设备或者文件系统的挂载

[Unit]  #表示服务的说明
Description=nginx - high performance web server  #描述信息
Documentation=http://nginx.org/en/docs/   #描述信息
After=network-online.target remote-fs.target nss-lookup.target
#表示支持dns解析以及该软件依赖于网络。after是一个依赖条件,systemd会根据after的条件把相关的进程一并启动
Wants=network-online.target
#先启动网络服务,才能启动nginx  wants也是一个依赖条件,systemd会把这个网络功能一并启动
[Service]  #服务运行的参数设置
Type=forking   #后台运行
PIDFile=/usr/local/nginx/run/nginx.pid
#注意文件位置,如果不对 启动不了
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 
#服务启动时具体运行的命令:注意启动文件位置
ExecReload=/bin/kill -s HUP $MAINPID  #重启的命令
ExecStop=/bin/kill -s TERM $MAINPID    #停止进程的命令
[Install]    #服务安装的相关设置,以及运行的模式
WantedBy=multi-user.target    #支持多用户模

系统的运行级别

运行级别                             systemd对应的target                  说明

0                                              target                                                关机

1                                              rescue.target                                   单用户模式,系统维护时使用

2                                             multi-user.target                               字符模式

3                                             multi-user.target                                字符模式  完整的字符模式  3模                                                                                                          式可以支持多用户,在工作                                                                                                                中,我们遇到的都是3

4                                             multi-user.target                                字符模式

5                                             graphical.target                                 图形化用户模式

6                                             reboot.target                                      重启

查看系统的运行级别:runlevel

切换系统的运行级别:init 0 1 2 3 4 5 6 

服务控制

格式:systemctl  控制类型  服务名称(进程)

控制类型:

start 启动

stop 停止

restart 重启(先关闭再启动,修改服务的配置文件,必须要重启服务才能生效)

reload 重新加载单元配置 (systemctl daemon-reload)

status  查看服务的状态   running 正常运行

                                       dead  服务停止

                                       fail  启动失败   查看启动失败的原因   Result:exit-code 真正的启动失败

                                                                                                  Result:signal表明有人强制终止了                                                                                                                  该进程,不一定是报错

实验

1.MBR引导:MBR分区表被删了,如何恢复

dd if =/dev/sda of=/backup/mbr.bak bs=512 count=1

MBR分区表在第一块硬盘当中的第一个分区,大小512字节,把这个分区表从第一个硬盘当中提取出来,保存在sdb的硬盘中,就是给MBR分区表做一个备份。

作用就是备份

2.grup引导菜单故障

chroot /mnt/sysimage 进入系统的根环境

3.root密码忘了,改怎么办?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值