admin 管理员组文章数量: 1184232
引导流程概述
BIOS/UEFI
→
MBR/GPT
→
/boot
分区
→
grub.cfg
→
内核加载
→
系统启动
一.通电
启动所有硬件并为进入系统做准备
问题处理:
检查所有电源设备, 确定供电设备正常,所有线缆是否插紧,检查线缆是否有损坏
二.BIOS环境检测
检测硬件是否正常
检测硬件是否插紧
三.磁盘引导阶段
找到/boot分区
如果此阶段出现问题,那么系统会处于屏并闪烁光标
MBR损坏
模拟问题环境
# 模拟破坏MBR(慎用!环境容易起不来)
dd if=/dev/zero of=/dev/sda bs=446 count=1
#/dev/sda 是系统boot分区所在磁盘
#此命令标识用无限零字节覆盖/dev/sda上最前面的446个字节(mbr主引导记录,负责找到/boot)问题提示信息:
解 决 问 题 :
1.进 入 挽 救 模 式
从 光 盘 启 动
此处输入 1
得到shell后,开始执行修复命令,修复原理是把mbr从新安装到启动设备
# chroot /mnt/sysroot #从挽救模式的环境切换到系统环境
# fdisk -l #通过命令找出启动设备(*在那个设备上那个就是启动设备)
# grub2-install 启动设备(/dev/sda)
# exit
# exit
等待系统重启,系统修复完毕
grub.cfg
丢失
问题:
当/boot/grub2/grub.cfg文件丢失,那么系统将无法完成自动启动
模拟问题的出现
#确定/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分区位置调整
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 > /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
内核文件丢失
内核参数文件
[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/*
重新启动会出现下面情形
修复问题
1.进入主机bios让主机从光盘启动
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.通过光盘引导进入挽救模式
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 ——force 强制安装
exit
exit
修复完成后需要把光盘启动切换至硬盘启动
版权声明:本文标题:系统引导修复 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1773739122a3565161.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论