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

Linux boot 目录损坏如何修复:从救援模式到系统恢复

Linux /boot 目录损坏如何修复:从救援模式到系统恢复

在这里插入图片描述

在 Linux 系统中,/boot 目录包含启动系统所需的核心文件(如内核、initramfs、GRUB 配置等)。一旦该目录损坏,系统将无法正常启动。本文将详细介绍如何通过救援模式修复 /boot 目录,让系统恢复正常运行。

一、/boot 目录损坏的常见原因与症状

1. 常见原因

  • 磁盘空间不足/boot 目录空间被占满,导致新内核无法安装。
  • 误操作删除文件:意外删除 /boot 目录中的关键文件(如内核、grub.cfg)。
  • 文件系统损坏:磁盘错误或突然断电导致 /boot 分区文件系统损坏。
  • 内核安装失败:更新内核时中断,导致新内核未完整安装。

2. 典型症状

  • 系统启动时卡在 GRUB 菜单,无法进入系统。
  • 启动时报错 “Kernel not found” 或 “initramfs not found”。
  • 无法更新内核或安装新软件(依赖内核文件缺失)。

例:boot目录内容被误删
请添加图片描述

重启系统发现无法进入:
请添加图片描述

二、进入救援模式:修复的第一步

救援模式是修复系统的关键入口,不同发行版进入方式略有差异,以下是通用方法:

1. 准备安装介质

  • 使用系统安装光盘或 USB 启动介质(如 CentOS 安装 ISO 写入 U 盘)。

2. 从安装介质启动,进入救援模式

1.重启计算机,进入BIOS页面:
请添加图片描述

2.进入boot页面中把CD-ROM Dr ive(或USB)使用光盘引导上移第一位(同时按 SHIFT和+ 上移 ):

请添加图片描述

3.按F10保存,选择yse确认(按ENTER)

请添加图片描述

4.此时重新启动系统会进入安装界面,选择 Troubleshooting (故障排除)→ Rescue a CentOS Linux system(救援CentOS Linux系统)(以 CentOS 7为例):

请添加图片描述
请添加图片描述

5.在进入到Rescue(救援)模式后提供了四种操作选项

  • 1) Continue:继续救援流程,挂载系统为可读写(默认选这个,用于修复操作)。
  • 2) Read - only mount:挂载系统为只读(仅查看文件,无法修改)。
  • 3) Skip to shell:跳过自动挂载,直接进入救援模式的 Shell(适合手动处理复杂挂载)。
  • 4) Quit (Reboot):退出救援模式,重启系统。

请添加图片描述

6.选择1(输入1,按ENTER确定)

请添加图片描述

7.按ENTER键获取一个输入命令的环境

请添加图片描述

8.输入chroot /mnt/sysroot #将当前环境切换到被救援的系统

请添加图片描述

9.此时查看boot目录发现引导文件缺失

请添加图片描述

三、修复 /boot 目录的核心步骤

1. 挂载安装介质(获取内核包)

mount /dev/cdrom /mnt  # 挂载系统安装光盘
# 若使用 ISO 文件,需先挂载:mount -o loop /path/to/iso /mnt

请添加图片描述

2. 安装或修复内核


# 安装特定版本内核(--force 强制安装,即使已存在)
rpm -ivh /mnt/Packages/kernel-3.10.0-1160.el7.x86_64.rpm --force

请添加图片描述

# 查找可用的内核包
ls /mnt/Packages/kernel-*
# 若需安装最新内核,可直接使用 yum(需联网)
yum install kernel --disablerepo=* --enablerepo=base  # 仅从 base 仓库安装

3.恢复 GRUB2 引导程序与配置文件

1.恢复 GRUB2 目录

grub2-install /dev/sda
#安装 GRUB2 到 MBR(假设硬盘为 /dev/sda)

请添加图片描述

2.恢复 grub.cfg 文件

grub2-mkconfig > /boot/grub2/grub.cfg
#根据系统当前配置(如已安装的内核、分区信息)生成 GRUB2 启动菜单配置文件 grub.cfg。

请添加图片描述

四、退出救援模式并重启然后关机改回硬盘引导

1.退出救援模式并重启

# 退出 chroot 环境
exit# 重启系统
reboot

2.进入BIOS把 +Hard Drive 使用硬盘引导上移第一位

请添加图片描述

此时重启系统就可以正常运行Linux了

查看boot目录

请添加图片描述

总结

修复 /boot 目录需要耐心和细致,关键步骤包括进入救援模式、挂载系统、安装内核、重建 GRUB2 配置。通过本文的指导,你可以解决大多数 /boot 目录损坏导致的启动问题。建议在修复前备份重要数据,并定期维护 /boot 分区,以避免类似问题再次发生。

PS:文中若有疏漏恳请大家直言指正!也欢迎点赞收藏,让更多人能够看见这篇博客

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

相关文章:

  • APK重打包流程
  • K8s集群两者不同的对外暴露服务的方式
  • 如何迁移gitlab到另一台服务器
  • Makefile 快速入门指南
  • LangChain和LangGraph 里面的 `create_react_agent`有什么不同
  • 机器学习—逻辑回归
  • VitePress学习-自定义主题
  • 使用 Django REST Framework 构建强大的 API
  • 在依赖关系正确的情况下,执行 mvn install 提示找不到软件包
  • Python Day17 面向对象 及例题分析
  • Apache Ignite 的分布式队列(IgniteQueue)和分布式集合(IgniteSet)的介绍
  • 集成电路学习:什么是Wi-Fi无线保真度
  • 机器学习sklearn:泰坦尼克幸存预测(决策树、网格搜索找最佳参数)
  • 永磁同步电机无速度算法--静态补偿电压模型Harnefors观测器
  • 泛微E9 引入高版本spring导致webservices接口报错
  • vue2 使用liveplayer加载视频
  • 【初识数据结构】CS61B中的基数排序
  • 彻底清理ArcGIS 10.2残留的步骤
  • 【自制组件库】从零到一实现属于自己的 Vue3 组件库!!!
  • 堆的理论知识
  • uniapp如何封装uni.request 全局使用
  • qt webengine播放视频
  • VS+Qt中使用QCustomPlot绘制曲线标签(附源码)
  • 002 TrafficGenerator 类详解
  • FCN语义分割算法原理与实战
  • 八股训练营 40 天心得:一场结束,也是一场新的开始
  • 力扣热题100--------240.搜索二维矩阵
  • LeetCode热题100——46. 全排列
  • 研电赛-基于GD32的纳型无人机AI追踪系统1
  • vue相关的拖拉拽官网