Linux之系统引导过程及修复

文章目录

  • 1、通电
  • 2、BIOS初始化
  • 3、磁盘引导
  • 4、grub2文件引导
  • 5、内核加载
  • 6、系统初始化镜像
  • 7、系统启动级别
  • 8、超级用户密码忘记

1、通电

2、BIOS初始化

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

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/xxxxxxx		#重新安装grub2到系统磁盘上

Linux之系统引导过程及修复_第1张图片
Linux之系统引导过程及修复_第2张图片
Linux之系统引导过程及修复_第3张图片
Linux之系统引导过程及修复_第4张图片
Linux之系统引导过程及修复_第5张图片
Linux之系统引导过程及修复_第6张图片
Linux之系统引导过程及修复_第7张图片
Linux之系统引导过程及修复_第8张图片
Linux之系统引导过程及修复_第9张图片
Linux之系统引导过程及修复_第10张图片
Linux之系统引导过程及修复_第11张图片
Linux之系统引导过程及修复_第12张图片

4、grub2文件引导

rhel7:
/boot/grub2/grub.cfg

rhel8:
/boot/grub2/grub.cfg
/boot/loader/entries/xxxxxxxx.conf

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

模拟问题:
rhel7:
rm -fr /boot/grub2/grub.cfg
rhel8:
rm -fr /boot/loader/entries/xxxxxxxx.conf

修复:
rhel7:
grub2-mkconfig > /boot/grub2/grub.cfg

rhel8:
kernel-install add 内核版本号 内核镜像

kernel-install add $(uname -r) /lib/modules/$(uname -r)/vmlinuz
kernel-install add 4.18.0-80.el8.x86_64 /lib/modules/4.18.0-80.el8.x86_64/vmlinuz

手动引导:

set boot='hd0,msdos1'
linux16  /vmlinuz-4.18.0-80.el8.x86_64 ro root=/dev/nvme0n1p2
initrd16  /initramfs-4.18.0-80.el8.x86_64.img
boot

Linux之系统引导过程及修复_第13张图片
Linux之系统引导过程及修复_第14张图片
在这里插入图片描述
Linux之系统引导过程及修复_第15张图片

reboot

Linux之系统引导过程及修复_第16张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Linux之系统引导过程及修复_第17张图片
在这里插入图片描述
在这里插入图片描述
Linux之系统引导过程及修复_第18张图片

5、内核加载

/boot/vmlinuz-$(uname -r)
系统初始化硬件设备
只读挂载/设备

问题出现:
rm -rf /boot/vmlinuz-$(uname -r)

恢复:
重装内核

1、进入到挽救模式
2、
chroot /mnt/sysimage
mount /dev/cdrom /mnt
cd /mnt/BaseOS/Packages
rpm -ivh kernel-core-xxxxxxxxx.rpm --force

Linux之系统引导过程及修复_第19张图片

reboot

Linux之系统引导过程及修复_第20张图片
Linux之系统引导过程及修复_第21张图片
Linux之系统引导过程及修复_第22张图片
Linux之系统引导过程及修复_第23张图片
Linux之系统引导过程及修复_第24张图片
Linux之系统引导过程及修复_第25张图片
Linux之系统引导过程及修复_第26张图片
在这里插入图片描述

6、系统初始化镜像

/boot/initramfs-4.18.0-80.el8.x86_64.img
加载系统时钟
加载selinux
加载系统主机信息
加载/etc/fstab文件中磁盘挂载策略
加载磁盘配额
初始化系统程序开启开机启动服务
开启虚拟控制台
开启图形

Linux之系统引导过程及修复_第27张图片
在这里插入图片描述
Linux之系统引导过程及修复_第28张图片
Linux之系统引导过程及修复_第29张图片
问题出现:
rm -rf /boot/initramfs-4.18.0-80.el8.x86_64.img

恢复:
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

在这里插入图片描述
Linux之系统引导过程及修复_第30张图片
Linux之系统引导过程及修复_第31张图片
Linux之系统引导过程及修复_第32张图片
Linux之系统引导过程及修复_第33张图片
Linux之系统引导过程及修复_第34张图片
Linux之系统引导过程及修复_第35张图片
在这里插入图片描述
Linux之系统引导过程及修复_第36张图片

7、系统启动级别

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

问题出现:

systemctl set-default reboot.target

在这里插入图片描述
恢复:
在开机选择界面按进入到引导文件编辑模式
在内核加载选项最后加入启动级别5
Ctrl+x启动

systemctl set-default graphical.target

Linux之系统引导过程及修复_第37张图片
在这里插入图片描述

8、超级用户密码忘记

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

Linux之系统引导过程及修复_第39张图片
两次exit

你可能感兴趣的:(Linux之系统引导过程及修复)