Linux引导过程

文章详细阐述了Linux系统从BIOS自检到GRUB引导,再到内核加载和init/systemd进程初始化的引导流程。同时,介绍了如何修复MBR引导故障和GRUB配置丢失的问题,以及处理忘记root密码的解决方案。重点讨论了CentOS7中systemd作为初始化程序的并行启动、服务管理和依赖关系处理的特点。
摘要由CSDN通过智能技术生成

linux引导过程:

开机自检(bios)—>MBR引导---->GRUB菜单---->加载内核(kernel)---->init进程初始化

windows用的是GPT引导

第一步:开机自检(bios)

1.服务器开机之后,根据主板bios中的设置:对cpu,内存、显卡、硬盘等一系列设备进行初步的检测

这些都是初步检查,就是检测设备是否正常运行(正常运行指的是硬盘),系统开始移交控制权,把控制权交给硬盘 /dev/sda
第二步:MBR引导:

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

第三步:grub菜单

grub:统一启动加载器,多系统的引导器程序。控制权到了grub菜单,显示启动菜单给用户进行选择

选择了之后(不动即默认值),加载你所选择的操作系统的linux的内核文件,系统控制权移交,内核

centos7采用的是grub2启动引导器

/boot/grub2/grub.cfg

第四步:加载linux内核

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

程序包含:驱动程序,用户自定义的开机自启动的程序,以及系统启动的环境程序,这时候只是在分配资源,程序还没有运行,提前分配好了资源。统统加载到内存当中去。系统控制权的移交---------系统初始化程序

第五步:init系统进程初始化:加载到内存中,在内存中开始运行

centos 7以前,在/sbin/init,开启运行上述程序,驱动、用户自定义、系统必要的环境程序,全部启动。等待用户登录。

centos7之前的初始化方式:

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

centos7:

systemd:进化的init初始化程序。并行启动,速度快。

centos 7上第一个init是 systemd pid 1 同时也是所有进程的父进程

systemd:

1、并行处理

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

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

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

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

systemd 用于管理系统进程的管理器

通过单元[unit]来描述和控制系统进程和资源

通过单元类型来进行控制:

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

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

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

例如:图形化模式

字符模式:多用户模式:multi-user.target

systemctl 系统的控制命令:

systemctl [控制类型] [进程名称]

控制类型:
start 开启
stop 停止
restart 重启,只要是修改了配置文件,必须要重启,否则,不生效(先stop 再start)
reload 重新加载(不stop 直接重新加载)
status查看状态
yum安装会直接写在systemd配置文件中

runlevel 查看运行级别:
N表示之前没有切换过运行级别
5表示当前的运行级别 (可视化界面)
init 3 切换到字符界面
运行级别的状态:
0 关机
1单用户
2字符界面
3字符界面
4字符界面
5图形化界面
6重启
(生产上默认使用3)

查看默认运行级别:
systemctl get-default

设置运行级别:systemctl set-default
图形界面转字符界面命令为:
systemctl set-default multi-user.target
字符界面转图形界面命令为:
systemctl set-default graphical.target
关机的几种方式:init 0 ;shutdown ;poweroff
重启:init6 或 reboot (关机 重启都是对服务器,跟进程无关,是重启机器)
当MBR被删除导致系统无法启动如何修复mbr扇区修复?
第一步加载光盘镜像:
在这里插入图片描述
fdisk /dev/sdb 创建分区
mkfs.xfs /dev/sdb1 给sdb1创建文件系统
mkdir /data 创建永久挂载目录
vim /etc/fstab 打开编辑永久挂载目录
/dev/sdb1 /data xfs defaults 0 0
dd if=/dev/sda of=/data/mbr.bak bs=512 count=1 备份mbr.bak数据(将/dev/sda
从/dev/sda第一个文件到/data/ 文件为mbr.bak大小为512字节 复制一次
dd if=/dev/zero of=/dev/sda bs=512 count=1 模拟故障将/dev/sda占满
reboot 重启
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后:reboot重启
等待重启成功------修复完成

如何让修复grub引导故障?
模拟故障:rm -rf /boot/grub2/grub.cfg
reboot 重启

在这里插入图片描述
重启虚拟机,看到读条快速按下esc
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
回车
chroot /mnt/sysimage:加载光盘镜像切换到系统根目录
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
等待重启完成 ----->修复成功

如果不小心遗忘root密码,该如何解决?
解决方法如下:
重启虚拟机出现读条快速后快速按下esc
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
下一步:按回车

在这里插入图片描述
在这里插入图片描述
等待重启结束,输入更改后的密码即可成功登录
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值