拯救无法启动的虚拟机文件.vmdk中的数据

从事Linux开发的软件工程师几乎都使用过虚拟机软件,如VMware workstation,一般把虚拟机软件运行在微软的操作系统中,把Linux操作系统(如Ubuntu)运行在虚拟机软件中,这样就可以在一台主机上同时使用两个不同类型的操作系统,非常方便。

    运行在虚拟机中的操作系统以.vmdk文件的形式保存。

    在实际工作中,经常会遇到运行在虚拟机中的操作系统彻底崩溃,再也无法启动,导致几天甚至十几天的劳动成果灰飞烟灭。

    本文就介绍一个简单的方法,告诉大家如何拯救无法启动的操作系统中的重要数据。基本原理就是把无法启动的操作系统所在的虚拟机文件.vmdk当成另一个能够启动的操作系统的一个磁盘。

    操作如下:

    (1)、打开能够正常运行的操作系统

 

    (2)、把无法启动的操作系统所在的虚拟机文件设置成能够正常运行的操作系统的一个磁盘

 





    (3)、启动能够正常运行的操作系统

 

    (4)、登入操作系统,挂载新增的磁盘到系统中的某个目录下 

[cpp]  view plain  copy
  1. $ ls -l /dev/sd*  
  2. brw-rw---- 1 root disk 8,  0 2012-06-23 19:16 /dev/sda  
  3. brw-rw---- 1 root disk 8,  1 2012-06-23 19:16 /dev/sda1  
  4. brw-rw---- 1 root disk 8,  2 2012-06-23 19:16 /dev/sda2  
  5. brw-rw---- 1 root disk 8,  5 2012-06-23 19:16 /dev/sda5  
  6. brw-rw---- 1 root disk 8, 16 2012-06-23 19:16 /dev/sdb   //sdb1、sdb2和sdb5就是新增磁盘的分区  
  7. brw-rw---- 1 root disk 8, 17 2012-06-23 19:16 /dev/sdb1  
  8. brw-rw---- 1 root disk 8, 18 2012-06-23 19:16 /dev/sdb2  
  9. brw-rw---- 1 root disk 8, 21 2012-06-23 19:16 /dev/sdb5  
  10.   
  11. $ mkdir $HOME/mnt  //新建挂载点  
  12. $ sudo mount /dev/sdb1 $HOME/mnt  //挂载sdb1  
  13.   
  14. //查看,无法启动的操作系统的所有文件都在$HOME/mnt目录下了  
  15. $ cd mnt/  
  16. $ ls  


 


如果是入下报错 :则解决方式为:

vmware:Cannot open the disk 'XXX' or one of the snapshot disks it depends on. reason: failed to lock the file.

Cannot open the disk 'XXX' or one of the snapshot disks it depends on. reason: failed to lock the file.

今天打开vmware的Ubuntu虚拟机,发现出现Cannot open the disk 'XXX' or one of the snapshot disks it depends on. reason: failed to lock the file警告,上网查了一下,发现原来是上次异常关机,原本文件夹里出现了.lck后缀的文件,将其所在的文件夹删除,就可以解决了。

 

 If this happens as the result of a crash, rather than intentionally as a “boot-clean” restart, and you’re trying to recover, then a less-destructive thing to try first would be to delete any .LCK folders within the main VM folder. If this works, you should get your system back in an up-to-date state.




Logo

更多推荐