RHEL7系统修复rm -rf /boot /etc/fstab

本文详细介绍如何在RHEL7/Centos7系统丢失/boot/文件和fstab文件后,利用系统光盘进入救援模式,逐步修复分区文件、内核相关文件及引导grub2文件的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导读RHEL7/Centos7系统发布这么长时间了,大家都知道这个系统的一个特点就是用systemctl代替了init系统守护进程,系统越来越模块化了。在新版的系统中许多的命令也发生了改变,grub也变为了grub2完全看不懂了,网上也有许多的新版本与老版本对比的教程。一直想试一下7版本的系统修复,今天就手一划把系统干掉了,修复ing
暴力干掉系统---"rm -rf /boot /etc/fstab"

/boot/ 存放着系统的内核和引导文件,在boot下面的“grub2/grub.cfg” 又存放着系统的mbr引导记录信息,"rm -rf /boot "系统肯定是挂了,下面做一个更加绝的— — "rm -rf /etc/fstab" 把分区表给干掉
rescue1

重启系统,发现系统已经挂了:

rescue2

修复,进入系统光盘

目前我们的修复就不能进入咱们的linux系统自带的工具进行修复了,因为我们的系统已经挂掉了,已经没有可以进的系统了,接下来需要做的就是:进光盘,从光盘启动— — 修复选项
rescue3
注意,我们在快速启动项中可以选择:光盘,网络,以及其他引导设备如U盘、硬盘等。在企业环境中我们需要做的应该就是网络pxe进行启动,如果没有pxe网络部署服务器的话,要做到就是插入光盘、U盘启动盘、直接把硬盘挂载在一台另外的linux系统中进行修复。

进入光盘的修复模式进行修复

rescue4
在RHEL7中的启动盘中,我们 上下移动光标 选择第三项"Troubleshooting"救援模式 回车 进入;

在RHEL7中的启动盘中有三大选项:

1."Install Red Hat Enterprise Linux 7.0"————安装RHEL7.0操作系统

2."Test this media & install Red Hat Eenterprise Linux 7.0"测试启动盘是否完整并安装RHEL7.0

3."Troubleshooting" ————配错模式救援模式
进入光盘修复模式,修复向导

rescue6

rescue7

按照向导修复系统的fstab也就是让系统找到磁盘分区

在光盘的救援模式下会有一个类似于windows的pe的伪系统,在这个伪系统中我们使用“df”命令查看系统分区,发现没有挂载的分区。我们用“fdisk”命令工具查看我们的硬盘的分区情况,然后写入"/etc/fstab",就可以让系统找到系统分区。

rescue8

在伪系统中是没有命令提示符的,这个时候“pwd”的命令就要发挥作用了,我们在当前位置中创建一个挂载点,然后把光盘的分区挂载到挂载点上,然后通过“ls”命令查看分区下面内容来分辨分区的具体位置:

rescue9

通过分区内容分辨出我们的分区后,我们找到“/”写入"/etc/fstab"。让系统识别系统文件

rescue10

好的,写入fstab我们的分区就找到了,重启系统,继续从光盘启动,继续修复

修复/boot/ 内核等文件

重启从光盘启动,进入“伪系统”中修复

rescue11

rescue12rescue13

思路:
1.根据向导提示,我们已经找到系统分区了,而且还把硬盘挂载到了/mnt/sysimage/ 这个目录里面,下面我们需要的就是把环境切换到我们的硬盘系统中也就是/mnt/sysimage

2.在上一步我们发现我们笔误,把home写成了boot。至于怎么发现这个错误,就是要进入目录中进行ls查看,多运用pwd命令,多想象我们当前所在的位置。

3.我们在/boot/ 下面ls查看,发现我们的文件为空,想象:boot里面存放的是我们的内核,RAMDISk文件,以及引导等重要信息,这些东东都是与我们的内核相关的,没有内核我们怎么办?——手动安装内核——怎么安装?——rpm包安装——安装源?——光盘或ftp——光盘挂载——在伪系统中才能挂载——创建挂载点——安装。。。
"cd ..
mkdir 1
mount /dev/sr0 1
cd 1/Packages/
rpm -ivh kernel—3.10XXX  --root=/mnt/sysimage/ --enforce"

在伪系统中安装内核,"--root=/mnt/sysimage --enforce "以root的身份把内核强制安装在硬盘系统下

