虚拟机的文件管理由VMware Workstation来执行。一个虚拟机一般以一系列文件的形式储存在宿主机中,这些文件一般在由workstation为虚拟机所创建的那个目录中。

如下图所示:(<vmname>表示创建的虚拟机名字。)
 
(删除  .lck锁文件即可打开)
 

1、<vmname>.vmx文件:表示虚拟系统文件,我们用虚拟机程序打开这个文件以启动虚拟系统。

该文件为虚拟机的配置文件,储存着根据虚拟机向导或虚拟机编辑器对虚拟机进行的所有配置。
有时需要手动更改配置文件以达到对虚拟机硬件方面的更改。可使用文本编辑器进行编辑。
如果宿主机是Linux,使用VM虚拟机,这个配置文件的扩展名将是.cfg。

2、<vmname>.vmem文件:表示虚拟内存文件,与pagefile.sys(亦称分页文件)同。当虚拟系统执行关机操作后,vmem文件消失,但挂起关闭时,不消失。
3、<vmname>.vmdk文件:表示虚拟机的一个虚拟磁盘。

这是虚拟机的磁盘文件,它储存了虚拟机硬盘驱动器里的信息。
一台虚拟机可以由一个或多个虚拟磁盘文件组成。
如果在新建虚拟机时指定虚拟机磁盘文件为单独一个文件时,系统将只创建一个<vmname>.vmdk文件
该文件包括了虚拟机磁盘分区信息,以及虚拟机磁盘的所有数据。
随着数据写入虚拟磁盘,虚拟磁盘文件将变大,但始终只有这一个磁盘文件。
如果在新建虚拟机时指定为每2GB单独创建一个磁盘文件的话,虚拟磁盘总大小就决定了虚拟磁盘文件的数量。
系统将创建一个<vmname>.vmdk文件和多个<vmname>-s###.vmdk文件(s###为磁盘文件编号),
其中<vmname>.vmdk文件只包括磁盘分区信息,多个<vmname>-s###.vmdk文件存储磁盘数据信息。
随着数据写入某个虚拟磁盘文件,该虚拟磁盘文件将变大,直到文件大小为2GB,
然后新的数据将写入到其他s###编号的磁盘文件中。
 
如果在创建虚拟磁盘时已经把所有的空间都分配了,那么这些文件将在初始时就具有最大尺寸并且不再变大了。
如果虚拟机是直接使用物理硬盘而不是虚拟磁盘的话,虚拟磁盘文件则保存着虚拟机能够访问的分区信息。
早期版本的VMware产品用.dsk扩展名来表示虚拟磁盘文件。
 
<vmname>-<######>.vmdk 
当虚拟机有一个或多个快照时,就会自动创建该文件。
该文件记录了创建某个快照时,虚拟机所有的磁盘数据内容。
######为数字编号,根据快照数量自动增加。

4、<vmname>.vmss文件:

该文件用来储存虚拟机在挂起状态时的信息。
一些早期版本的VM产品用.std来表示这个文件。

5、<vmname>.log文件:该文件记录了VMware Workstation对虚拟机调试运行的情况。当碰到问题时,这些文件对我们做出故障诊断非常有用。

6、<vmname>.nvram文件:该文件储存虚拟机BIOS状态信息。

7、<vmname>-Snapshot<##>.vmsn

当虚拟机建立快照时,就会自动创建该文件。有几个快照就会有几个此类文件。
这是虚拟机快照的状态信息文件,它记录了在建立快照时虚拟机的状态信息。
##为数字编号,更具快照数量自动增加。

8、当运行一个“虚拟系统”时,为防止该系统被另外一个VMware程序打开,导致数据被修改或损坏,VMware会自动在该“虚拟系统”所在的文件夹下,生成三个锁定文件
(虚拟系统锁定,虚拟磁盘锁定,虚拟内存锁定),分别为:
  ”systemType.vmx.lck”,”systemType.vmdk.lck”,”systemTyep.vmem.lck”。
  常见问题
  虽然VMware这种锁定机制能够很好地防止同一个虚拟系统文件被多个VMware运行程序运行,避免了数据被破坏。但它也带来了一些问题。即当出现断电或其它意外情况,可能导致某个虚拟系统文件无法正常打开。原因往往在于:该虚拟系统文件没有解锁。解决办法:只要把三个lck文件夹删去即可。

知识拓展
  1、什么是虚拟内存?pagefile.sys文件又是什么?
  虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。
  Pagefile.sys为分页文件,即虚拟内存文件,它默认存在于系统盘的根目录下,系统盘的空间越大,你的系统就能够腾出更多的空间给虚拟内存,那么你的系统也会越稳定,所以建议尽量不要把软件程序装在系统盘。
  2、为什么要设置虚拟内存?
  电脑中所运行的程序均需经由内存执行,若执行的程序很大或很多,则会导致内存消耗殆尽。
  而内存不足常导致卡机,系统不稳定等情况的发生。为解决该问题,Windows中运用了虚拟内存技术,即匀出一部分硬盘空间来充当内存使用。
  虽然虚拟内存技术在一定程度上能够缓解物理内存的紧张状况。但是,因为计算机从RAM读取数据的速率要比从硬盘读取数据的速率快,因而若想提高性能,扩增RAM容量(可加内存条)是最佳选择。
  3、它的工作原理是什么?
  工作原理:若计运行程序或操作缺乏所需的物理内存(随机存储器,RAM),则 Windows 会用之进行补偿。它将计算机的RAM和硬盘上的临时空间(虚拟内存)组合。当RAM运行速率缓慢时,它便将数据从RAM移动到称为“分页文件”的空间中。

esxi虚机迁移到Workstation的更多相关文章

  1. virt-v2v命令将ESXI 虚机迁移到OpenStack中

    一简介: virt-v2v是将外部的虚拟化平台上的虚拟机转化到可以运行的KVM平台上.它可以读取在VMware.Xen运行Hyper-V和其他虚拟机管理程序上的Windows和Linux的虚拟机,并将 ...

  2. VMWare 虚机迁移后Linux系统网卡启动问题

    重新安装VMWare或拷贝虚机文件后有时网卡会无法工作,主要是因为网卡的Mac地址改变了,如果系统中的网卡配置信息中有Mac的信息,则虚机的系统的网卡可能无法正常工作. 如果出现上述问题,解决办法如下 ...

  3. Hyper-V、Esxi虚机还原,远程重启(关机)

    /// <summary> /// 还原虚拟机 /// </summary> /// <param name="RDPID"></para ...

  4. openstack 虚机迁移 Unacceptable CPU info: CPU doesn't have compatibility

    问题: Unacceptable CPU info: CPU doesn't have compatibility 解决: vim /usr/lib/python2.7/site-packages/n ...

  5. v2v-VMware/VSphere中虚机离线迁移至openstack平台

    先决条件 exsi到openstack的迁移,分为两种,一种是静态迁移,另一种是在线迁移. 静态迁移(offline migration)也叫做常规迁移,离线迁移.在迁移之前将虚拟机暂停,同时拷贝虚拟 ...

  6. OpenStack之虚机冷迁移代码简析

    OpenStack之虚机冷迁移代码简析 前不久我们看了openstack的热迁移代码,并进行了简单的分析.真的,很简单的分析.现在天气凉了,为了应时令,再简析下虚机冷迁移的代码. 还是老样子,前端的H ...

  7. OpenStack之虚机热迁移代码解析

    OpenStack之虚机热迁移代码解析 话说虚机迁移分为冷迁移以及热迁移,所谓热迁移用度娘的话说即是:热迁移(Live Migration,又叫动态迁移.实时迁移),即虚机保存/恢复(Save/Res ...

  8. OpenStack之虚机热迁移

    OpenStack之虚机热迁移 最近要搞虚机的热迁移,所以也就看了看虚机迁移部分的内容.我的系统是CentOS6.5,此处为基于NFS共享平台的虚机迁移.有关NFS共享服务器的搭建可以看这里. Yak ...

  9. [译] libvirt 虚机的生命周期 (Libvirt Virtual Machine Lifecycle)

    翻译自:http://wiki.libvirt.org/page/VM_lifecycle   这篇文章描述虚机生命周期的基本概念.其目的在于在一篇文章中提供完整的关于虚机创建.运行.停止.迁移和删除 ...

随机推荐

  1. WPF模拟Office2010文件菜单的TabControl模板

    原文:WPF模拟Office2010文件菜单的TabControl模板 这是Office2010中的文件菜单点开后的效果.本文我将以强大的WPF(www.itstrike.cn)来实现类似的效果.希望 ...

  2. 经典数字图像处理(matlab 实现)

    Ivan Selesnick(Software) Sparsity / Total variation / Denoising Software - Michael Elad's Personal P ...

  3. React学习(3)——ref,key,PureComponent,bindActionCreator

    ref 如果在html里设置ref那么它就指向这个真实的DOM节点. 如果在组件里设置ref,那么它就指向这个组件实例的引用,和组件里面的this互等. 我们经常在表单input,select里使用, ...

  4. Python 推断素数

    a = raw_input() #输入数字 a = int(a) #铸造成int b=True #的标记 for i in range(2,a): #从2开始循环本身 if a%i==0: #除了自己 ...

  5. Codeforces Round #263 (Div. 2) proA

    称号: A. Appleman and Easy Task time limit per test 1 second memory limit per test 256 megabytes input ...

  6. sql in(inner join)

    查看执行任务可知,使用in关键字,会进行inner join,找出匹配项  

  7. 开源数据源使用 DBCP 和 C3PO

    jar包: commons-dbcp-1.4.jar commons-pool-1.5.6.jar mysql-connector-java-5.0.8-bin.jar 建立dbcp的配置文件 dbc ...

  8. WPF应用无法使用Snoop分析的解决办法

    如果WPF程序是以管理员身份启动的,Snoop不是用管理员身份启动,那就不行. 用管理员身份启动snoop,就可以了. 管理员身份启动cmd,然后启动snoop,ok.

  9. requirejs教程(一):基本用法

    介绍 RequireJS是一个非常小巧的JavaScript模块载入框架,是AMD规范最好的实现者之一.最新版本的RequireJS压缩后只有14K,堪称非常轻量.它还同时可以和其他的框架协同工作,使 ...

  10. Win8 Metro(C#)数字图像处理--2.50图像运动模糊

    原文:Win8 Metro(C#)数字图像处理--2.50图像运动模糊  [函数名称] 图像运动模糊算法    MotionblurProcess(WriteableBitmap src,int  ...