系统拯救–Centos7修复etc目录

1 修改启动项

右键被删掉/etc目录的那台虚拟机,选择电源–>打开电源时进入固件

也可以在启动时按F2进入BIOS界面进行调试

在BIOS界面中,选择启动项,并将CD-ROM DRIVE(从光驱启动)设为第一启动项,并按F10保存所更改的配置

(3)进入急救模式

选择拯救Centos系统

2 进行系统拯救

选择自动挂载

系统提示没有发现任何一个系统的分区,这里我们选择3) 由系统分发一个shell程序

查看磁盘

输入fdisk -l |grep “sd”查看磁盘的状态

扫描逻辑卷

激活/dev/centos/root

并挂载到/mnt/

3 通过远程传输的方式实现修复

确认并配置ip以及路由/网关等

配置完成后测试网络连接成功与否

将正常的etc目录打包

进入需要拯救的etc目录

{注:是被拯救的etc目录,而不是光盘系统的etc目录}

传输文件

解压并拷贝文件

{注:解压完成的etc是在当前的etc下新创建的一个etc}

拷贝完成后绝大部分的etc文件已经恢复

重建文件系统并重启


touch /.autorelable
reboot

4 修改配置文件

重启之后先断电(关机),在配置文件中修改启动项。将启动项从光驱启动改为从硬盘启动

进入系统

{注:此时的配置文件还是正常主机的,所以这里输入的root密码为正常主机的root密码}

修改etc下的fstab文件,将挂载文件修改正常后重启

恢复后问题

克隆其他服务器的/etc后若出现不能远程连接的情况请参考以下两种解决方案
第一种:

重新生成 SSH 主机密钥并重启 SSH 服务


m -f /etc/ssh/ssh_host_*  #删除当前系统中已存在的所有 SSH 主机密钥文件
(包括 rsa、ecdsa、ed25519 等类型)-f选项确保即使文件不存在也不会报错。
ssh-keygen -A  #自动生成所有支持的 SSH 主机密钥
(会在/etc/ssh/目录下重新创建ssh_host_*系列文件)
systemctl restart sshd #重启 SSH 服务(sshd),使新生成的密钥生效。

第二种:

重新安装ssh服务

还要查看防火墙是否为关闭状态

关闭防火墙

不同的Linux发行版和防火墙软件,关闭防火墙的方法有所不同,以下是常见的几种情况:

使用firewalld
暂时关闭:执行
sudo systemctl stop firewalld
,可停止firewalld服务,当前会话中防火墙关闭,系统重启后防火墙会再次启动。永久关闭:执行
sudo systemctl disable firewalld
,可禁止firewalld开机启动。
使用iptables
暂时关闭:执行
sudo service iptables stop
,可停止iptables防火墙。永久关闭:执行
sudo chkconfig iptables off
。还可编辑配置文件
/etc/sysconfig/iptables
,清空其中的所有规则,然后保存文件。
使用ufw(Uncomplicated Firewall):执行
sudo ufw disable
可禁用ufw防火墙。

再运行下面的命令。


yum -y install openssh*
chmod 600 /etc/ssh/ssh_host_*_key
systemctl start sshd 
systemctl status sshd  #查看服务是否为开启状态

如果出现一直循环开机,请再次进入拯救模式更改文件

进入文件后,删掉所标注的#号,最后保存让文件生效。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容