文章目录
- 1.通电
- 2.bios初始化
- 3.磁盘引导/dev/sda
-
- 3.1.问题模拟方式/dev/sda
- 3.2.恢复方式
- 4.grub2文件引导(1)
-
- 4.1.模拟问题
- 4.2.未重启修复方法
- 4.3.已重启修复方法
- 5.grub2文件引导(2)删除grub.cfg
-
- 5.1.模拟问题
- 5.2.修复方法
- 5.内核加载
-
- 5.1.模拟问题
- 5.2.修复方法
- 6.系统初始化镜像
-
- 6.1.模拟问题·
- 6.2.未重启的修复方法
- 6.3.已重启的修复方法
- 7.系统启动级别
-
- 7.1.模拟问题
- 7.2.修复方法
- 8.忘记超户密码解决方法
fdisk -l
:查看当前磁盘及分区信息
df
:查看文件系统(分区)的使用情况
<实验前提前查看>
1.通电
先检查基础问题,看是否是电源问题
2.bios初始化
- 对硬件检测
- 初始化硬件时钟
3.磁盘引导/dev/sda
-
mbr = 主引导记录 = 0磁道1扇区446 (其中只存放了c盘的位置)
-
作用: 记录grub2 引导文件的位置,找到系统的启动分区
-
当 mbr 数据丢失系统会因为找不到启动分区而停止启动
3.1.问题模拟方式/dev/sda
fdisk -l
:查看当前磁盘及分区信息dd if=/dev/zero of=/dev/*所在 bs=446 count=1
:清空系统/dev/sda上的mbr数据
- 重启失败:
3.2.恢复方式
- 关机
- 添加光盘,设定为光盘驱动
- 开机===>进入挽救模式
- 重新安装grub2到系统硬盘上
1. chroot /mnt/sysimage
2. grub2-install /dev/XXX
3. exit
4. exit
<挽救模式下的 / 是光盘的 /,硬盘的 / 会被挂载到当前环境光盘 /mnt/sysimages上>
- 关机===>切换到硬盘驱动 ===>开机,挽救成功!!!
4.grub2文件引导(1)
4.1.模拟问题
rm -fr /boot/loader/entries/*
df
:查看文件系统(分区)的使用情况
uname -r
:查看当前的kernel版本信息
#kernel-install add 内核版本号 内核镜像
kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-80.el8.x86_64
4.2.未重启修复方法
cp /usr/lib/modules/4.18.0-80.el8.x86_64/bls.conf /boot/
kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-80.el8.x86_64
4.3.已重启修复方法
- 删除后重启系统:
1. rm -fr /boot/loader/entries/*
2. reboot
- grub引导===>boot开机
1. set root=‘hd0,msdos1’
2. linux16 /vmlinuz-4.18.0-80.el8.x86_64 ro root=/dev/XXX
(df
查看到根下对应分区为/dev/sda3)
3. initrd /initramfs-4.18.0-80.el8.x86_64.img
4. boot
1. cp /usr/lib/modules/4.18.0-80.el8.x86_64/bls.conf /boot/
(若/boot/下有bls.conf则不用复制)
2. kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-80.el8.x86_64
5.grub2文件引导(2)删除grub.cfg
5.1.模拟问题
rm -fr /boot/grub2/grub.cfg
reboot
5.2.修复方法
cp /usr/lib/modules/4.18.0-193.el8.x86_64/bls.conf /boot/
(若/boot/下有bls.conf则不用复制)
reboot
- grub引导
1. set root=‘hd0,msdos1’
2. linux16 /vmlinuz-4.18.0-80.el8.x86_64 ro root=/dev/XXX
(df
查看到根下对应分区为/dev/sda3)
3. initrd /initramfs-4.18.0-80.el8.x86_64.img
4. boot
grub2-mkconfig > /boot/grub2/grub.cfg
可以发现/boot/grub2/grub.cfg找回!!!
5.内核加载
- 加载内核作用:/boot/vmlinuz-$(uname -r)
- 系统初始化硬件设备
- 只读挂载设备
5.1.模拟问题
rm -fr /boot/vmlinuz-4.18.0-80.el8.x86_64
出现以下情况:
5.2.修复方法
- 关机===>设定光盘驱动
- 挽救模式
1. chroot /mnt/sysimage
2. cp /usr/lib/modules/4.18.0-80.el8.x86_64/vmlinuz /boot/vmlinuz-$(unmae -r)
3. exit
4. exit
- 关机===>设定硬盘驱动===>开机成功!!!
6.系统初始化镜像
6.1.模拟问题·
rm -fr /boot/initramfs-4.18.0-80.el8.x86_64.img
- 重启出现的问题:
6.2.未重启的修复方法
mkinitrd /boot/initramfs-4.18.0-193.el8.x86_64.img 4.18.0-80.el8.x86_64
6.3.已重启的修复方法
- 关机===>设定光盘驱动
- 进入挽救模式
1. chroot /mnt/sysimage
2. mkinitrd /boot/initramfs-4.18.0-193.el8.x86_64.img 4.18.0-80.el8.x86_64
3. exit
4. exit
- 关机===>设定硬盘驱动===>开机===>查看初始化镜像
7.系统启动级别
0 关机
1 单用户
2 无图形网络模式
3 无图形网络模式
4 无图形网络模式
5 有图形网络模式
6 重启
7.1.模拟问题
- 设定启动级别为重启
systemctl set-default reboot.target
或
systemctl set-default runlevel6
reboot
后进入无限循环重启
7.2.修复方法
- 按<e>进入到引导文件编辑模式
—> 在quit后写入5
—>按<ctrl> + <X>
- 设定有图形模式:
systemctl set-default graphical.target
8.忘记超户密码解决方法
-
reboot
—>按<e>进入到引导文件编辑模式
—>将ro改为rw
—>写入rd.break
—>按<ctrl>+<X>
-
1. chroot /sysroot/
2. echo XXX | passwd --stdin root
:修改root密码为XXX
3. touch /.autorelabel
:当 / .autorelabel 文件存在 selinux 会重新初始化