bios初始化
对硬件检测
初始化硬件时钟
![](https://i-blog.csdnimg.cn/blog_migrate/bc62034cab097489f707ec8d52adcd72.png)
磁盘引导
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/aa84ea431fa1ba25b26a3e265f534c14.png)
更改光盘设置
![](https://i-blog.csdnimg.cn/blog_migrate/898f0b9ae642f140fab848cc6353f7d5.png)
虚拟机进不去
![](https://i-blog.csdnimg.cn/blog_migrate/81da524c2c0517a23fff25fa7452cbf5.png)
恢复方式
:
进入bios界面,选择Boot并将CD-ROM移至第一个
![](https://i-blog.csdnimg.cn/blog_migrate/130657f8cdffee03398d24f09b23ce26.png)
进入该界面后,选择Troubleshooting
![](https://i-blog.csdnimg.cn/blog_migrate/85ee3be683cba190b013f9fb839f29cb.png)
该界面选择Rescue a Red Hat ...
![](https://i-blog.csdnimg.cn/blog_migrate/fca229b3fa96e407b1da628d7e129d02.png)
等待,直到出现该界面,并输入数字1
![](https://i-blog.csdnimg.cn/blog_migrate/6585785badaac6ad1eac339e60c876ca.png)
用光盘进入系统挽救模式
chroot
/
mnt
/
sysimage
grub2
-
install
/
dev
/
vda
##
重新安装
grub2
到系统硬盘上
![](https://i-blog.csdnimg.cn/blog_migrate/f88110f1f1ab637f887c5a463da38757.png)
输入两次exit,系统会重启
![](https://i-blog.csdnimg.cn/blog_migrate/016810e9d464a76d1d3d909a4a632599.png)
进入bios界面修改设置
![](https://i-blog.csdnimg.cn/blog_migrate/be3cc515c1f4f169bc0a77b8f3dc7f45.png)
这样子,虚拟机就修复好了
![](https://i-blog.csdnimg.cn/blog_migrate/ab6465d0e43bcc843e3f99e72fddbb18.png)
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/804b8a9182661e20b94260d59fce5ee1.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
![](https://i-blog.csdnimg.cn/blog_migrate/d8cf86c0224d458b64024139730aac0b.png)
手动引导
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
模拟问题
2
:
rm
-
fr
/
boot
/
grub2
/
grub.cfg
![](https://i-blog.csdnimg.cn/blog_migrate/2957026e2270eb7fa8071f3d362fc62b.png)
修复
:
grub2
-
mkconfig
> /
boot
/
grub2
/
grub.cfg
![](https://i-blog.csdnimg.cn/blog_migrate/4bcffa84dead6521153fd2924a39cb8e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fa2ae217e267032c0e83f4de02ca3f92.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c6e65b21ce9c6408b84052acbb0aa039.png)
内核加载
加载内核作用
:
/
boot
/
vmlinuz
-
$(uname
-
r)
系统初始化硬件设备
只读挂在
/
设备
问题出现
:
rm
-
fr
/
boot
/
vmlinuz
-
$(uname
-
r)
![](https://i-blog.csdnimg.cn/blog_migrate/712e2473b68af8f889f6f3ebda8dc8ea.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9a8507c4bcdd4672d3225bb8a74a9dbf.png)
恢复
:
复制系统中
usr
下的内核文件到
/
boot
中即可
进入到挽救模式
chroot
/
mnt
/
sysimage
cp
/
usr
/
lib
/
modules
/
$(uname
-
r)
/
vmlinuz
/
boot
/
vmlinuz
-
$(uname
-
r)
exit
exit
![](https://i-blog.csdnimg.cn/blog_migrate/03e8084708cd95424dac5987425d28c2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/112be9554f842e35cf94720782183e34.png)
系统初始化镜像
/
boot
/
initramfs
-
4.18.0
-
80.
el8.x86_64.img
加载系统时钟
加载
selinux
加载系统主机信息
加载
/
etc
/
fstab
文件中磁盘挂在策略
加载磁盘配额
初始化系统程序开启开机启动服务
开启虚拟控制台
开启图形
问题出现
:
rm
-
fr
/
boot
/
initramfs
-
xxxxx.img
![](https://i-blog.csdnimg.cn/blog_migrate/33c52df9020a834299efbd7e3f77ed75.png)
恢复
:
mkinitrd
/
boot
/
initramfs
-
$(uname
-
r).img $(uname
-
r)
![](https://i-blog.csdnimg.cn/blog_migrate/b08bc23bf8e4cd1053827250af3a5592.png)
系统启动级别
0
关机
1
单用户
2
无图形网络模式
3
无图形网络模式
4
无图形网络模式
5
有图形网络模式
6
重启
问题出现
:
systemctl set
-
default reboot.target
![](https://i-blog.csdnimg.cn/blog_migrate/0c8c23c5ba5567ef94899c633f09128b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2a7c877179c81a23a8680f38e60b1a8f.png)
恢复
:
在开机选择界面按
<
e
>
进入到引导文件编辑模式
在内核加载选项最后加入启动级别
5
![](https://i-blog.csdnimg.cn/blog_migrate/76967f70c7c7b7509e765f30e34725e2.png)
ctrl
+
x
![](https://i-blog.csdnimg.cn/blog_migrate/1f51888bfe894ec5d8e89500727218b8.png)
systemctl set
-
default graphical.target
![](https://i-blog.csdnimg.cn/blog_migrate/5a7a0715c1e5da25484fbbc28df530bd.png)
超级用户密码忘记
恢复
:
1.
在开机选择界面按
<
e
>
进入到引导文件编辑模式
2.
在内核加载选项最后删除到
ro
选项
3.
更改
ro
---->
rw
4.
加入
rd.break
参数终止系统启动进入单用户模式
![](https://i-blog.csdnimg.cn/blog_migrate/9d39ed64267cd7eaedecccb130f4d7ba.png)
5.
ctrl
+
x
启动
![](https://i-blog.csdnimg.cn/blog_migrate/7ade4445471c15442755257fa171c59a.png)
6.
chroot
/
sysroot
7.
echo lee
|
passwd
--
stdin root
8.
touch
/
.autorelabel ##
当
/
.autorelabel
文件存在
selinux
会重新初始化
cp kernel
core
-
4.18.0
-
80.
el8.x86_64.rpm
/
mnt
/
![](https://i-blog.csdnimg.cn/blog_migrate/8d2d6aa3e832110e0962fc4e4bb40d4f.png)
exit
exit
![](https://i-blog.csdnimg.cn/blog_migrate/65fb21b372030309f6baf6eac6f3a6e3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7b4a7a469f46e88cf26ac814f5047ac3.png)
实验
:
rm
-
fr
/
boot
/*
恢复步骤
grub2
-
install
/
dev
/
sda
grub2
-
mkconfig
> /
boot
/
grub2
/
grub.cfg
rpm
-
ivh kernel
-
core
-
xxxx.rpm