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
暂时关闭:执行,可停止firewalld服务,当前会话中防火墙关闭,系统重启后防火墙会再次启动。永久关闭:执行
sudo systemctl stop firewalld,可禁止firewalld开机启动。
sudo systemctl disable firewalld
使用iptables
暂时关闭:执行,可停止iptables防火墙。永久关闭:执行
sudo service iptables stop。还可编辑配置文件
sudo chkconfig iptables off,清空其中的所有规则,然后保存文件。
/etc/sysconfig/iptables
使用ufw(Uncomplicated Firewall):执行可禁用ufw防火墙。
sudo ufw disable
再运行下面的命令。
yum -y install openssh*
chmod 600 /etc/ssh/ssh_host_*_key
systemctl start sshd
systemctl status sshd #查看服务是否为开启状态

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

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



















暂无评论内容