情况描述:

园区意外断电,导致服务器centos7.4系统不能正常进入,一直卡在进度条界面,按esc或者f5能够看到详细的错误,主要有三个服务报错,如下图:

chronyd、Postfix、polkit服务启动失败

分析情况:

这几个服务都是centos下常见的服务,chronyd是时间同步服务,Postfix是邮件服务,polkit是linux服务器上面的一种服务器方法进程,是不是最后一个服务失败导致系统进不去的呢?

解决步骤:

一、关闭错误服务解决方法

服务器的紧急模式不能进入,于是刻录了一张centos7.4的光盘,通过光盘的紧急模式进入,原来的系统文件都被挂载在/mnt/sysimage/目录下面:

1.1、首先查看message日志

cat /mnt/sysimage/var/log/message (日志文件比较大)

检索发现了界面上面报的几个错误,于是我们想把这几个服务都停止掉:

于是在紧急模式下使用命令:

systemctl stop chronyd (不存在)

systemctl disable chronyd

systemctl disable polkit

systemctl disable postfix

后面正式这种方法错误,很有可能关闭了光盘系统里面的三个对应服务。

1.2、进入单用户模式

(在启动grub菜单,选择编辑选项启动

按键盘e键,来进入编辑界面

找到Linux 16的那一行,将ro改为rw init=/sysroot/bin/sh

现在按下 Control+x ,使用单用户模式启动

现在,可以使用下面的命令访问系统

chroot?/sysroot)

运行一下命令,停止服务:

systemctl disable chronyd

systemctl disable polkit

systemctl disable postfix

然后重启,这次不报这三个错误了,但是继续报其它服务错误,我们采用同样的方法,陆陆续续关闭了以下服务:

chronyd.service

firewalld

NetworkManager

postfix

tuned

docker

kdump

在关闭了这么多服务后,启动界面不报任何错误了,但还是进不去系统,一直卡在进度条,按esc也没有任何错误,进入死胡同了,这种方法不通了。

二、系统分区、文件系统、磁盘检测

检查修复

进入紧急模式:

2.1、文件系统修复

先umount 系统分区,在修复

xfs_repair -v -L /dev/dm-0 (可能会导致用户信息和日志丢失)

2.2、df -h 和fdisk -l /dev/sda1 检查分区是否正常

2.3、#检测坏道命令,结果输出到 /home/badblocks.log

badblock -s -v -o /home/badblocks.log /dev/sda1

结果:都没有错误

三、selinux原因导致

于是进去检查selinux的配置,发现SELINUX=disabled和SELINUXTYPE=targeted是正常的,排除这种可能。

四、查看原系统的操作日志

紧急模式进入,查看/mnt/sysimage/root/.bash_history,发现有删除/etc/rc.d/目录下的操作记录,仔细看发现是中了挖矿病毒,用clamav扫描,手动清除文件的操作,而且还有替换ps、lattr命令等操作,截图如下,在想会不会是因为误删除了系统文件导致的,后面证实了我的想法是正确的。

4.1、于是重新进入紧急模式,查看message、boot.log、dmesg、secure日志,发现日志太大了,不好定位问题,于是先备份这些日志文件,然后全部清空,重新从硬盘启动系统,然后用光盘紧急模式进入查看日志具体错误,先后修复了以下文件。centos7系统服务关联的三个路径:/usr/lib/systemd/system/ | RPM包安装时分发的unit文件/run/systemd/system/ | systemd运行时创建的文件/etc/systemd/system/ 修复了以下文件:/usr/bin/tmux zram.service/sbin/rngd/lib/systemd/rhel-dmraid-activation :no such file or directory 、/usr/libexec/anaconda/anaconda-pre-log-gen/usr/libexec/anaconda/zramswaponanaconda-pre.servicelibevent-2.0.so.5anaconda-tmux0tty1.serviceanaconda.service/usr/bin/anaconda-disable-nm-ibft-plugin/sys/module/pcc-cpufreg/initstate/etc/rc.d/init.d/functions采用方法:光盘文件考虑到原系统文件cp /usr/lib64/libevent-2.0.so.5 /mnt/sysimage/usr/lib64/cp -r /usr/libexec/anaconda /mnt/sysimage/usr/libexec/cp /lib/systemd/rhel-dmraid-activation /mnt/sysimage/lib/systemdcp /usr/bin/anaconda-disable-nm-ibft-plugin /mnt/sysimage/usr/bin/修复了几十轮以后,发现message里面还报了以下错误:Unknown username "polkitd"Unknown username "dbus"Failed bot register match for Disconnected messageLooping too fast Throottling execution a littletuned.servicepostfix.service Failedchronyd.servicepolikit.servicedbus.service有用户不存在和系统服务启动失败的现象,很奇怪,这些是系统服务用户,下意识的去找passwd文件,发现里面除了root,其它用户都被注释掉了,到这里感觉找到了问题所在,于是取消注释,重新在清楚日志重启,发现可以正常进入系统了,具体passwd文件被病毒注释还是程序或者人为设置的,无痕可查。后来我做过实验,如果把passwd里面的用户除了root,其它用户都停掉,确实会导致进不去系统。总结:进不去系统原因是passwd用户被注释了,不然能进去系统,系统缺少库文件会影响系统服务启动。

