17.1 通电
17.2 bios初始化
- 对硬件检测
- 初始化硬件时钟
17.3 磁盘引导
mbr=主引导记录=0磁道1扇区446
作用: 记录grub2引导文件的位置
当mbr数据丢失系统会因为找不到启动分区而停止启动
问题模拟:
系统磁盘/dev/nvme0n1
dd if=/dev/zero of=/dev/nvme0n1 bs=446 count=1 ##清空系统dev/nvme0n1上的mbr数据
恢复方式: 用光盘进入系统挽救模式
chroot /mnt/sysimage grub2-install /dev/xxxxxx ##重新安装grub2到系统硬盘上
重启发现系统恢复
17.4 grub2文件引导
- rhel7:/boot/grub2/grub.cfg
- rhel8:/boot/grub2/grub.cfg /boot/loader/entries/xxxxxxxxx.conf
作用:
- 指定/boot位置
- 指定系统启动时加载文件名称
模拟问题:
- rhel7: rm -fr /boot/grub2/grub.cfg
- rhel8: rm -fr /boot/loader/entries/xxxxxxxxx.conf
重启后
修复:
- rhel7: grub2-mkconifg > /boot/grub2/grub.cfg
- rhel8: kerne-install add 内核版本号 内核镜像
kernel-install add $(uname -r) /lib/modules/$(uname -r)/vmlinuz
手动引导
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
最后进入系统
手动引导进入系统后修复
kernel-install add $(uname -r) /lib/modules/$(uname -r)/vmlinuz
17.5 内核加载
加载内核作用:
/boot/vmlinuz-$(uname -r)
系统初始化硬件设备
只读挂载/设备
问题模拟:
rm -fr /boot/vmlinuz-$(uname -r)
恢复: 重装内核
进入到挽救模式 chroot /mnt/sysimage
mount /dev/cdrom /mnt
cd /mnt/BaseOS/Packages
rpm -ivh kernel-xxxxx.rpm --force 在rhel7中恢复完成
rhel8:
mv /boot/vmlinuz-kernel-xxxxx /boot/vmlinuz-xxxxx
17.6 系统初始化镜像
/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)
启动项还原,重启,成功进入系统
17.7 系统启动级别
- 0 关机
- 1 单用户
- 2 无图形网络模式
- 3 无图形网络模式
- 4 无图形网络模式
- 5 有图形网络模式
- 6 重启
问题出现: systemctl set-default reboot.target
恢复: 在开机选择界面按<e>进入到引导文件编辑模式
在内核加载选项最后加入启动级别5
ctrl+x
systemctl set-default graphical.target
17.8 超级用户密码忘记
恢复:
1.在开机选择界面按<e>进入到引导文件编辑模式
2.在内核加载选项最后删除到ro选项
3.更改ro为rw
4.加入rd.break参数终止系统启动进入单用户模式
5.ctrl+x启动
6.chroot /sysroot
7.echo lee| passwd --stdin root
8.touch /.autorelabel ##当/.autorelabel文件存在selinux会重新初始化