记录 误删linux bin目录的恢复过程
记录 误删linux bin目录的恢复过程
这两天在公司的k8s平台系统中,使用root用户误删了bin 目录,,导致整个系统大部分的命令都 无法执行
原本想执行的是 rm -rf ~/bin 结果手贱,打成了 rm -rf ~bin,悲剧了,然后各种从晚上找文档找办法,遇到了各种问题
如果在刚删除完,没有关闭系统,还好救,,否则,就只能进入救援模式来恢复了
以下是我复现 恢复的全过程(之前的故障已经恢复了,没记录,不敢在上面再乱动了)
挂载镜像,调整引导,进入救援系统
在进入到bios之后将光盘设置为第一启动项
进入之后发现自盘已经挂上了,,,但是我当时遇到的问题没那么简单,,,我再上一步选择“1”的时****候,,没有直接进入到shell,而是显示一大堆"==========",我等了好几个小时都没有进去,后来我选择的是“3”,进入到shell后,我手动挂载的目录,mount /dev/mapper/centos-root /mnt/sysimage
copy后重启系统测试,按照之前的步骤将硬盘设置为第一启动项,随后F10保存退出
系统成功的进来了,但是发现有好多命令都没了(是由于直接拷贝了 光盘当中的bin目录,光盘淡妆的是系统默认命令)
找其他的机器,将命令拷贝回来。因为我这个是k8s集群,每台服务器安装的命令都一样
至此,bin目录就恢复好了,,,,但是我当时遇到的没有那么简单,,我没有用光盘中自带的bin目录恢复,我是将其他主机的 vmdk磁盘文件拷贝出来,添加到故障机器中,通过挂载其他主机的vmdk来恢复bin目录,,过程是无比的坎坷,在此不多叙述,过程和前面的恢复差不多,有差别的地方就是需要手动挂载磁盘,以下是我在恢复的时候遇到的问题
出问题的节点磁盘挂载上了,拷贝的其他主机的磁盘却挂不上
通过报错查看他的磁盘类型是lvm,但是由于是直接用的是其他主机的硬盘,与现有硬盘的lvm,vg的名字冲突,无法进行挂载
查看pv发现报错
尝试修改vg的名称
**卷组
尝试挂载,fdisk -l 查看磁盘情况
发现报错。解决方法如下
挂载上后,就可以将这块硬盘的bin目录拷贝到出错的那块硬盘的bin下,拷贝好了之后重启进bios调整启动项
如果你在启动的时候遇到了卡 进度调的情况的话
查看到底是卡在了什么地方,内核启动的时候有没有报错
重启系统,在grub菜单中 在第一个选项 输入 “e” 键
删除rhgb quiet
随后按住Ctrl + X 启动系统
我当时做的时候是卡在了这个界面
解决方法就是 再次进入到救援模式中。挂载目录 执行如下命
等修复结束后,重启虚机电源应该就能正常进入系统了
总结: 没事儿不要瞎用root 权限在服务器上乱操作,数据无价