Linux系统引导过程及引导修复文件

一、通电

二、bios初始化

对硬件检测
初始化硬件时钟

三、磁盘引导

mbr=主引导记录=0磁道 1扇区 446
作用:记录grub2引导文件的位置
当mbr数据丢失系统会因为找不到启动分区而停止启动

问题模拟方式
系统磁盘/dev/sda
dd if=/dev/zero of=/dev/vda bs=446 count=1 清空系统/dev/vda上的mbr数据

恢复方式:
用光盘进入系统挽救模式
chroot /mnt/sysimage
grub2-install /dev/xxxxxx ##重新安装grub2到系统硬盘上

模拟问题,清空/dev/vda上的mbr数据:
Linux系统引导过程及引导修复文件
系统无法正常启动:
Linux系统引导过程及引导修复文件
挽救模式启动方法:1、给虚拟机添加光盘
Linux系统引导过程及引导修复文件
2、以光盘模式启动
Linux系统引导过程及引导修复文件
3、选择第三行
Linux系统引导过程及引导修复文件
4、选择第二行
Linux系统引导过程及引导修复文件
5、继续
Linux系统引导过程及引导修复文件
6、回车进入shell
然后重新安装grub2到系统硬盘上
Linux系统引导过程及引导修复文件
切换为硬盘启动:
Linux系统引导过程及引导修复文件
即可正常运行:
Linux系统引导过程及引导修复文件

四、grub2文件引导

rhel8
/boot/grub2/grub.cfg
/boot/loader/entries/xxxxxxxxx.conf

指定/boot位置
指定系统启动时加载文件名

问题模拟:
硬盘名:
Linux系统引导过程及引导修复文件

删除配置文件
Linux系统引导过程及引导修复文件
手动引导:
set root=‘hd0,msdos1’
linux16 /vmlinuz-4.18.0-193.el8.x86_64 ro root=/dev/vda3
initrd16 /initramfs-4.18.0-193.el8.x86_64.img
boot
Linux系统引导过程及引导修复文件
安装内核镜像:
Linux系统引导过程及引导修复文件

五、内核加载

加载内核作用:
/boot/vmlinuz-$(uname -r)
系统初始化硬件设备
只读挂在 /设备

问题模拟:
删除内核配置文件:
Linux系统引导过程及引导修复文件
切换光盘启动进入挽救模式:
Linux系统引导过程及引导修复文件
Linux系统引导过程及引导修复文件
拆解内核文安装包并复制内核压缩镜像到/boot
chroot /mnt/sysimage

mount /dev/cdrom /media

cd /media/BaseOS/Packages
cp kernel-core-$(uname -r).rpm /mnt/
cd /mnt

rpm2cpio kernel-core-$(uname -r).rpm | cpio -id

cp /mnt/lib/modules/$(uname -r)/vmlinuz

/boot/vmlinuz-$(uname -r)

exit
exit
Linux系统引导过程及引导修复文件
Linux系统引导过程及引导修复文件
Linux系统引导过程及引导修复文件

六、系统初始化镜像

作用:
加载系统时钟
加载selinux
加载系统主机信息
加载/etc/fstab文件中磁盘挂载策略
加载磁盘配额
初始化系统程序开启开机启动服务
开启虚拟控制台
开启图形

问题模拟:
删除初始化镜像配置文件:
Linux系统引导过程及引导修复文件
切换光盘启动进入挽救模式:
Linux系统引导过程及引导修复文件
恢复:
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
Linux系统引导过程及引导修复文件

七、系统启动级别

0 关机
1 单用户
2 无图形网络模式
3 无图形网络模式
4 无图形网络模式
5 有图形网络模式
6 重启

问题模拟:
systemctl set-default reboot.target
Linux系统引导过程及引导修复文件
恢复:
在开机选择界面按进入到引导文件编辑模式
在内核加载选项最后加入启动级别5
ctrl+x
Linux系统引导过程及引导修复文件
systemctl set-default graphical.targetLinux系统引导过程及引导修复文件

八、超级用户密码忘记

恢复:
1.在开机选择界面按进入到引导文件编辑模式
2.在内核加载选项最后删除到ro选项
3.更改ro---->rw
4.加入rd.break参数终止系统启动进入单用户模式
5.ctrl+x启动
Linux系统引导过程及引导修复文件
6.chroot /sysroot
7.echo doudou| passwd --stdin root
8.touch /.autorelabel ##当/.autorelabel文件存在selinux会重新初始化cp
Linux系统引导过程及引导修复文件