linux7无法进入系统,记录一次断电导致centos7.4系统不能正常进入的解决方案相关推荐

  1. 模拟断电oracle数据不一致,Oracle数据库案例整理-Oracle系统运行时故障-断电导致数据文件状态变为RECOVER...

    1.1       现象描述 异常断电,数据库数据文件的状态由ONLINE变为RECOVER.系统显示如下信息: SQL> select file_name ,tablespace_name , ...

  2. linux7双系统启动顺序,实测win10 efi启动及centos7双系统引导顺序修改

    安装win10 安装win10过程中,系统自动建立esp分区,分区格式为FAT16,目录如下 1,EFI/Boot文件夹保持不动 删除 EFI/Microsoft/boot/ 文件夹下面除BCD文件外 ...

  3. linux系统记录修改时间,查看和修改linux系统时间

    一.查看和修改Linux的时区1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区方法 A 命令 : "tzselect" 方法 ...

  4. 双系统卸载不干净,导致无法进入系统的引导修复办法(不用pe)

    之前装双系统装了个win7(鬼知道我为什么要装win10+win7),然后那时候装失败了,具体是为什么忘记了,应该是引导的问题,从那个时候开始,我重启电脑就经常出现两个引导,但是我已经把win7的系统 ...

  5. iPhone系统删除描述文件过程导致的Windows10系统无法连接到任何网络

    Windows10系统无法连接到任何网络的情况(陆续报错:1068.1053.50-等) 由于前几天使用IOS系统iPhone看了一些难以启齿东西导致 iPhone增加了个无法删除的描述文件 (这个怎 ...

  6. 计算机安装过程突然断电怎么办,Win7系统重装到一半断电了怎么办?还能继续安装吗?该怎么补救?...

    有网友反应使用一键重装系统软件给电脑重装Win7系统的时候时间长,可突然断电了,或者其他各种原因导致没有将系统安装完成,重启后提示"计算机意外地重新启动或遇到错误,Windows安装无法继续 ...

  7. 32位Windows系统未分页内存限制导致的VPS的容量问题

    问题 32位Windows系统未分页内存限制导致的VPS的容量问题 解决方案 在32位的Windows系统上,制约VPS的数量的主要参数是"未分页内存" 打开Windows自己的任 ...

  8. 海思3518ev200学习记录(1)- 根据用户手册烧录系统镜像

    系列文章目录 海思3518ev200学习记录(1)- 根据用户手册烧录系统镜像 海思3518ev200学习记录(2) - 交叉编译官方webRTC 海思3518ev200学习记录(3) - 编译 am ...

  9. linux培训描述,【linux培训班】关于linux系统记录和描述进程的分析

    从C语言源代码分析,神秘的Linux系统是如何记录和描述进程的?也许我们习惯用Windows系统,可程序员最爱的还是linux系统,毕竟这样的系统安全性比较高,可操作的难度也是有的,不适合小白来使用. ...

最新文章

  1. System.err: java.lang.UnsatisfiedLinkError: dlopen failed: library “libc++_shared.so“ not found
  2. CSS3——对齐 组合选择符 伪类 伪元素 导航栏 下拉菜单
  3. 继续着茫茫碌碌的日子
  4. BUILD 2015: Visual Studio对GitHub的支持
  5. 全球及中国碳交易行业十四五发展展望与建设趋势研究报告2022-2027年
  6. 社会管理网格化 源码_为什么说网格化管理是基层社会治理的有效武器
  7. LeetCode 542 01 矩阵
  8. 【SpringMVC框架】非注解的处理器映射器和适配器
  9. 【百度地图API】如何批量转换为百度经纬度
  10. JavaScript内置对象导读(1)
  11. linux安装qq权限不够,[操作系统]Linuxqq安装及其所引发的问题{权限位是 777 (必须 =0755 且 =0755)}...
  12. java 信鸽推送demo_iOS中关于信鸽推送的使用demo详解
  13. iOS音频采集技术解读:如何实现男女变声的音效?
  14. 2022年备考[嵌入式系统设计师]你准备好了吗?
  15. 用word制作正规公文(转)
  16. 阿里架构师的炫技与克制:代码的两种味道与态度
  17. 蜘蛛能抓取thinkphp的html页面,搜索引擎的蜘蛛是如何爬的,如何吸引蜘蛛来抓取页面...
  18. 第5次作业+160+曾元鹏
  19. anaconda安装pythonocc
  20. 机器学习中的方差偏差分析(Bias-variance analysis)

热门文章

  1. 电子计算机解锁,全电子计算机联锁系统信号解锁模块的研究
  2. 基于JAVA+SpringMVC+Mybatis+MYSQL的校园订餐点餐外卖管理系统
  3. JavaScript学习篇(4)
  4. vsync信号产生与分发
  5. mybatis中因为不理解$与#而出现的bug
  6. My SQL-4 函数
  7. linux内核分析第五次实验
  8. sama5d36 OUT0-OUT3 对应关系 带光模块的系统
  9. Codeforces Round #186 (Div. 2) Problem D 动态规划
  10. 得到本机或者网络上共享打印机的状态和打印任务