几乎玩过虚拟机的人都经历过,突然掉电或者死机后,虚拟机不能正常启动的情况。虚拟机会给我的提示信息是:
Cannot open the disk 'D:/ubuntu/ubuntu.vmdk' or one of the snapshot disks it depends on.
Reason: The specified virtual disk need repair.
今天再次经历了这样的无奈。真是崩溃啦,以前遇到到过,没办法重装了系统,但现在虚拟机中有很多东西了,不是装不装系统的问题,是东西该怎么办呀。求助于google,但看到的方法都是del .lck文件,这种方法试了n遍,没成功。再找找了,看到了一篇,方法有点特殊,也有点麻烦,再麻烦也要一试。
参考网址:http://www.bsdown.com/html/201010/1506.html
方法入下:
解决方法:即然已有方法无效,那就自己探索了,先看一下原虚拟机文件vmdk文件大小未有明显异常,那么是不是有办法提取出来利用呢。Google了一把发现一个好工具:DiskGenius (磁盘管理修复) V3.2,此工具支持vmdk文件的检查及分区文件拷贝。
操作步骤:
1)使用DiskGenius打开原vmdk文件,硬盘->打开虚拟硬盘文件
2)使用VMware创建一个与原来类似的虚拟机文件。(重新安装一个虚拟机操作系统,与损害的系统相同的系统)
3)使用DiskGenius打开新生成的vmdk文件(这时,你的diskgenius中有两个虚拟系统分区表,照片如下)
4)对这个新生成的vmdk文件进行分区(5)是4)的具体操作)
5)使用“工具”下的“复制分区”功能将原vmdk分区里的文件复制至新vmdk分区里(刚才操作的时候没有抓图片下来)
说明的是:我用diskgenius3.2进行分区cp的时候,提示我有“没有合适的复制方式......”不能操作。所以在重新安装虚拟机操作系统时一定要注意安装的位置有足够的容量(不仅满足安装的系统的需要,还要考虑到cp分区表的时候的需要),为此我把windows下的驱动器都删除了。尽管我尝试把新装的系统满足分区表cp的要求,但最终diskgenius3.2就是提示我没有办法cp,真是无奈。想到刚才在驱动器恢复的时候diskgenius并不怎么好用,还是diskgenius3.0满足了我愿望。所以又去用diskgenius3.0试试啦,不试不知道,一试下一跳,还真可用cp啦。由于系统自动选择了扇区cp,我的linux系统分配了20G的空间,这样就花掉了将近20m的时间。cp结束,赶快启动虚拟机看看,还真可以啦!对diskgenius3.0的“复制分区”不在“工具”中,而在“硬盘”目录中。
选择源分区,即出错的XP(linux)虚拟机所在分区
选择目的分区,即新的XP(linux)虚拟机所在分区
复制过程中,可能会出现提示错误的扇区,忽略即可。完成之后,一个新的XP(linux)虚拟机即成功修复。
这中方法虽然能恢复虚拟机中的文件,但代价也大呀,花了我将近一天的时间。还是经常备份虚拟机对应的文件,这样的即使出现上面的情况,这样我恢复一下数据就可用重启了。