Linux 系统中 引导过程 及引导修复 mbr 超户改密

 一、通电
 二、bios初始化
对硬件检测
初始化硬件时钟
 三、磁盘引导 
mbr=主引导记录=0磁道1扇区446 
 
作用: 记录grub2引导文件的位置
当mbr数据丢失系统会因为找不到启动分区而停止启动
 
问题模拟方式 系统磁盘/dev/sda
dd if=/dev/zero of=/dev/sda bs=446 count=1 ##清空系统/dev/ sda上的mbr数据
恢复方式: 用光盘进入系统挽救模式 
chroot /mnt/sysimage 
grub2-install /dev/xxxxxx                  ##重新安装grub2 到系统硬盘上
四、grub2文件引导
位置:rhel8
/boot/grub2/grub.cfg
/boot/loader/entries/xxxxxxxxx.confLinux 系统中 引导过程 及引导修复 mbr 超户改密

指定/boot位置
指定系统启动时加载文件成名
1.模拟问题:
rhel8: rm -fr /boot/loader/entries/xxxxxxxxx.conf

Linux 系统中 引导过程 及引导修复 mbr 超户改密

2.修复:
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

Linux 系统中 引导过程 及引导修复 mbr 超户改密

五、内核加载
加载内核作用: 
/boot/vmlinuz-$(uname -r) 
系统初始化硬件设备 
只读挂载/设备
1.问题出现
rm  -fr   /boot/vmlinuz-$(uname  -r)

2.恢复
拆解内核文安装包并复制内核压缩镜像到/boot
进入到挽救模式 
chroot /mnt/sysimage
mount /dev/cdrom /media
cd /media/BaseOS/Packages 
cp kernel-core-4.18.0-80.el8.x86_64.rpm  /mnt/ 
cd /mnt 
rpm2cpio kernel-core-4.18.0-80.el8.x86_64.rpm | cpio -id
cp /mnt/lib/modules/4.18.0-80.el8.x86_64/vmlinuz  /boot/vmlinuz-$ (uname -r)
exit 

Linux 系统中 引导过程 及引导修复 mbr 超户改密

Linux 系统中 引导过程 及引导修复 mbr 超户改密

Linux 系统中 引导过程 及引导修复 mbr 超户改密

Linux 系统中 引导过程 及引导修复 mbr 超户改密

六、系统初始化镜像
/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)

Linux 系统中 引导过程 及引导修复 mbr 超户改密

Linux 系统中 引导过程 及引导修复 mbr 超户改密

七、系统启动级别
0     关机 
1     单用户 
2     无图形网络模式 
3     无图形网络模式 
4     无图形网络模式 
5     有图形网络模式 
6     重启
1.问题出现
systemctl  set-default  reboot.target    ##无限重启

Linux 系统中 引导过程 及引导修复 mbr 超户改密


2.恢复
在开机选择界面按<e>进入到引导文件编辑模式 
在内核加载选项最后加入启动级别5 
ctrl+x
开机后操作指令永久恢复
systemctl set-default graphical.targe

Linux 系统中 引导过程 及引导修复 mbr 超户改密

Linux 系统中 引导过程 及引导修复 mbr 超户改密

八、超级用户密码忘记 
在开机选择界面按<e>进入到引导文件编辑模式 
在内核加载选项最后删除到ro选项 
更改ro---->rw  加入rd.break参数终止系统启动进入单用户模式 
ctrl+x启动 
chroot /sysroot 
echo lee| passwd --stdin root 
touch /.autorelabel  ##当/.autorelabel文件存在selinux会重新初始 
两次exit退出重启

Linux 系统中 引导过程 及引导修复 mbr 超户改密

Linux 系统中 引导过程 及引导修复 mbr 超户改密

Linux 系统中 引导过程 及引导修复 mbr 超户改密