运维大法之Linux系统引导过程及引导修复

1.通电

2.bios初始化

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

可以在开启虚拟机时选择“打开电源时进入固件”
运维大法之Linux系统引导过程及引导修复_第1张图片
运维大法之Linux系统引导过程及引导修复_第2张图片运维大法之Linux系统引导过程及引导修复_第3张图片运维大法之Linux系统引导过程及引导修复_第4张图片运维大法之Linux系统引导过程及引导修复_第5张图片

3.磁盘引导

mbr=主引导记录=0磁道1扇区446

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

问题模拟方式:

#系统磁盘/dev/sda
dd if=/dev/zero of=/dev/sda bs=446 count=1 #清空系统/dev/sda上的mbr数据

运维大法之Linux系统引导过程及引导修复_第6张图片运维大法之Linux系统引导过程及引导修复_第7张图片
恢复方式:

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

运维大法之Linux系统引导过程及引导修复_第8张图片运维大法之Linux系统引导过程及引导修复_第9张图片
运维大法之Linux系统引导过程及引导修复_第10张图片运维大法之Linux系统引导过程及引导修复_第11张图片运维大法之Linux系统引导过程及引导修复_第12张图片
拯救成功!

4.grub2文件引导

rhel8

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

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

模拟问题:
rhel8:
rm -fr /boot/loader/entries/xxxxxxxxx.conf

修复:
rhel8:

kernel-install add 内核版本号 内核镜像
kernel-install add $(uname -r) /lib/modules/$(uname -r)/vmlinuz

$后面的命令会优先执行,所以两个命令都可以。运维大法之Linux系统引导过程及引导修复_第13张图片运维大法之Linux系统引导过程及引导修复_第14张图片运维大法之Linux系统引导过程及引导修复_第15张图片运维大法之Linux系统引导过程及引导修复_第16张图片运维大法之Linux系统引导过程及引导修复_第17张图片

手动引导

set root=(hd0,msdos1)
linux16 /vmlinuz-4.18.0-80.el8.x86_64 ro root=/dev/mapper/rhel-root
initrd16 /initramfs-4.18.0-80.el8.x86_64.img
boot

运维大法之Linux系统引导过程及引导修复_第18张图片运维大法之Linux系统引导过程及引导修复_第19张图片
修复过程忘记截图了……
运维大法之Linux系统引导过程及引导修复_第20张图片

5.内核加载

加载内核作用:

/boot/vmlinuz-$(uname -r)

系统初始化硬件设备
只读挂载/设备
问题出现:

rm -fr /boot/vmlinuz-$(uname -r)

运维大法之Linux系统引导过程及引导修复_第21张图片
恢复:
拆解内核文安装包并复制内核压缩镜像到/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
exit

运维大法之Linux系统引导过程及引导修复_第22张图片

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)

运维大法之Linux系统引导过程及引导修复_第23张图片运维大法之Linux系统引导过程及引导修复_第24张图片

7.系统启动级别

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

systemctl set-default reboot.target

恢复:
在开机选择界面按[e]进入到引导文件编辑模式
在内核加载选项最后加入启动级别5
ctrl+x

运维大法之Linux系统引导过程及引导修复_第25张图片运维大法之Linux系统引导过程及引导修复_第26张图片

systemctl set-default graphical.target

运维大法之Linux系统引导过程及引导修复_第27张图片

8.超级用户密码忘记

恢复:

1.在开机选择界面按[e]进入到引导文件编辑模式运维大法之Linux系统引导过程及引导修复_第28张图片
2.在内核加载选项最后删除到ro选项
3.更改ro---->rw
4.加入rd.break参数终止系统启动进入单用户模式运维大法之Linux系统引导过程及引导修复_第29张图片
5.ctrl+x启动

6.

chroot /sysroot

在这里插入图片描述
7.

echo han| passwd --stdin root

运维大法之Linux系统引导过程及引导修复_第30张图片
8.

touch /.autorelabel #当/.autorelabel文件存在selinux会重新初始化
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
exit

运维大法之Linux系统引导过程及引导修复_第31张图片
实验:

rm -fr /boot/*

运维大法之Linux系统引导过程及引导修复_第32张图片
恢复步骤:

grub2-install /dev/sda
grub2-mkconfig > /boot/grub2/grub.cfg
rpm -ivh kernel-core-xxxx.rpm

运维大法之Linux系统引导过程及引导修复_第33张图片运维大法之Linux系统引导过程及引导修复_第34张图片运维大法之Linux系统引导过程及引导修复_第35张图片

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