1、通电

2、bios初始化

对硬件检测,初始化硬件时钟

3、磁盘引导

mbr=主引导记录=0磁道1扇区446k,用来记录grub2引导文件的位置,当mbr数据丢失系统会因为找不到启动分区而停止启动。这时就需要进入挽救模式重新安装grub2到硬盘上。

模拟问题:

dd if=/dev/zero of=/dev/vda bs=446 count=1       ####清空系统/dev/sda上的mbr数据

reboot

centos7 u盘引导修复 centos8引导修复_加载

centos7 u盘引导修复 centos8引导修复_centos7 u盘引导修复_02

启动失败

修复:

1)关闭虚拟机,添加一个光驱文件

centos7 u盘引导修复 centos8引导修复_运维_03

2)设置使用光驱驱动

centos7 u盘引导修复 centos8引导修复_运维_04

3)启动虚拟机,进入挽救模式

centos7 u盘引导修复 centos8引导修复_服务器_05

centos7 u盘引导修复 centos8引导修复_运维_06

4)进行修复

chroot /mnt/sysimage
grub2-install     /dev/vda                ##重新安装grub2到系统硬盘上
exit
exit

5)修复完成,设置扫描磁盘驱动,重新启动

centos7 u盘引导修复 centos8引导修复_加载_07

启动成功。

4、文件引导

rhel8
/boot/grub2/grub.cfg                              ##主引导文件
/boot/loader/entries/xxxxxxxxx.conf      ##子引导文件

模拟问题一:

rm -fr /boot/grub2/grub.cfg

在机内修复:

grub2-mkconfig > /boot/grub2/grub.cfg

问题二:

rm -fr /boot/loader/entries/*

在机内修复:

uname -r               ##查看内核版本号(4.18.0-193.e18.x86_64)
kernel-install add $(uname -r) /lib/modules/$(uname -r)/vmlinuz

开机时手动引导:

set root='hd0,msdos1'
linux16 /vmlinuz-$(uname -r) ro root=/dev/vda3
initrd16 /initramfs-$(uname -r).img

boot

centos7 u盘引导修复 centos8引导修复_centos7 u盘引导修复_08

注意:手动引导是暂时性的,如果不恢复配置文件则每次开机都需要手动引导

5、内核加载

问题:

rm -fr /boot/vmlinuz-$(uname -r)     ##删除加载内核文件
恢复:
cp /lib/modules/$(uname -r)/vmlinuz  /boot/vmlinuz-$(uname -r)   ##修复加载内核文件

开机修复:

进入到挽救模式
chroot /mnt/sysimage
cp /lib/modules/$(uname -r)/vmlinuz  /boot/vmlinuz-$(uname -r)
exit
exit

centos7 u盘引导修复 centos8引导修复_linux_09

6、镜像初始化
问题:

rm -fr /boot/initramfs-xxxxx.img

恢复:

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

开机手动修复:
进入到挽救模式

chroot /mnt/sysimage
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
exit
exit

centos7 u盘引导修复 centos8引导修复_linux_10

7、系统启动级别

问题:

systemctl set-default reboot.target       ##开机重启
reboot

恢复:
在开机选择界面按进入到引导文件编辑模式
在内核加载选项最后加入启动级别5
ctrl+x

centos7 u盘引导修复 centos8引导修复_加载_11

systemctl set-default graphical.target   ##设置有图形的网络模式

8、忘记超级用户密码

1.在开机选择界面按进入到引导文件编辑模式
2.在内核加载选项最后删除到ro选项
3.更改ro---->rw
4.加入rd.break参数终止系统启动进入单用户模式,并更改密码

centos7 u盘引导修复 centos8引导修复_加载_12


5.ctrl+x启动
6.chroot /sysroot
7.echo lee| passwd --stdin root
8.touch /.autorelabel

centos7 u盘引导修复 centos8引导修复_服务器_13