#################################
#
1.
通电
#
#################################
#################################
#
2.
bios
初始化
#
#################################
对硬件检测
初始化硬件时钟
#################################
#
3.
磁盘引导
#
#################################
mbr
=
主引导记录
=
0
磁道
1
扇区
446
作用
:
记录
grub2
引导文件的位置
当
mbr
数据丢失系统会因为找不到启动分区而停止启动
问题模拟方式
系统磁盘
/
dev
/
sda
dd
if=/
dev
/
zero of
=/
dev
/
vda bs
=
446
count
=
1
##
清空系统
/
dev
/
sda
上的
mbr
数据
![](https://i-blog.csdnimg.cn/blog_migrate/151295c8e0695c22dc74fd2e0141ce49.png)
恢复方式
:
用光盘进入系统挽救模式
chroot
/
mnt
/
sysimage
grub2
-
install
/
dev
/
vda
![](https://i-blog.csdnimg.cn/blog_migrate/e589e0f454f45afa54e2a64bfe91033a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1c76f1d8ff7d197f695f18bcba8c3029.png)
##
重新安装
grub2
到系统硬盘上
exit
exit
![](https://i-blog.csdnimg.cn/blog_migrate/ddfd56d6ff3043349007f11d4fa67172.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e35ee23a646ab39566ae9cc04df87010.png)
#################################
#
4.
grub2
文件引导
#
#################################
rhel8
/
boot
/
grub2
/
grub.cfg
/
boot
/
loader
/
entries
/
xxxxxxxxx.conf
指定
/
boot
位置
指定系统启动时加载文件成名
模拟问题
1
:
rhel8
:
rm
-
fr
/
boot
/
loader
/
entries
/
xxxxxxxxx.conf
![](https://i-blog.csdnimg.cn/blog_migrate/3c37c5815c5767244033be793eb1bd7d.png)
修复
:
rhel8
:
cp
/
usr
/
lib
/
modules
/
4.18.0
-
193.
el8.x86_64
/
bls.conf
/
boot
/
kerne
-
install add
内核版本号 内核镜像
kernel
-
install add $(uname
-
r)
/
boot
/
vmlinuz
-
4.18.0
-
193.
el8.x86_64
手动引导
set root
=
'hd0,msdos1'
linux16
/
vmlinuz
-
3.10.0
-
957.
el7.x86_64 ro root
=/
dev
/
nvme0n1p2
initrd16
/
initramfs
-
4.18.0
-
80.
el8.x86_64.img
boot
![](https://i-blog.csdnimg.cn/blog_migrate/f084c51396cb7285a3ecab643890a9a3.png)
模拟问题
2
:
rm
-
fr
/
boot
/
grub2
/
grub.cfg
修复
:
grub2
-
mkconfig
> /
boot
/
grub2
/
grub.cfg
#################################
#
5.
内核加载
#
#################################
加载内核作用
:
/
boot
/
vmlinuz
-
$(uname
-
r)
系统初始化硬件设备
只读挂在
/
设备
问题出现
:
rm
-
fr
/
boot
/
vmlinuz
-
$(uname
-
r)
恢复
:
复制系统中
usr
下的内核文件到
/
boot
中即可
进入到挽救模式
chroot
/
mnt
/
sysimage
cp
/
usr
/
lib
/
modules
/
$(uname
-
r)
/
vmlinuz
/
boot
/
vmlinuz
-
$(uname
-
r)
![](https://i-blog.csdnimg.cn/blog_migrate/f7393492f23e7addb864c27cd75cd93e.png)
exit
exit
#################################
#
6.
系统初始化镜像
#
![](https://i-blog.csdnimg.cn/blog_migrate/f52b0f9b19b6ee3e5f0a7cbbc101ab68.png)
(关闭selinux)
#################################
/
boot
/
initramfs
-
4.18.0
-
80.
el8.x86_64.img
加载系统时钟
加载
selinux
加载系统主机信息
加载
/
etc
/
fstab
文件中磁盘挂在策略
加载磁盘配额
初始化系统程序开启开机启动服务
开启虚拟控制台
开启图形
问题出现
:
rm
-
fr
/
boot
/
initramfs
-
xxxxx.img
恢复
:
mkinitrd
/
boot
/
initramfs
-
$(uname
-
r).img $(uname
-
r)
![](https://i-blog.csdnimg.cn/blog_migrate/4ff56635b350549f587ad5fa33878f75.png)
#################################
#
7.
系统启动级别
#
![](https://i-blog.csdnimg.cn/blog_migrate/5a5bf2eaa3f329b2b63716f406654a15.png)
#################################
0
关机
1
单用户
2
无图形网络模式
3
无图形网络模式
4
无图形网络模式
5
有图形网络模式
6
重启
问题出现
:
systemctl set
-
default reboot.target
![](https://i-blog.csdnimg.cn/blog_migrate/cb5f03990d9e381444ae73da533f6716.png)
恢复
:
在开机选择界面按
<
e
>
进入到引导文件编辑模式
![](https://i-blog.csdnimg.cn/blog_migrate/fa572abb78f8dd71cf8bb1e293b603bb.png)
在内核加载选项最后加入启动级别
5
ctrl
+
x
![](https://i-blog.csdnimg.cn/blog_migrate/7dbdcbfbc0515e235cabb496592dfb01.png)
systemctl set
-
default graphical.target
#################################
#
8.
超级用户密码忘记
#
#################################
恢复
:
1.
在开机选择界面按
<
e
>
进入到引导文件编辑模式
2.
在内核加载选项最后删除到
ro
选项
3.
更改
ro
---->
rw
![](https://i-blog.csdnimg.cn/blog_migrate/164b5221dbf2cb4ad1be80b28dcdf13d.png)
4.
加入
rd.break
参数终止系统启动进入单用户模式
5.
ctrl
+
x
启动
6.
chroot
/
sysroot
![](https://i-blog.csdnimg.cn/blog_migrate/4e796dd98d7a93d712833dcbb5496961.png)
7.
echo lee
|
passwd
--
stdin root
8.
touch
/
.autorelabel ##
当
/
.autorelabel
文件存在
selinux
会重新初始化
cp kernel
core
-
4.18.0
-
80.
el8.x86_64.rpm
/
mnt
/
exit
exit
实验
:
rm
-
fr
/
boot
/*
恢复步骤
grub2
-
install
/
dev
/
sda
grub2
-
mkconfig
> /
boot
/
grub2
/
grub.cfg
rpm
-
ivh kernel
-
core
-
xxxx.rpm