删除vmware创建的无用snapshotvmware有时候删除snapshot不仅删不掉,还卡死,有时候还会出现bug不断写文件耗干你的硬盘容量,强行结束后,程序中已经看不到那个snapshot了,但是硬盘上还被占用着,所以要想办法干掉那些垃圾文件,但是怎么找到那些无用的snapshot文件呢?总不能vmdk都删了吧,有很多是有用的snapshot。其实,vmware目录下的.vmsd配置文件就保存了信息,如下我的:.encoding="GBK"snapshot.lastUID="13"snapshot.current="13"snapshot.needConsolidate="TRUE"snapshot.mru0.uid="13"snapshot.mru1.uid="12"snapshot.mru2.uid="10"snapshot.mru3.uid="11"下面是第1个snapshotsnapshot0.uid="1"snapshot0.filename="WindowsXPProfessional-Snapshot1.vmsn"snapshot0.displayName="Init"---》该snapshot的名字snapshot0.type="1"snapshot0.createTimeHigh="300362"snapshot0.createTimeLow="1574444848"snapshot0.numDisks="1"snapshot0.disk0.fileName="WindowsXPProfessional.vmdk"---》对应的vmdk文件snapshot0.disk0.node="scsi0:0"下面是第2个snapshotsnapshot1.uid="6"snapshot1.filename="WindowsXPProfessional-Snapshot6.vmsn"snapshot1.parent="1"snapshot1.displayName="oracle2"---》该snapshot的名字snapshot1.type="1"snapshot1.createTimeHigh="300764"snapshot1.createTimeLow="1647966856"snapshot1.numDisks="1"snapshot1.disk0.fileName="WindowsXPProfessional-000001.vmdk"---》对应的vmdk文件snapshot1.disk0.node="scsi0:0"下面是第3个snapshotsnapshot2.uid="13"snapshot2.filename="WindowsXPProfessional-Snapshot13.vmsn"snapshot2.parent="1"snapshot2.displayName="oracle11g_fuzz"---》该snapshot的名字snapshot2.type="1"snapshot2.createTimeHigh="301074"snapshot2.createTimeLow="1969975096"snapshot2.numDisks="1"snapshot2.disk0.fileName="WindowsXPProfessional-000004.vmdk"---》对应的vmdk文件snapshot2.disk0.node="scsi0:0"下面是第4个snapshotsnapshot3.uid="11"snapshot3.filename="WindowsXPProfessional-Snapshot11.vmsn"snapshot3.parent="1"snapshot3.displayName="ie8"---》该snapshot的名字snapshot3.type="1"snapshot3.createTimeHigh="301051"snapshot3.createTimeLow="1321774904"snapshot3.numDisks="1"snapshot3.disk0.fileName="WindowsXPProfessional-000005.vmdk"---》对应的vmdk文件snapshot3.disk0.node="scsi0:0"snapshot.numSnapshots="4"这里已经可以看到对应的vmdk文件了,然后上面写的每个vmdk文件,比如WindowsXPProfessional-000001.vmdk1如果你是以分卷方式创建的虚拟机镜像,则它只有几KB,里面有它包含的分卷信息,这里打开如下:。。。。。RW4192256SPARSE"WindowsXPProfessional-000001-s001.vmdk"RW4192256SPARSE"WindowsXPProfessional-000001-s002.vmdk"RW4192256SPARSE"WindowsXPProfessional-000001-s003.vmdk"RW4192256SPARSE"WindowsXPProfessional-000001-s004.vmdk"RW4192256SPARSE"WindowsXPProfessional-000001-s005.vmdk"RW4192256SPARSE"WindowsXPProfessional-000001-s006.vmdk"RW4192256SPARSE"WindowsXPProfessional-000001-s007.vmdk"RW4192256SPARSE"WindowsXPProfessional-000001-s008.vmdk"RW16384SPARSE"WindowsXPProfessional-000001-s009.vmdk"可以看到这个snapshot所包含的vmdk分卷文件。2如果你不是以分卷方式创建的虚拟机镜像,则该WindowsXPProfessional-000001.vmdk就是虚拟机的信息,你分了几G,它差不多就几G。以此类推,可以得到所有有用的vmdk文件,其余没用的理论上删掉就搞定了。(最好先放到回收站试试看需要用的snapshot能不能启动)但是注意,有一个vmdk绝对不能删掉!众所周知,.vmx文件是vm的主配置文件,打开里面会有如下内容.encoding="GBK"config.version="8"virtualHW.version="7"maxvcpus="4"scsi0.present="TRUE"memsize="512"scsi0:0.present="TRUE"scsi0:0.fileName="WindowsXPProfessional-000002.vmdk"。。。。可以看到当前配置的各种信息(就是最后一次关机的信息),其中WindowsXPProfessional-000002.vmdk就是当前的磁盘信息文件,它不属于任何一个snapshot,但包括所有的snapshot以及直接启动都需要该文件,可以称它为母体文件,这个文件可千万别误删了,你误删了其他文件,顶多就是一个snapshot不能用,删了这个则所有的snapshot包括直接启动都完成不了。。。。。直接启动会显示“Filenotfound:WindowsXPProfessional-000002.vmdkThisfileisrequiredtopoweronthisvirtualmachine.Ifthisfilewasmoved,pleaseprovideitsnewlocation.”如果用snapshot会显示“Errorrestoringsnapshot:Aneededfilewasnotfound.”