/boot误删除,重建

逸兴
逸兴
逸兴
57
文章
25
评论
2021-07-1416:55:44/boot误删除,重建已关闭评论 1536字阅读5分7秒

故障现象:

中午一线同事说服务器登不上了密码不对,要重新同步密码,试了一下能ping通,ssh连不上,登录idrac查看,结果卡在登录这一块。登录程序一直在输入用户名部分循环。

/boot误删除,重建

看样子不是密码不对,估计是登录模块哪地方损坏了,看来只能进单用户看下了,登录相关的一般都会在secure日志中记录。

重启服务器:

/boot误删除,重建

重启时,BIOS自检后本应该是grub引导内核启动,但是报了这个错误,

error: file '/grub2/i386-pc/normal.mod' not found.

是grub引导损坏导致的,需要修复grub。rhel7系列使用grub2来启动系统,这里要修复grub2。

服务器挂了有两块硬盘, hd0和hd1,因为这里的boot是个单独分区,所以应该在分区下的第一级目录。

/boot误删除,重建

boot分区一般都在第一块的第一块分区上,看下hd0,msdos1

/boot误删除,重建

只有(hd0,msdos1)能识别到,但是内容是空的,虽然不想相信,但怎么看也是整个boot分区都没了。接下来要重建boot分区,才能引导进入单用户。

当时故障比较紧急,没有保存多少照片,现在在虚拟机上复现下问题。

救援模式(Centos7)

挂载个rhel7的镜像,下次启动选择‘虚拟cd/dvd’,重启机器,接下来读取镜像

1.选择Troubleshooting(不要选错了,不然把系统给重装了)

/boot误删除,重建

2.选择‘Rescue a CentOS system’

/boot误删除,重建

3.输入‘1’

/boot误删除,重建

4.这时候会把原来的系统挂载到/mnt/sysimage

使用chroot切换下目录,就能进入到原来的系统。(关于切换上面有提示)

这是原来的文件系统和lvm,都挂载到了/mnt

/boot误删除,重建

出故障的系统是CentosOS 7.6的版本

/boot误删除,重建

执行chroot /mnt/sysimage,切换工作目录

/boot误删除,重建

接着切换报错:

chroot: faile ro run command '/bin/bash': No such file or directory.

字面意思是,因为/bin/bash命令找不到,导致choot执行失败。

这里的/bin/bash 是指的原来系统的bash,这时的路径就是/mnt/sysimage/bin/bash

还真没了。。。

/boot误删除,重建

感觉像是把根给删了。。。

/bin 是/usr/bin的软链接,但是救援模式中建立软连接路径要依赖于/mnt/sysimage,chroot之后这个路径就不存在了, 这个软链接就不会生效。

这里直接把/mnt/sysimage/usr/bin 复制到/mnt/sysimage/bin

/boot误删除,重建

切换前的提示符是"sh-4.2#", 切换成功后命令提示符为 "bash-4.2#"

/boot误删除,重建

/boot 目录是空的了, 需要重建boot

重建boot

重建boot主要分为两部分:重建内核和grub2引导

安装内核

重新安装个内核就行,先看下当前的内核版本:

/boot误删除,重建

当前使用的版本应该是3.10.0-1127.18.2.el7

需要注意的是,当前使用uname -a 检查出的内核版本并不是原系统的内核版本,而是挂载的镜像的。

要以安装的rpm包的版本为准。

本地没有这个版本的内核,需要配置个临时IP,连接到外网进行下载。

如果没有外网权限,可以使用rsync等工具,从局域网下载。

配置临时IP
/boot误删除,重建
/boot误删除,重建
添加临时路由
/boot误删除,重建
/boot误删除,重建
dns 设置
/boot误删除,重建
ping测试
/boot误删除,重建

接下来需要下载内核安装包,重新安装。

http://mirror.nsc.liu.se/centos-store/7.8.2003/os/x86_64/Packages/kernel-3.10.0-1127.el7.x86_64.rpm

/boot误删除,重建

然后强制安装:

/boot误删除,重建
强制安装kernel

现在/boot目录下面内核相关的文件都已经有了,还差grub2, 接下来重建grub2

/boot误删除,重建

重建grub2

/boot误删除,重建
/boot误删除,重建

经过重建,重新生成了引导文件。

/boot误删除,重建

然后重启服务器即可。

/boot误删除,重建
/boot误删除,重建
/boot误删除,重建

修复完成。




https://www.hugbg.com/archives/3147.html
逸兴
  • 本文由 发表于 2021-07-1416:55:44
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Mac pip安装mysqlclient报错 默认分类

Mac pip安装mysqlclient报错

问题详情 环境: Mac OS14.4, Python3.10, Django 5.0 mac 上使用docker运行了一个mysql容器, 然后终端中安装了brew install mysql-cl...
redis弱密码漏洞利用及防御 默认分类

redis弱密码漏洞利用及防御

一、概述 1.1、redis简介 Redis(Remote Dictionary Server)是一个开源的内存数据存储系统,也被称为缓存数据库,它提供了高性能、可扩展、支持多种数据结构的键值存储。由...
记一次Linux中毒处理 默认分类

记一次Linux中毒处理

一、问题描述 华为云的一台测试机配置2c4g, 只运行了一个静态网站平常访问量也不大,但是平均负载达到了1.0, 其中一个cpu核心使用率100%, top命令查不到占用cpu的进程基本能够确定中毒了...
记一次脏数据堆积引发夯机 花里胡哨

记一次脏数据堆积引发夯机

``` 系统版本: CentOS Linux release 7.4.1708 (Core) 内核: 3.10.0-957.5.1.el7.x86_64 ``` ### 故障详情 前一个小时有内存使用...