案发现场
上午在 centos7 上运行一个 appimage 镜像应用,显示缺少一个 libc-2.18.so 文件,参考一篇文章,啪的一下,不小心把 /lib64/libc.so.6
移动到了别的位置,紧接着使用其他命令都报错、打不开任何应用,系统就各种用不了,关机也关不了,没办法强制关机。
开机,很顺利地,开机失败。
注:笔者在出问题后关闭了所有终端,不能通过 使用 LD_PRELOAD=/lib64/libc-2.14.so ln -s /lib64/libc-2.14.so /lib64/libc.so.6
命令 的方式继续使用机器。如果读者终端没有完全关闭,可以尝试通过上边链接中提供的方法解决问题。
准备
准备一个烧写了CentOS镜像(感觉不一定要和问题机版本一致)的U盘,需要知道系统卷标(这里最好重新设置一下卷标)
开始
开机,显示电脑Logo、进入系统前,进入开机启动菜单(这里查看 各种电脑开机启动菜单按键方式)
选择以【U 盘】的方式启动,保存修改并继续
进入系统安装界面(咱们使用的是它带的系统修复功能)
- 选择
troubleshooting
- 按
e
进入编辑
![image-20220314155000189](https://gitlab.com/engureguo/pic-repo/raw/main/assets/images/2022/03/202203141550418.png)
编辑参数:
- 删除
Install CentOS ...
的menuentry
项,保留Rescue a CentOS system
的menuentry
项 - 修改 系统卷标 为你的卷标。如下图:
![image-20220314155206441](https://gitlab.com/engureguo/pic-repo/raw/main/assets/images/2022/03/202203141552429.png)
按 ctrl x
开始,进入另一个界面,选择 Rescue a CentOS system
,回车
进入修复环境:
- 输入 1,继续
- 回车,进入修复shell。如下图:
![image-20220314155745026](https://gitlab.com/engureguo/pic-repo/raw/main/assets/images/2022/03/202203141557133.png)
2步骤回车后,我们在 / 下,我们原来的系统实际在 /mnt/sysimage/
中,因此需要先 cd 进来;另外,进来后输入命令要小心,切记以 /
开始的绝对路径不是原系统的路径。在这个步骤进行原系统的修复工作。
完事后输入 exit,他会处理一些东西(这里大概要2分钟),然后自动重启,然后再次进入安装界面。我们不是来装系统的,强制关机就行。强制关机后再次开机,进入【开机启动菜单】选择启动盘为我们原来的的 CentOS 系统,保存并继续,如果修复成功的话就可以正常启动了。
参考
- https://blog.csdn.net/u013753804/article/details/48392325
- https://blog.51cto.com/309173854/1745376