图文详解Linux系统引导过程及引导修复
目录
前言
1、模拟问题
2、修复方式
二、grub2 文件引导与修复
1、模拟问题1
2、引导及修复过程
3、模拟问题2
4、引导及修复过程
1、模拟问题
2、引导及修复过程
四、系统初始化镜像
1、模拟问题
2、引导及修复过程
五、系统启动级别
1、模拟问题
2、引导及修复过程
六、超级用户密码忘记
总结
前言
我们平常一些不规范、不正确的操作会导致系统出现各种各样的问题,在实际工作中,重装服务器显然是不现实的,因此我们需要了解系统启动原理并据此找到修复系统各个场景所出现问题的方法。
课程开始前首先大家先关闭
一、磁盘引导与修复
在启动程序时,磁头经过mbr程序的指引跳转到boot分区,开启系统启动程序,读取相应的配置文件,系统正常启动,因此当 mbr 数据丢失时,系统会因为找不到启动分区而停止启动。
mbr=主引导记录=0磁道1扇区446存储字节
作用:记录 grub2 引导文件的位置
1、模拟问题
系统磁盘/dev/sda
dd if=/dev/zero of=/dev/xxx(系统磁盘) bs=446 count=1 ##清空系统/dev/sda 上的 mbr 数据 此时重启系统后会停滞导致无法正常启动
2、修复方式
(1)在虚拟机关闭模式下设置光盘为第一启动项,应用,从光盘进入系统,选择挽救模式,输入以下命令:
/mnt/
grub2- /dev/ #重新安装grub2文件到系统硬盘上
(2)执行两次exit,关闭系统,并选择硬盘为第一启动项,启动系统,发现系统可以正常启动
grub2- /dev/
等待加载完毕,关机重新开机
二、grub2 文件引导与修复
grub2作用:告诉他启动系统需要加载的文件有哪些,并让他自动加载
文件存储路径:
/boot/grub2/grub.cfg
总引导文件
/boot///.conf
子引导文件
删除上述任意一个文件都会导致系统无法正常启动
1、模拟问题1
rm -fr /boot///.conf 删除子引导文件
2、引导及修复过程
手动引导:
重启系统并执行如下指令
set root='hd0,'
/-3.10.0-957.el7. ro root=/dev/
/-4.18.0-80.el8..img
boot
修复:
完成上述引导过程后可正常进入系统,但是还需要修复,否则下次重启还是无法正常启动
cp /usr/lib//4.18.0-193.el8./bls.conf /boot/
kerne- add 内核版本号 内核镜像
- add $(uname -r) /lib//$(uname -r)/
3、模拟问题2
rm -fr /boot/grub2/grub.cfg 删除总引导文件
4、引导及修复过程
引导:和问题1引导过程相同
修复: grub2- > /boot/grub2/grub.cfg 创建cfg总引导文件
注意:上述问题出现时,如果没有重启系统,可直接用修复过程修复,如果重启系统可利用上述引导操作进入系统,之后同样需要进行修复,以保证之后可以正常进入系统
三、内核加载
加载内核作用:/boot/-$(uname -r)
系统初始化硬件设备,只读挂在根目录下的设备。
1、模拟问题
rm -fr /boot/-$(uname -r)
2、引导及修复过程
复制系统中usr下的内核文件到/boot中即可
在关闭模式下选择光盘为第一启动项,启动系统,进入到挽救模式,执行以下命令:
/mnt/
cp /usr/lib//$(uname -r)/ /boot/-$(uname -r)
exit
exit
导致系统启动失败,只能进入挽救模式
四、系统初始化镜像
文件位置: /boot/-4.18.0-80.el8..img
作用:
加载系统时钟
加载
加载系统主机信息
加载/etc/fstab 文件中磁盘挂在策略
加载磁盘配额
初始化系统程序开启开机启动服务
开启虚拟控制台
开启图形
1、模拟问题
rm -fr /boot/-xxxxx.img 删除镜像文件,系统无法正常启动
2、引导及修复过程
/boot/-$(uname -r).img $(uname -r) 恢复初始化镜像文件
光盘启动
五、系统启动级别
关机
单用户
无图形网络模式
无图形网络模式
无图形网络模式
有图形网络模式
重启
系统开机启动的原理
启动级别设定的目录
这个文件是启动脚本
1、模拟问题
set- .
2、引导及修复过程
在开机选择界面按进入到引导文件编辑模式
在内核加载选项最后加入启动级别 5
ctrl+x
set- .
最后开机后 set-. 恢复回来
六、超级用户密码忘记
恢复方法:
1.在开机选择界面按进入到引导文件编辑模式
2.在内核加载选项最后删除到 ro 选项
3.更改 ro---->rw
4.加入 rd.break 参数终止系统启动进入单用户模式
5.ctrl+x 启动
6. /
7.echo lee| --stdin root
8.touch /. ##当/. 文件存在 会重新初始化
删除到r之后
如果开启需要做以下操作,但是建议每一次都这样操作
如果不小心把/boot/目录下的东西全删掉怎么结局?
实验:
rm -fr /boot/*
恢复步骤
grub2- /dev/sda
grub2- > /boot/grub2/grub.cfg
rpm -ivh -core-xxxx.rpm
或者如果配置好了软件仓库也可以
grub2- /dev/
dnf -core. -y
grub2- > /boot/grub2/grub.cfg
总结
本章内容重去讲解了Linux系统引导过程及引导修复,其中涵盖磁盘引导及修复、grub2文件引导及修复、内核的加载修复、系统初始化镜像修复、系统启动级别修改后的修复、超级用户忘记密码的解决策略。在平常的工作中总会有很多出其不意的问题等待着我们去解决,希望这篇文章对大家有所帮助。