linux系统引导过程和服务控制

引导顺序

1、开机自检(BLOS)

2、MBR引导

3、grub菜单

4、加载内核文件

5、inti/systemd启动方式

systemd 单元类型

实验

1、mbr引导 :mbr分区表被删除 如何恢复

2、gup引导菜单故障

3、忘记密码

引导顺序

当你按下开机的电源键直到屏幕显示登录的页面,这中间系统做的一些开机的过程

1、开机自检(BLOS)

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

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

2、MBR引导

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

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

3、grub菜单

硬盘启动后,找到系统分区,也找到了操作系统所在的位置,grub就会显示启动菜单,包含所有当前可选地操作系统

选择了其中一个操作系统后,系统转移控制权,转移到操作系统的内核文件。

centos7使用的都是grub2启动引导器

4、加载内核文件

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

5、inti/systemd启动方式

/sbin/init 进程是系统当中第一个进程,是所有其他的进程的父进程 。init进程在系统中的进程号永远是一

inti 是串行 一个一个启动。速度慢

lib/systemd/system 他是系统的第一个进程,进程号也是1

systemd是并行 加载在内存当中的程序,一起启动 速度快,

systemd 单元类型

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

特点

1、支持并行服务,提高系统的启动速度

2、可以自动重启

3、可以再进程运行期间动态的控制他的资源和相关的服务参数

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

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

单元类型

image-20240523101842786

单元类型扩展名描述
service.service描述一个系统进程
target.target描述一组systemd的单元、进程在不同级别下运行的状态
socket.socket进程启动根据其配置,分配系统端口 监听端口状态。如果有请求,维护端口通信(提供网络服务)
device.device管理硬件设备,驱动程序,设备文件,设备属性
mount.mount管理文件系统的挂载,以及挂载选项,以及挂载后的数据管理
Automount.automount根据配置,自动的实现设备和文件之间的挂载

系统的运行级别

运行级别systemd对应的target说明
0target关机
1rescue.target单用户模式,系统维护时使用
2multi-user.target字符模式和三一样
3multi-user.target字符模式,完整的字符模式 3模式可以支持多用户,在工作中,遇到的都是三
4multi-user.target字符模式和三一样
5graphical.target图像化多用户模式(工作中没有)
6reboot.target重启

切换系统级别:init +级别=切换系统级别的命令

查看运行级别:runlevel

如何对服务进程进行控制:systemctl 控制类型 服务名称(进程)

控制类型

start 启动

stop 停止

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

reload 重新加载 重新加载单元状态

status 查看服务状态

running 正常运行

dead 服务失败

fail 启动失败 查找启动失败的原因 exit -code 真正启动失败了

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

实验

1、mbr引导 :mbr分区表被删除 如何恢复

在虚拟机创建新磁盘

image-20240523164559388

lsblk  查看磁盘情况
fdisk /dev/sbd  设置新增磁盘sdb
n三次回车 完成默认配置
lsblk    查看磁盘配置 查看此时的20g文件是否分配给了sdb1
查看新新创建的磁盘
mkdir /backup  创建备份目录
mkfs .xfs /dev /sbd1 创建文件系统
mout /dev/sdb1 /backup/  将磁盘信息挂载进备份目录
df -h 查看磁盘挂载情况
​
mbr分区表在第一硬盘当中的第一个分区,大小512字节 把这个分区表从第一个硬盘中提取出来,保存在sdb的硬盘中(相当于mbr分区表做了一个备份)
​
dd  if=/dev /sda of =/backup/mbr.bak   bs=521   count=1
模拟删除分区表,用空文件覆盖mbr分区表
dd if =/dev/zero of =/dev/sda bs=512  count =1
​
重启
init 6

进入虚拟机 j进入急救模式 troubleeshoot ing Rescue a CentOS system

进入急救模式后
​
创建一个新的目录,将原先的备份信息放入到 backupir  这个新目录当中
mkdir  /backupdir
mount /dev/sdb1 /backupdir/
​
显示磁盘挂载信息
df -h  
​
进入到backupdir这个目录中查看信息
cd   backupdir/
​
发现是否获得了之前在mbr表中的备份信息  mbr.bak
ls
​
这是将backupdir的备份信息传到sda
​
dd if=/backupdir/mbr.bak of =/dev/sda
exit  退出 自动重启

这里是先备份在恢复

2、gup引导菜单故障

进入到boot   里面找到centos7的grub2
# cd /boot/
# ls
config-3.10.0-957.el7.x86_64
efi
grub
grub2
​
进入到这个目录 找到 grup.cfg  这个文件进行删除 rm -rf  grup .cf 然后进行重启
​
# cd grub2/
# ls
device.map  fonts  grub.cfg  grubenv  i386-pc  locale
# rm -rf grub.cfg
# init 6
​

进入虚拟机

重启虚拟机时进入急救模式

在这里点击重置后摁 esc键进入急救模式(要快)

进入光盘镜像
chroot /mnt/sysimage  进入光盘的根目录
这里是把grub  重新安装到第一块硬盘
​
grub2-install /dev/sda
​
重新构建grub的信息
grub2-mkconfig -o /boot/grub2/grub.cfg
​
重启
reboot

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

3、忘记密码

root密码忘记了

在xshll中关闭安全机制

setenforce 0 安全机制

进入系统根目录
chroot   /mnt/sysimage/
修改密码
passwd  root  
两次确认新密码
exit退出
reboot  重启
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值