rescue14

rescue15

漫长的等待中我们的内核相关文件都已经安装完成了。

接下来就是修复mbr的grub文件:

"grub2-install /dev/sda"在第一块硬盘上添加引导,修复grub2相关文件

"grub2-mkconfig /boot/grub2/grub.conf "重新生成引导项到文件

rescue16

ok,我们的“grub2.conf”修复成功
rescue17
磁盘分区修复成功,内核文件修复成功,引导文件修复成功,系统该有的都有了,ok测试

重启测试

重启我们看到我们的引导项里面就有了linux的启动项
rescue18

重新刷标签,继续等待,在此过程中可能重启多次
rescue19

测试成功,rhel7久违了:

rheldesk

系统修复总结

1.当系统丢失了/boot/的文件和fstab文件,这个时候就需要进入RHEL系统光盘进入救援修复模式修复或者在其他linux系统下修复
2.在救援修复模式中按照向导先看分区是否能够找到。然后看内核文件,最后看引导文件
3.内核安装是在伪系统中通过“rpm -ivh”运行的,"--root=/mnt/sysimage --enforce" 以root的身份把内核强制安装在硬盘系统下
4.grub文件的修复中"grub2-install /dev/sda"在第一块硬盘上添加引导"grub2-mkconfig /boot/grub2/grub.conf"重新生成引导项到文件
5.在救援修复模式中,常用的命令就是“pwd”和“ls”,一定注意您当前所在的位置。
6.系统默认把硬盘挂载在“/mnt/sysimage”在挂载的时候一定不能习惯性的把光盘挂载在“/mnt”否则你会删掉硬盘上的所有文件
7.总规划:救援模式——分区文件——内核相关文件——引导grub2文件

本文转载自:http://www.linuxprobe.com/rhel7-rescue

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

### 删除 `/etc/yum.repos.d/` 的影响 在 Linux 中,`/etc/yum.repos.d/` 是 YUM 软件包管理器的核心配置目录之一。该目录下的 `.repo` 文件定义了软件仓库的位置以及访问方式。如果执行 `rm -rf /etc/yum.repos.d/` 命令,则会彻底删除此目录及其内部的所有文件[^3]。 #### 影响分析 1. **YUM 功能失效** 执行上述命令后,由于缺少必要的 `.repo` 配置文件,YUM 将无法识别任何可用的软件源。这会导致尝试更新或安装新软件包时失败,并提示找不到有效的存储库错误消息。 2. **系统维护困难** 如果没有备份这些 `.repo` 文件,在重新设置系统的软件源之前,管理员可能难以通过标准工具完成常规的任务(如升级内核版本或其他重要组件)。因此增加了额外的工作量来恢复正常的环境状态。 3. **依赖关系破坏** 许多自动化脚本和服务都依赖于预设好的yum repository路径来进行自动化的部署或者补丁应用等工作流程;一旦被误删则可能导致整个生产环境中断服务甚至数据丢失等问题发生. --- ### 解决方法 当发现已经意外清除了 `/etc/yum.repos.d/` 目录之后,可以采取以下措施进行修复: #### 方法一:重建默认 Repository 配置文件 可以通过手动创建新的`.repo`文件或将原始发行版自带的标准模板复制回来实现快速还原目的: ```bash cd /etc/yum.repos.d/ wget http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7 -O RPM-GPG-KEY-CentOS-7 # 下载官方GPG密钥作为示例 (针对CentOS 7) vi base.repo # 使用编辑器新建base.repo文件并写入相应内容如下所示: ``` 对于 CentOS 用户来说, 可能需要添加类似于下面这样的条目到刚刚建立起来的新文档当中去: ```ini [base] name=CentOS-$releasever - Base failovermethod=priority baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [updates] name=CentOS-$releasever - Updates failovermethod=priority baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 ``` 保存退出后再运行清理缓存与生成索引的操作即可恢复正常功能[^2]: ```bash yum clean all && yum makecache fast ``` #### 方法二:利用镜像站点下载完整 set of repo files 并替换现有空缺部分 另一种更为简便的方式是从互联网上找到对应操作系统版本所对应的全部repository configuration examples集合压缩包形式直接解压覆盖至目标位置从而一步到位解决问题。例如对于RHEL系列衍生品而言往往能够轻易定位其官方网站资源链接地址进而获取所需材料加以运用[^1]. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值