系统引导修复(2)
四.文件引导阶段
在文件引导阶段,系统会读取/boot/grub2/grub.cfg (自动引导文件),在此文件中指定系统系统过程中读取什么文件,加载什么参数
如何修改grub参数(以修改时间为例)
[root@servera default]# vim /etc/default/grub #生成grub.cfg时使用的默认参数
GRUB_TIMEOUT=10 #设定grub启动时等待时间为10秒
[root@servera default]# grub2-mkconfig > /boot/grub2/grub.cfg #生成新grub.cfg
问题:
当/boot/grub2/grub.cfg文件丢失,那么系统将无法完成自动启动
解决问题:
1.设置问题出现
#确定/boot分区所在系统位置
#确定/分区位置
[root@servera ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 4096 0 4096 0% /dev
tmpfs 1857324 0 1857324 0% /dev/shm
tmpfs 742932 9256 733676 2% /run
/dev/sda3 99634176 2861700 96772476 3% / #/分区
/dev/sda1 983040 264268 718772 27% /boot #/boot分区
(hd0,1)
/dev/sr0 10825576 10825576 0 100% /rhel9
tmpfs 371464 0 371464 0% /run/user/0
#问题重现
[root@servera ~]# rm -fr /boot/grub2/grub.cfg #此文件如果被删除,并把系统重新启动,那么
出现如下情况:
如何解决
grub> set root=(hd0,msdos1) #指定boot分区位置#hdn 便是boot分区在那个硬盘上#msdosn在那个分区# 指定内核文件,只读挂载/设备
grub> linux16 /vmlinuz-5.15.0-427.13.1.el9_4.x86_64 ro root=/dev/sda3 selinux=0
grub> initrd16 /initramfs-5.14.0-427.13.1.el9_4.x86_64.img
grub> boot
#注意: 以上步骤只能完成本次引导,系统重启后仍然需要手动引导
#永久恢复
#进入系统后执行
#grub2-mkconfig > /boog/grub2/grub.cfg
内核参数文件
[root@servera boot]# cd /boot/loader/entries/
[root@servera entries]# ls
a6fd00acebb0467d805e4e43c2f6b54a-0-rescue.conf #挽救内核参
数
a6fd00acebb0467d805e4e43c2f6b54a-5.14.0-427.13.1.el9_4.x86_64.conf #常规内核参
数信息
如果文件丢失:
[root@servera entries]# rm -fr /boot/loader/entries/*
如何恢复
#首先手动引导系统初始化,进入系统
[root@servera ~]# kernel-install add $(uname -r) /boot/vmlinuz-5.14.0-
427.13.1.el9_4.x86_64
#恢复后文件出现
[root@servera ~]# ls /boot/loader/entries/
a6fd00acebb0467d805e4e43c2f6b54a-0-rescue.conf
a6fd00acebb0467d805e4e43c2f6b54a-5.14.0-427.13.1.el9_4.x86_64.conf
五,启动内核
启动内核过程系统都完成了一下工作:
1.加载内核文件 /boot/vmlinuz-5.14.0-427.13.1.el9_4.x86_64
2.只读挂载/设备
3.读取/etc/fstab文件,确定磁盘挂载策略
4.读取/etc/sysconfig/selinux 确定selinux状态
5.加载系统时钟
问题:内核文件丢失
[root@servera boot]# rm -fr /boot/vmlinuz-5.14.0-427.13.1.el9_4.x86_64
如何修复
1.进入主机bios让主机从光盘启动
通过设置进入到rescue(挽救模式)
chroot /mnt/sysroot
mount /dev/cdrom /media
cd /media/BaseOS/Packages/
cp kernel-core-5.14.0-427.13.1.el9_4.x86_64.rpm /mnt
cd /mnt
]# ls
kernel-core-5.14.0-427.13.1.el9_4.x86_64.rpm
rpm2cpio kernel-core-5.14.0-427.13.1.el9_4.x86_64.rpm | cpio -id
cd lib/modules/5.14.0-427.13.1.el9_4.x86_64/
cp vmlinuz /boot/vmlinuz-$(uname -r)
exit
exit
修复完成后需要把光盘启动切换至硬盘启动
六.系统初始化
系统初始化作用
使用初始化环境开启系统所有开机启动服务
问题:
[root@servera boot]# rm -fr /boot/initramfs-5.14.0-427.13.1.el9_4.x86_64.img
如何解决:
1.通过光盘引导进入挽救模式
2.恢复文件
chroot /mnt/sysroot
mount /dev/cdrom /media/
cd /media/BaseOS/Packages/
rpm -ivh kernel-core-5.14.0-427.13.1.el9_4.x86_64.rpm --force
exit
exit
3.设置启动顺序,把硬盘启动放在第一位