Linux系统引导过程及引导修复
1.通电
2.bios初始化
3.磁盘引导
mbr=主引导记录=0磁道1扇区446
作用:记录grub2引导文件的位置
当mbr数据丢失会因为找不到启动分区而停止启动
问题模拟方式
系统磁盘/dev/nvmr0n1
# dd if=/dev/zero of=/dev/nvme0n1 bs=446 count=1 清空系统/dev/nvme0n1上的mbr数据
reboot
恢复方式
启动时选择光盘启动,进入挽救模式
exit退出
关闭虚拟机选择硬盘启动
恢复成功
4. grub2文件引导
在rhel8
/boot/grub2/grub.cfg
/boot/loader/entries/fb897529f0be4f94afe90e36fa8f67b8-4.18.0-80.el8.x86_64.conf
指定/boot位置
指定启动时加载文件名
模拟问题
# rm -fr /boot/loader/entries/fb897529f0be4f94afe90e36fa8f67b8-4.18.0-80.el8.x86_64.conf
删除文件引导
reboot
修复:
手动引导修复
修复完成
恢复引导文件
# kernel-install add $(uname -r) /lib/modules/$(uname -r)/vmlinuxz 恢复引导文件
挽救模式修复:
关闭虚拟机,设置光盘启动
exit退出
关闭虚拟机,开启虚拟机时进入固件
修复完成
5.内核加载
内核加载需要的文件:/boot/vmlinuz-4.18.0-80.el8.x86_64
系统初始化硬件设备
只读挂载 /设备
模拟问题
# rm -fr /boot/vmlinuz-$(uname -r) 删除内核加载需要的文件
修复
重开虚拟机,开启使用光盘启动,进入挽救模式
修复完成
6. 系统初始化镜像
系统初始化镜像文件:/boot/initramfs-4.18.0-80.el8.x86_64.img
作用:记载系统时钟、加载selinux、加载系统主机信息、加载/etc/fstab 文件中磁盘挂载策略、加载磁盘配额、初始化系统程序开启开启启动服务、开启虚拟控制台、开启图形
模拟问题:
# rm -fr initramfs-4.18.0-80.el8.x86_64.img 删除系统初始化镜像文件
没有重启 修复
# mkinitrd initramfs-4.18.0-80.el8.x86_64kdump.img 生成系统初始化镜像文件
reboot
修复:
重开虚拟机,开启使用光盘启动,进入挽救模式
恢复完成
重新启动虚拟机,启动时用硬盘
7. 系统启动级别
模拟问题:
[root@rhel8 boot]# systemctl set-default reboot.target 无限重启
reboot后进入重启循环
问题修复;
选择界面按e进入
进入登录界面:
# systemctl set-default graphical.target 启动图形界面
8. 超级用户忘记密码
恢复:
1.在开机选择界面按e进入引导文件编辑模式
2.在内核加载选项最后删除到ro
3.将ro改为rw 后面输入 rd.break参数 终止系统启动,进入单用户模式
4.ctrl x 执行
5.chroot /sysroot
6.echo westos | passwd --stdin root
7.如果selinux为开启模式 touch /.autorelabel selinux会重新初始化