引导过程与服务控制及其实验

目录

引导过程

服务器开机过程

步骤说明

开机自检(BIOS)

MBR引导

grub菜单

加载linux内核

系统初始化

init与systemd

systemd单元类型

systemd作用

命令

systemctl 系统控制命令

控制类型

运行级别相关命令

运行级别划分

运行级命令

其他

实验

修复MBR扇区故障

grub故障

遗失root密码怎么办?


引导过程

服务器开机过程

开机自检(BIOS)
检测出第一个能够引导系统的设备,要么是硬盘,要么是光驱

MBR主引导程序
引导包含操作系统的引导文件

grub菜单
获取用户选择的操作系统指定的内核以及镜像文件

加载内核:
给驱动程序、系统依赖程序、用户自定义程序调度并分配资源,放到内存中

init初始化:
启动上述程序,等待用户登录

步骤说明

开机自检(BIOS)

服务器开机之后,根据主板BIOS中的设置对内存、显卡、硬盘等一系列设备进行初步的检测,初步检测就是检测设备是否正常运行,这里指的是硬盘,系统就开始移交控制权给硬盘(/dev/sda)。

MBR引导

主引导记录,第一个扇区的MBR,引导系统找到boot分区,就找到了系统的启动程序,根据MBR记录,调用启动菜单grub,之后系统的控制器移交给grub

grub菜单

统一启动加载器,多系统的引导器程序。

控制权到了grub菜单后,就会显示启动菜单给用户进行选择。选择之后(有默认值),加载你所选择的操作系统的linux内核文件,系统控制权移交给内核

注:centos7采用的是grub2启动引导器 文件夹位置:/boot/grub2/grub.cfg

加载linux内核

内核也是一个文件,这个文件是一个已经编译好的二进制文件介于硬件资源和系统的程序之间,负责资源的分配,调度给系统程序来进行使用。此时内核文件将控制整个系统的运行过程 。

其中程序包含驱动、用户自定义的开机自启的程序,以及系统启动必要的环境程序,这时候只是在分配资源,程序还没有运行,统统加载到内存当中,之后控制权移交给系统的初始化程序

系统初始化

之前的程序加载到内存中,在内存中开始运行,/sbin/init开始运行上述程序驱动、用户自定义、系统启动必要的环境程序,等待用户登陆。

init与systemd

centos7之前的初始化方式

init:初始化过程是串行的,一个个执行,速度比较慢,init进程是系统的第一个进程,是所有进程的父进程,进程号永远为1。

centos7的初始化方式

systemd:进化后的init初始化程序。并行启动,速度快。systemd用于管理系统进程的管理器
通过单元(unit)来描述和控制系统的进程和资源。centos7的第一个init是systemd pid 1是所有进程的父进程

systemd单元类型

service:启动、管理一个系统进程:firewalld,httpd.mvsald 可以指定服务的启动、关闭、重启、查看状态、依赖关系、日志记录

Socket:通信套接字,监听网络套接字,管理网络服务,提供网络接口

target :是一组服务的集合,用于系统在不同运行级别下的状态。用什么样的状态进行系统运行

systemd作用

1.并行处理

2.支持自动重启服务,确保进程的可靠性和稳定性

3.动态调整服务参数和资源控制,提高灵活性以及可管理性

4.支持启动依赖关系,而且可以控制依赖关系,确保进程的正确启动和运行

5.既支持命令行,也可以支持图形化工具

命令

systemctl 系统控制命令

systemctl 控制类型 进程名称

控制类型


start 开启
stop 停止
restart 重启 只要是修改了配置文件必须重启,否则不生效 (stop+start)
reload 重新加载
status 查看状态

运行级别相关命令

运行级别划分

0 关机
1 单用户  (一般用于维护)
1~4字符界面
5 图形化界面
6 重启

运行级命令

runlevel 查看运行级别

N 表示之前没有且换过运行级别

init 切换运行级别

systemctl get-default 查看默认级别
systemctl set-default 改变默认级别

其他

服务器关机命令
init 0 
shutdown 
poweroff

服务器重启命令
init 6 
reboot

实验

修复MBR扇区故障

创建一个备份硬盘

引导过程与服务控制及其实验_第1张图片

创建备份并模拟故障

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

进入急救模式(选troubleshooting,再选rescue a centos system,等待后输入1,最后回车)

引导过程与服务控制及其实验_第2张图片

引导过程与服务控制及其实验_第3张图片

进入急救模式后

mkdir backup/
mount /dev/sdb1 /backup
dd if=/backup/mbr.bak of=/dev/sda
reboot

  

引导过程与服务控制及其实验_第4张图片

grub故障

确保镜像设置为以下状态 

 引导过程与服务控制及其实验_第5张图片

模拟grub出现问题

rm -rf /boot/grub2/grub.cfg

 重启时按Esc键(手速要快)

选择3

引导过程与服务控制及其实验_第6张图片进入急救模式 

chroot /mnt/sysimage
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/crub.cfg
exit
reboot

遗失root密码怎么办?

首先输入

setenforce 0

重启Esc并进入救急模式后

chroot /mnt/sysimage
passwd root
输入新密码
重复输入
exit
reboot

你可能感兴趣的:(linux的学习,linux,运维,服务器,网络)