vmware 虚拟机损坏或者意外删除libc.so.6库之后的修复办法
今天手残,意外删除了/usr/libc.so.6库,然后悲剧啦,发现linux下一些我基本的命令无法使用,mv cp sudo ls等命令无法使用,提示缺少libc.so.6 库,想着从别的地方拷贝一个libc.so.6 过来,缺发现sudo cp 基础命令也无法使用,彻底悲剧啦,百度一顿搜索发现可以制作一个启动盘,来启动它,
步骤如下:
- 载U盘制作Ubuntu启动盘的工具(Universal_USB_Installer)
- Universal_USB_Installer将一个ubuntu的镜像安装到U盘上
- U盘启动,启动后,会进入一个ubuntu的安装页面,千万不要点“安装”那个选项,选择“try”就行了,然后机器就会进入ubuntu系统页面,打开文件夹,你可以看到左边有一个Devices选项,Devices就会显示你原来的硬盘,东西都在里面。
- 建libc.so.6软链接,
cd /media/XXXX/lib
sudo ln -s libc.so.6 libc-2.12.1.so - 启就可以了
参考链接
linux libc.so.6 丢失
libc.so.6被误删除后的急救
误删 libc.so.6的解决方法
以上方式试过了,但是没有成功,制作USB启动盘太过于复杂,因此选用别的方式
只是误删除库文件引起的系统无法使用,我们可以将该系统的磁盘挂载在一个可以正常启动的系统下来,在别的系统上操作该磁盘文件。
方法如下
- 使用原来的iso镜像文件重新创建一个虚拟机(不是原来的镜像文件也可以吧)
- 将原来虚拟机的硬盘添加进来,方法如下:
step1,选择虚拟机-》设置:
step2,选择硬盘,点击添加
下一步,注意选择使用“现有虚拟磁盘”
浏览,选择原来虚拟机的磁盘文件:
然后就可以看到新增的硬盘了。
重启虚拟机
ls /dev/sd*
此时sdb1就是新增的磁盘,也就是原来虚拟机的磁盘,把它挂载到某个目录下就可以访问了。
比如:
mkdir ~/mnt
sudo mount /dev/sdb1 ~/mnt
如果文件系统没有损坏,此时就可以在mnt目录下看到之前虚拟机的文件了,我们可以操作该磁盘,添加删除库文件啦:
如果文件系统已经被损坏,无法挂载,则需要修复文件系统。
修复方法如下:
fsck -t ext3 /dev/sdb1
一路回车即可,完成后再次mount就可以了。然后重启原来的虚拟机,发现可以启动了。
这种方法也适用于因为错误的修改了某些系统配置文件,导致虚拟机无法启动的情况,因为在另一个虚拟机中,通过mount原来虚拟机的硬盘,可以操作其中的文件,修复其中的问题