目录
1.系统引导过程概述
2.BIOS初始化
- 对硬件检测
- 初始化硬件时钟
3.grub磁盘引导阶段
3.1 MBR
- 主引导记录(MBR,Master Boot Record)是位于磁盘最前边的一段引导(Loader)代码
- mbr 的作用是为了记录 /boot 目录所在分区位置
- 位置:磁盘的 0 磁道 1 扇区的前 446 字节
- 当mbr数据丢失系统会因找不到启动分区而停止启动
3.2 问题模拟
1.查看系统磁盘
2.清空/dev/nvme0n1上的mbr数据,重启系统,无法正常启动
3.3 修复
1.在bios中设置用光盘启动
2.进入系统挽救模式
3.在挽救模式中,输入以下命令,重新安装grub2到系统硬盘上
4.输入两次exit,退出重启
5.在bios中设置从硬盘启动,系统可以正常使用
4.grub2文件引导阶段
4.1 基本介绍
-
文件位置:
- redhat企业7:/boot/grub2/grub.cfg
- redaht企业8:/boot/grub2/grub.cfg;/boot/loader/entries/xxxxxx.conf
-
作用
- 指定/boot分区位置
- 指定系统启动时所加载文件
- 加载内核
4.2 模拟问题
1.在企业7中:删除/boot/grub2/grub.cfg文件
2.在企业8中:删除/boot/loader/entries/xxxxxx.conf文件
4.3 修复
1.grub2文件损坏后,系统未重启,还处在当前系统中,可以直接修复
①:在企业7中:grub2-mkconfig > /boot/grub2/grub.cfg
②:在企业8中:kernel-install add 内核版本号 内核镜像
2.手动引导:系统grub2文件损坏后,开机时系统启动不了,输入以下命令,手动引导,进入系统中
手动引导后,登录系统,还需对系统用修复命令进行修复!!!
5.内核加载
5.1 基本介绍
- 内核加载读取文件:/boot/vmlinuz-内核版本
- 作用
- 设备驱动初始化
- 只读挂载 / 设备
- 载入初始进程systemd
- 检测硬件设备
5.2 模拟问题
删除/boot/vmlinuz-xxxxxxx文件
5.3 修复
1.从光盘启动进入挽救模式
2.在挽救模式中执行chroot /mnt/sysimage命令
3.挂载镜像到/mnt文件下,安装内核
4.安装成功后,系统修复成功,输入两次eixt退出重启系统
5.在bios中设置从硬盘启动进入系统
6. 系统初始化镜像
6.1 基本介绍
- 文件:/boot/initramfs-4.18.0-80.el8.x86_64.img
- 作用:
- 加载系统时钟
- 加载selinux
- 加载系统主机信息
- 加载/etc/fstab文件中磁盘挂载策略
- 加载磁盘配额
- 初始化系统程序开启开机启动服务
- 开启虚拟控制台,开启图形
6.2 模拟问题
删除系统初始化镜像文件
6.3 修复
①:若文件损坏后,还处在系统中,可直接执行修复命令:mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
②:若文件损坏后,重启系统时,启动失败,进入挽救命令,执行以上修复命令
7. 系统启动级别
7.1 基本介绍
级别 | 解释 |
---|---|
0(poweroff.target) | 关机 |
1(rescue.target) | 单用户 |
2(multi-user.target) | 无图形网络模式 |
3(multi-user.target) | 无图形网络模式 |
4(multi-user.target) | 无图形网络模式 |
5(grapical.target) | 有图形网络模式 |
6(reboot.target) | 重启 |
设定启动级别:
systemctl set-default + 启动级别
7.2 模拟问题
设定启动级别为6 ,系统开机陷入无限重启
7.3 修复
1.在开机界面按【e】进入引导文件编辑模式
2. 加入启动级别5,按ctrl +x 启动系统
3.开机后修改系统启动级别
8. 忘记超级用户密码
1.在开机界面按【e】进入引导文件编辑模式
2.在内核加载选项从最后删除到ro选项;更改ro 为 rw;加入rd.break参数终止系统启动,进入单用户模式
3.按ctrl +x 启动
4.执行chroot /sysroot,得到shell;修改密码;创建/.autorelabel文件,可重新初始化selinux
5.密码修改成功,可以登录超级用户