admin管理员组

文章数量:1531662

为了给虚拟机调整分区的大小,使用fdisk命令新建了一个分区,还没搞明白问题出在了什么地方,总之,fdisk把原来的文件系统给搞坏了。重启之后,虚拟机无法启动了,进入了grub rescure模式。里面还有很多重要的文件啊,最近一段时间的工作成果全在里面,这可怎么办呀?
因为是文件系统损坏,所以在grub rescure模式下,虽然可以通过ls命令看到分区信息,但是当你insmod normal的时候,总是提示你文件系统无法识别。此时,解决办法如下:

第一、使用原来的iso镜像文件重新创建一个虚拟机(不是原来的镜像文件也可以吧)。
第二、将原来虚拟机的硬盘添加进来,方法如下:
step1,选择虚拟机-》设置:

step2,选择硬盘,点击添加。

下一步,注意选择使用“现有虚拟磁盘”

下一步

浏览,选择原来虚拟机的磁盘文件:

然后就可以看到新增的硬盘了。

重启虚拟机
ls /dev/sd*

此时sdb1就是新增的磁盘,也就是原来虚拟机的磁盘,把它挂载到某个目录下就可以访问了。
比如:
mkdir ~/mnt
sudo mount /dev/sdb1 ~/mnt
如果文件系统没有损坏,此时就可以在mnt目录下看到之前虚拟机的文件了:

可是,如果像我这样,文件系统已经被损坏,无法挂载,则需要修复文件系统。

修复方法如下:

fsck -t ext3 /dev/sdb1
一路回车即可,完成后再次mount就可以了。然后重启原来的虚拟机,发现可以启动了。
这种方法也适用于因为错误的修改了某些系统配置文件,导致虚拟机无法启动的情况,因为在另一个虚拟机中,通过mount原来虚拟机的硬盘,可以操作其中的文件,修复其中的问题。

本文标签: 虚拟机办法VMware