当前位置: 首页 > news >正文

系统引导修复

通电

启动所有硬件并为进入系统做准备

问题处理:

检查所有电源设备, 确定供电设备正常,所有线缆是否插紧,检查线缆是否有损坏

、BIOS环境检测

检测硬件是否正常

检测硬件是否插紧

磁盘引导阶段

找到/boot分区

如果此阶段出现问题,那么系统会处于黑屏并闪烁光标

模拟问题的命令:

dd if=/dev/zero of=/dev/sda bs=446 count=1

#/dev/sda 是系统boot分区所在磁盘

#此命令标识用无限零字节覆盖/dev/sda上最前面的446个字节(mbr主引导记录,负责找到/boot

问题提示信息:

问题解决方法:

1.进入挽救模式

从光盘启动

2.得到shell后,开始执行修复命令,修复原理是把mbr重新安装到启动设备

#chroot/mnt/sysroot     #从挽救模式的环境切换到系统环境
#fdisk-l    #通过命令找出启动设备(*在哪个设备上那个就是启动设备),如果显示的是/dev/sda1,其实际下面命令的启动设备可能是/dev/sda
#grub2-install 启动设备(/dev/sda)
#exit
#exit
等待系统重启,系统修复完毕

四、文件引导阶段

在文件引导阶段,系统会读取/boot/grub2/grub.cfg (自动引导文件),在此文件中指定系统系统过程中读取什么文件,加载什么参数。

如何修改grub参数(以修改等待时间为例)

[root@rhel9 桌面]# cd /etc/default/
[root@rhel9 default]# vim /etc/default/grub        #生成grub.cfg时使用的默认参数

GRUB_TIMEOUT=10        #设定grub启动时等待时间为10

[root@rhel9 default]# grub2-mkconfig > /boot/grub2/grub.cfg        #生成新grub.cfg

(1)问题:/boot/grub2/grub.cfg文件丢失,那么系统将无法完成自动启动

解决问题:

1.设置问题出现

#确定/boot分区所在系统位置

#确定/分区位置

#问题重现

#此文件如果被删除,并把系统重新启动,那么会出现如下情况:

如何解决

#永久恢复

#进入系统后执行

(2)模拟问题:内核参数文件丢失后,无法完成自动启动

内核参数文件

[root@rhel9 桌面]# cd /boot/loader/entries/
[root@rhel9 entries]# ls
732d4c51b0fd439d940bbc4ee7d9018e-0-rescue.conf    #挽救内核参数
732d4c51b0fd439d940bbc4ee7d9018e-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@rhel9 ~]# rm -fr /boot/vmlinuz-5.14.0-427.13.1.el9_4.x86_64 

如何进行修复:

1、进入主机的BIOS模式,让主机从光盘启动

2、通过设置进入到rescue(挽救模式)

chroot /mnt/sysrootmount /dev/cdrom /mediacd /media/BaseOS/Packages/cp kernel-core-5.14.0-427.13.1.el9_4.x86_64.rpm /mntcd /mnt]#ls
kernel-core-5.14.0-427.13.1.el9_4.x86_64.rpmrpm2cpio kernel-core-5.14.0-427.13.1.el9_4.x86_64.rpm | cpio -idcd lib/modules/5.14.0-427.13.1.el9_4.x86_64/    #lib目录是在mnt目录里面的cp vmlinuz /boot/vmlinuz-$(uname-r)exitexit

3、修复完成后,将光盘启动改成硬盘启动就行了

六、系统初始化

系统初始化的作用

使用初始化环境开启系统所有开机自启动服务

模拟问题:

[root@rhel9 boot]# rm -fr /boot/initramfs-5.14.0-427.13.1.el9_4.x86_64.img

如何解决:

1. 通过光盘引导进入rescue模式(拯救模式)

2. 恢复文件

chroot /mnt/sysrootmount /dev/cdrom /media/cd /media/BaseOS/Packages/rpm -ivh kernel-core-5.14.0-427.13.1.el9_4.x86_64.rpm --forceexitexit

3. 设置启动顺序,把硬盘启动放在第一位,然后重新启动就行了

七、如果boot分区损坏,里面的内容全部丢失

模拟问题:

[root@rhel9 ~]# rm -fr /boot/*

修复问题:

1、安装grub

2、修复/boot/grub2/grub.cfg文件

3、安装内核文件

4、设置启动顺序,把硬盘启动放在第一位,然后重新启动就行了

chroot /mnt/sysrootfdisk-l   grub2-install /dev/sdagrub2-mkconfig > /boot/grub2/grub.cfgmount /dev/cdrom /media/cd /media/BaseOS/Packages/rpm -ivh kernel-core-5.14.0-427.13.1.el9_4.x86_64.rpm --forceexitexit

http://www.dtcms.com/a/276771.html

相关文章:

  • 功耗校准数据PowerProfile测试方法建议
  • (一)一阶数字低通滤波器---原理及其推导
  • 程序改错---字符串
  • 十三、K8s自定义资源Operator
  • 客户资源被挖?营销方案泄露?企业经营信息保护避坑指南
  • Python Day11
  • Agent任务规划
  • 【PMP备考】敏捷思维:驾驭不确定性的项目管理之道
  • QT中设计qss字体样式但是没有用【已解决】
  • 文件系统(精讲)
  • JVM与系统性能监控工具实战指南:从JVM到系统的全链路分析
  • 【每日刷题】阶乘后的零
  • SOEM build on ubuntu
  • Golang实战:使用 Goroutine 实现数字与字母的交叉打印
  • 使用bp爆破模块破解pikachu登录密码
  • 使用frp内网穿透:将本地服务暴露到公网
  • 张量类型转换
  • 深入探讨Java的ZGC垃圾收集器:原理、实战与优缺点
  • 格密码--数学基础--08最近向量问题(CVP)与格陪集
  • Mentor软件模块复杂,如何分角色授权最合理?
  • 【PTA数据结构 | C语言版】阶乘的递归实现
  • 串口屏的小记哦
  • 鸿蒙进程通信的坑之ServiceExtensionAbility
  • Datomic数据库简介(TBC)
  • Ntfs!LfsFlushLfcb函数分析之Ntfs!_LFCB->LbcbWorkque的背景分析3个restart页面一个普通页面的一个例子
  • 如何在IEEETrans格式的latex标题页插入图像
  • CCS-MSPM0G3507-4-基础篇-串口通讯-实现收和发
  • Java SE--抽象类和接口
  • 面试150 对称二叉树
  • Waiting for server response 和 Content Download