linux目录误删文件 /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
- 1问题
- 2解决办法一
- 3解决办法二
- 3.1救援模式
- 3.2 恢复文件
- 4致谢
1问题
误删除了CentOS7 根目录下链接,
bin -> usr/bin
lib -> usr/lib
lib64 -> usr/lib64
sbin -> usr/sbin
导致系统除了cd,pwd 命令外,其他命令一概不认识,报错:
/lib64/ld-linux-x86-64.so.2:bad ELF interpreter: No such file or directory
2解决办法一
使用sln命令,可以创建到源文件的符号链接目标文件,它是静态链接的,无需动态链接,可以绕过ln命令。
/usr/sbin/sln /usr/lib64 /lib64
ln -s /usr/bin /bin
ln -s /usr/lib /lib
ln -s /usr/sbin /sbin
3解决办法二
如果不是root用户,且之前没有执行过sudo命令,那直接执行命令
/usr/sbin/sln /usr/lib64 /lib64
是会报错误“permission denied”。这个时候再使用sudo命令也不好使了,该怎么办。
不慌,还可以进入救援模式。
3.1救援模式
1.编辑虚拟机设置,挂载系统镜像,并设置启动时连接
2.启动虚拟机时,选择电源–>打开电源时进入固件,进入启动界面
3.在Boot选项卡中,按+号 把CD-ROM Drive 移动到第一位,并且按F10保存退出并重启
4.重启后出现这个界面,把光标移动到Troubleshooting,按回车,再选择Rescue a CentOS system,按回车就入救援模式
5.等待一段时间后,会出现如下界面,这里我们直接输入1
6.这个界面直接按回车就行
3.2 恢复文件
1.注意,这时候出现 sh-4.2# 等待输入命令。为了方便操作,一般情况下我们可以输入命令,
chroot /mnt/sysimage
用于切换至CentOS系统根目录下(救援模式下,系统根目录在/mnt/sysimage路径下)。
但是这个时候chroot命令用不了!!!
所以,原来要执行的命令
/usr/sbin/sln /usr/lib64 /lib64
ln -s /usr/bin /bin
ln -s /usr/lib /lib
ln -s /usr/sbin /sbin
就变成了下面的样子!!!
/usr/sbin/sln /usr/lib64 /mnt/sysimage/lib64
ln -s /usr/bin /mnt/sysimage/bin
ln -s /usr/lib /mnt/sysimage/lib
ln -s /usr/sbin /mnt/sysimage/sbin
2.输入exit,重新启动。
bash-4.2# exit
3.选择正常启动
这个时候,会再次看到下面的界面,依然选择 Trouleshooting。
注意,接下来要选择,
Boot from local drive!!!
Boot from local drive!!!
Boot from local drive!!!
至此,系统恢复完成!
4致谢
1.链接: VMware虚拟机Linux系统进入救援模式RW-修改配置
2.链接: linux目录误删文件 /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory