数据存储浏览器中首发的虚拟机磁盘文件是虚拟机的界面文件,并且没有图标。
 打开虚拟机电源时,出现文件未找到的错误。
 查看虚拟机目录时存在平面文件
 虚拟机磁盘的磁盘文件不存在或已损坏。
解决方案
如何重新补发丢失/丢失的虚拟磁盘光盘文件(.vmdk):
注意:VMware 建议对关键虚拟机定期执行完整映像备份,以便在出现这种情况时轻松进行还原。VMware 还建议您尝试从备份损坏的磁盘文件中恢
复。此方法不能用于重新创建加密的磁盘
描述符文件。
**注意:**视频中使用了 vmkfstools -a 选项。在 ESXi 6.5 版本及更高版本中,此选项已弃用,将被忽略,并显示以下消息:“–adaptertype 已弃用,
因此将被忽略”。
**重要说明:**如果旅行的虚拟机没有完整备份,请确保将平面文件复制或备份到单独的位置。本文仅重点介绍为虚拟机重新创建文件文件,请勿编辑或
更改平面文件的内容,因为这可能会导致数据丢失。
注意:在虚拟机中配置了准虚拟化SCSI控制器的虚拟磁盘中,此过程将会损坏,因为虚拟机可能不会引导。不过,如果使用准虚拟化SCSI控制器,将
通过ddb 。 adapterType = pvscsi替换文件中的ddb.adapterType = lsilogic来对新的总线文件进行更新。
要创建虚拟机磁盘文件,请执行以下步骤:
-  通过 SSH 或 DCUI 登录到 ESXi 主机的终端。
-  使用以下命令导航到包含丢失的磁盘文件的虚拟机磁盘的目录:
 # cd /vmfs/volumes/myvmfsvolume/mydir
-  检查虚拟机配置文件 ( .vmx ),确定虚拟磁盘正在使用的 SCSI 控制器的类型。控制器由scsi # .virtualDev行标识,其中#是控制器编号。有多个控制器和控制器类型可附加到虚拟机,如lsisas1068(即LSILogic SAS控制器)、lsilogic或buslogic。此示例使用lsilogic: scsi0.present = “true” scsi0.sharedBus = “none” scsi1.present = “true” scsi1.sharedBus = "virtual " scsi1.virtualDev = “lsilogic” 
-  使用类似以下内容的命令,确定并记录-flat文件的准确大小:# ls -l vmdisk0-flat.vmdk -rw------- 1 root root 4294967296 Oct 11 12:30 vmdisk0-flat.vmdk 
-  使用vmkfstools命令创建新的虚拟磁盘:# vmkfstools -c 4294967296 -d Thin temp.vmdk 
命令使用以下标记:
 注意:为了节省磁盘空间,我们使用Thin类型创建采用专业设置格式的磁盘。但是,如果原始分区未未设置为“专业”,该操作的唯一结果是初始化文件包含一个额外的行,您必须在后面的步骤中手动将其最终删除。会创建temp.vmdk和
 temp - flat.vmdk文件。
 -c size 这是虚拟磁盘的大小。
 -d Thin 这会创建采用专业配置的磁盘。
-  删除temp-flat.vmdk,因为不需要这个文件。运行以下命令:# rm -i temp-flat.vmdk 
-  将temp.vmdk重命名为与孤立的 - flat文件(或本例中的vmdisk0.vmdk)匹配的名称:# mv -i temp.vmdk vmdisk0.vmdk 
-  使用“vi”文本编辑器编辑布拉格文件(本例中为vi vmdisk0.vmdk,)a. 在范围描述部分下, 使用命令“ Shift + r ”进入替换模式。 找到并更改 - flat文件的名称以与隔离的 - flat,相匹配按“Esc”退出替换模式。 b. 如果原始.vmdk不是光盘,请找到ddb.thinProvisioned = "1"行后将其删除。如果是光盘,则保留此行。使用命令"Shift + zz"保 存并退出“vi”编辑器。 示例 # Disk DescriptorFile version=1 CID=fb183c20 ParentCID=ffffffff createType=“vmfs” # 盘区描述 RW 8388608 VMFS “vmdisk0-flat.vmdk” # 磁盘数据库 #DDB ddb.virtualHWVersion = “4” ddb.geometry.Columns = “522” ddb.geometry.heads = “255” ddb.geometry.sectors = “63” ddb.adapterType = “lsilogic” ddb.thinProvisioned = “1” 现在,可以准备打开虚拟机电源了。验证您的更改,并在启动虚拟机前确保磁盘链是一致的。 
-  要检查磁盘链一致性,请针对磁盘磁盘文件运行以下命令:# vmkfstools -e filename.vmdk 对于完整的链,输出将如下所示: 磁盘链一致(磁盘链一致) 对于损坏的链,您会看到快照链的摘要,然后会看到类似以下内容的输出: 磁盘链不一致: 由于创建了子虚拟磁盘,父虚拟磁盘被修改。父虚拟磁盘的内容 ID 与子虚拟磁盘中对应的父内容 ID 不匹配 (18) (磁盘 链不一致:自创建子虚拟磁盘以来,父虚拟磁盘已被修改。父虚拟磁盘的内容 ID 与子虚拟磁盘中相应的父内容 ID 不匹配 (18)) 附加信息 虚拟机的每个磁盘驱动器均包含多个.vmdk文件。一个是包含有关虚拟硬盘的描述性数据的文本文件,另一个是该磁盘的实际内容。例如,名为 examplevm 的虚拟机拥有一个附加的10 GB 磁盘。此磁盘由不超过 1 KB 的examplevm.vmdk读写文件和包含虚拟机内容的 10 GB examplevm- flat.vmdk平面文件构成。