linux系统引导过程及引导修复

磁盘引导:

mbr=主引导记录=0磁道1扇区446
作用:记录grub2引导文件的位置

当mbr数据丢失系统会因为找不到启动分区而停止启动

问题模拟方式
系统磁盘/dev/sda

dd if=/dev/zero of=/dev/vda bs=446 count=1 ##清空系统/dev/sda上的mbr数据
reboot无法进入

fdisk -l 查看根分区

解决办法:

首先添加光盘,
1 node1关闭状态下,添加光盘(光盘第一个,硬盘第二个)apply
2 运行,选择第三个,再选择第二个
3 选1 回车
4 写chroot /mnt/sysimage
5 grub2-install /dev/vda
6 exit
7 exit
8 小灯泡,硬盘第一个,光盘第二个,使用硬盘启动,可以启动恢复完成

grub2文件引导:

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

模拟问题1:

cd /boot/loader/entries
rm -fr /boot/loader/entries/*
reboot

解决办法:
手动引导(需要补齐,可能文件名称不一致):
set root=‘hd0,msdos1’
linux16 /vmlinuz-3.10.0-957.el7.x86_64 ro root=/dev/vda3
initrd16 /initramfs-4.18.0-80.el8.x86_64.img
boot

进入系统修复:
cp /usr/lib/modules/4.18.0-193.el8.x86_64/bls.conf /boot
kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-193.el8.x86_64
kernel-install add ( u n a m e − r ) / l i b / m o d u l e s / (uname -r) /lib/modules/ (unamer)/lib/modules/(uname -r)/vmlinuz
reboot
%可以正常启动,操作完成
kerne-install add 内核版本号 内核镜像

模拟问题2:

cd /boot/grub2
rm -rf grub.cfg
reboot

手动引导(需要补齐,可能文件名称不一致)
grub:set root=‘hd0,msdos1’
linux16 /vmlinuz-3.10.0-957.el7.x86_64 ro root=/dev/vda3
initrd16 /initramfs-4.18.0-80.el8.x86_64.img
boot

进入系统修复:
grub2-mkconfig > /boot/grub2/grub.cfg
reboot

%可以正常启动,操作完成

内核加载:

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

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

小灯泡,boot options 选择光盘sata启动
进入到挽救模式
chroot /mnt/sysimage
cp /usr/lib/modules/ ( u n a m e − r ) / v m l i n u z / b o o t / v m l i n u z − (uname -r)/vmlinuz /boot/vmlinuz- (unamer)/vmlinuz/boot/vmlinuz(uname -r)
exit
exit
等待出现挽救界面,forceoff

小灯泡,boot options 选择硬盘virtio启动

系统初始化镜像:

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

问题出现:
rm -rf initramfs-4.18.0-193.el8.x86_64.img
未关机时,可以直接
mkinitrd --help
mkinitrd /boot/initramfs-4.18.0-193.el8.x86_64.img 4.18.0-193.el8.x86_64

关机后
小灯泡,boot options 选择sata启动 apply后启动
进入到挽救模式
chroot /mnt/sysimage
mkinitrd --help
mkinitrd /boot/initramfs-4.18.0-193.el8.x86_64.img 4.18.0-193.el8.x86_64
exit
exit
等待出现挽救界面,forceoff
小灯泡,boot options 选择virtio启动 apply后启动

系统启动级别:

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

问题出现:
systemctl set-default reboot.target

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

systemctl set-default runlevel5.target

超级用户密码忘记:

恢复:
1.在开机选择界面按进入到引导文件编辑模式
2.在内核加载选项最后删除到ro选项
3.更改ro---->rw
4.加入rd.break参x-special/nautilus-clipboard
copy
file:///home/westos/Desktop/SHELL
数终止系统启动进入单用户模式
5.ctrl+x启动
6.chroot /sysroot
7.echo lee| passwd --stdin root
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

test6
实验:
rm -fr /boot/*

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

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