I am trying to convert an expandable disk to a pre-allocated one.
I rebooted, but I still get the error message "The process cannot access the file because it is being used by another process".
This is the command I am running in cmd.exe:
vmware-vdiskmanager.exe C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -r "C:\Users\ME\Virtual Machines\Win10\Win10-disk1.vmdk" -t 2 "C:\Users\ME\Virtual Machines\Win10\Win10-pre-allocated-disk1.vmdk"
I tried copying the existing vmdk file to a different partition, and running the command with the new path, but I got the same error.
When I tried running the command in terminal of Ubuntu, I got an error message that the file is not found.
12/16/18 12:22 AM | 0 vmware-vdiskmanager.exe |
looks like the binary is corrupt !
Although I assume that the command line that you've posted is the result of a copy&paste issue, please try the following:
Just to clarify, is the source .vmdk a monolithic virtual disk (a single, large .vmdk file), or is is split into multiple .vmdk files. In case of a split virtual disk, please verify that none of the files is missing.
André
Thanks.
Now I am getting a Windows error message: This app can't run on your PC
And cmd returns this error: Access is denied.
This is the sequence, in an elevated command prompt:
C:\Users\ME\Virtual Machines\Win10>"C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" -r Win10-disk1.vmdk -t 2 Win10-pre-allocated-disk1.vmdk
Access is denied.
Ok, let's see what may be causing this:
André
Windows 10 x64 1809
Workstation 15.0.2 build-10952284
output from dir:
C:\Program Files (x86)\VMware\VMware Workstation>dir
Volume in drive C has no label.
Volume Serial Number is E019-DDBD
Directory of C:\Program Files (x86)\VMware\VMware Workstation
12/12/18 10:02 AM <DIR> .
12/12/18 10:02 AM <DIR> ..
11/21/18 01:22 AM 1,160,112 7za.exe
11/21/18 01:22 AM 94,128 adjperm.dll
11/21/18 01:28 AM 49,072 basichttp.dll
10/20/16 05:11 PM 395,456 DIFXAPI.dll
11/21/18 01:29 AM 997,296 diskLibWrapper.dll
11/21/18 01:29 AM 1,236 dispatcher.xml
11/21/18 01:22 AM 513,968 drvInst64.exe
11/21/18 01:28 AM 210,352 elevated.dll
12/12/18 10:02 AM <DIR> env
12/12/18 10:02 AM 3,117 environments.xml
11/21/18 01:03 AM 112,851 EULA.jp.rtf
11/21/18 01:03 AM 34,900 EULA.rtf
11/21/18 01:03 AM 73,590 EULA.zh_CN.rtf
11/21/18 01:29 AM 141,744 expat.dll
11/21/18 01:24 AM 1,028,528 glib-2.0.dll
11/21/18 01:24 AM 446,896 glibmm-2.4.dll
11/21/18 01:24 AM 31,664 gmodule-2.0.dll
11/21/18 01:24 AM 248,752 gobject-2.0.dll
11/21/18 01:24 AM 25,520 gthread-2.0.dll
11/21/18 01:28 AM 5,412,272 gvmomi.dll
12/12/18 10:02 AM <DIR> hostd
12/12/18 10:02 AM <DIR> ico
11/21/18 01:29 AM 940,464 iconv.dll
11/21/18 01:21 AM 9,609,648 icudt44l.dat
11/21/18 01:24 AM 79,280 intl.dll
11/21/18 01:21 AM 5,175 isoimages_manifest.txt
11/21/18 01:21 AM 165,816 libcds.dll
11/21/18 01:24 AM 402,352 libcurl.dll
11/21/18 01:29 AM 1,364,912 libeay32.dll
11/21/18 01:29 AM 2,035,120 libxml2.dll
11/21/18 01:00 AM 57,602,048 linux.iso
11/21/18 01:00 AM 54,939,648 linuxPreGlibc25.iso
12/12/18 10:02 AM <DIR> messages
11/21/18 01:21 AM 440,848 mkisofs.exe
11/21/18 01:27 AM 28,685 netadapter.inf
11/21/18 01:27 AM 4,408 netbridge.inf
11/21/18 01:27 AM 3,420 netuserif.inf
11/21/18 01:01 AM 540,672 netware.iso
11/21/18 01:29 AM 186,288 nfc-types.dll
11/21/18 01:29 AM 470,960 openssl.exe
11/21/18 01:03 AM 726,629 open_source_licenses.txt
12/12/18 10:02 AM <DIR> OVFTool
11/21/18 01:01 AM 213,443 ovftool_open_source_licenses.txt
11/21/18 01:16 AM 368,056 pcre.dll
11/21/18 01:03 AM 136 readme.txt
12/12/18 10:02 AM <DIR> Resources
11/21/18 01:24 AM 46,000 sigc-2.0.dll
11/21/18 01:01 AM 16,832,512 solaris.iso
11/21/18 01:29 AM 309,168 ssleay32.dll
11/21/18 01:29 AM 472,496 ssoclient.dll
11/21/18 01:28 AM 1,420,957 swagger.zip
11/21/18 01:16 AM 1,471,320 sysimgbase.dll
11/21/18 01:29 AM 1,689 tagExtractor.xml
11/21/18 01:21 AM 451 tools-key.pub
12/12/18 10:02 AM <DIR> tools-upgraders
01/05/18 08:56 PM 944,880 TPClnRDP.dll
11/13/17 02:47 PM 5,966,576 TPClnt.dll
11/13/17 02:47 PM 138,480 TPClntdeu.dll
11/13/17 02:47 PM 129,784 TPClntjpn.dll
11/13/17 02:47 PM 135,408 TPClntloc.dll
01/05/18 08:59 PM 268,024 TPClnVM.dll
10/18/17 03:05 PM 228,592 tppcoipw32.dll
10/18/17 03:05 PM 227,576 tprdpw32.dll
11/21/18 01:29 AM 19,385,776 vim-types.dll
11/21/18 01:29 AM 1,548,288 VirtualPrinter-Linux.iso
11/21/18 01:29 AM 27,820,032 VirtualPrinter-Windows.iso
11/21/18 01:29 AM 5,345,712 vix.dll
11/21/18 01:16 AM 985,600 vixDiskMountApi.dll
11/21/18 01:21 AM 465,016 vixDiskMountServer.exe
11/21/18 01:21 AM 1,232 vixwrapper-product-config.txt
11/21/18 01:21 AM 38,366 vm-support.vbs
11/21/18 01:29 AM 4,158,384 vmacore.dll
11/21/18 01:28 AM 711,088 vmappcfg.dll
11/21/18 01:28 AM 443,824 vmappsdk.dll
11/21/18 01:28 AM 3,276,208 vmapputil.dll
11/21/18 01:16 AM 89,520 vmauthd.dll
11/21/18 01:24 AM 163,248 vmclientcore.dll
11/21/18 01:24 AM 265,648 vmdbCOM.dll
11/21/18 01:24 AM 78,256 vmdkShellExt.dll
11/21/18 01:22 AM 129,968 vmeventmsg.dll
11/21/18 01:27 AM 396,208 vmnat.exe
11/21/18 01:27 AM 46,040 vmnet.sys
11/21/18 01:27 AM 10,659 vmnetadapter.cat
11/21/18 01:27 AM 46,040 vmnetAdapter.sys
11/21/18 01:27 AM 9,504 vmnetbridge.cat
11/21/18 01:27 AM 103,432 vmnetBridge.dll
11/21/18 01:27 AM 66,600 vmnetBridge.sys
11/21/18 01:29 AM 3,732,912 vmnetcfg.exe
11/21/18 01:27 AM 374,192 VMnetDHCP.exe
11/21/18 01:27 AM 9,293 vmnetuserif.cat
11/21/18 01:27 AM 43,992 vmnetUserif.sys
11/21/18 01:29 AM 2,282,416 vmomi.dll
11/21/18 01:16 AM 463,280 vmPerfmon.dll
11/21/18 01:15 AM 789 vmPerfmon.h
11/21/18 01:15 AM 2,962 vmPerfmon.ini
11/21/18 01:28 AM 1,817,008 vmplayer.exe
11/21/18 01:31 AM 5,243,824 vmrest.exe
11/21/18 01:29 AM 469,936 vmrun.exe
11/21/18 01:29 AM 669,616 vmss2core.exe
11/21/18 01:21 AM 53,688 vmUpdateLauncher.exe
11/21/18 01:16 AM 100,784 vmware-authd.exe
11/21/18 01:29 AM 15,446,960 vmware-hostd.exe
11/21/18 01:28 AM 709,552 vmware-kvm.exe
11/21/18 01:28 AM 4,515,248 vmware-remotemks.exe
11/21/18 01:24 AM 97,712 vmware-shell-ext-thunker.exe
11/21/18 01:29 AM 53,680 vmware-tray-helper.dll
11/21/18 01:29 AM 125,872 vmware-tray.exe
11/21/18 01:28 AM 214,448 vmware-unity-helper.exe
12/16/18 12:22 AM 0 vmware-vdiskmanager.exe
11/21/18 01:29 AM 2,402,224 vmware.exe
11/21/18 01:16 AM 6,790,064 vmwarebase.dll
11/21/18 01:24 AM 13,634,992 vmwarecui.dll
11/21/18 01:24 AM 63,920 vmwarestring.dll
11/21/18 01:24 AM 5,827,504 vmwarewui.dll
11/21/18 01:27 AM 134,104 vnetinst.dll
11/21/18 01:29 AM 1,067,440 vnetlib.dll
11/21/18 01:29 AM 1,043,888 vnetlib.exe
11/21/18 01:29 AM 1,266,096 vnetlib64.dll
11/21/18 01:29 AM 1,238,448 vnetlib64.exe
11/21/18 01:27 AM 278,448 vnetsniffer.exe
11/21/18 01:27 AM 273,328 vnetstats.exe
11/21/18 01:22 AM 29,616 vprintproxy.exe
11/21/18 01:01 AM 121,536,512 windows.iso
11/21/18 01:00 AM 14,090,240 winPre2k.iso
11/21/18 01:00 AM 87,752,704 winPreVista.iso
12/12/18 10:02 AM <DIR> x64
11/21/18 01:22 AM 306,608 zip.exe
11/21/18 01:24 AM 91,568 zlib1.dll
120 File(s) 529,543,892 bytes
10 Dir(s) 157,810,233,344 bytes free
The file list I'd like to see is the one from the VM's folder, i.e. "C:\Users\ME\Virtual Machines\Win10".
André
C:\Users\ME\Virtual Machines\Win10>dir
Volume in drive C has no label.
Volume Serial Number is E019-DDBD
Directory of C:\Users\ME\Virtual Machines\Win10
12/16/18 09:08 PM <DIR> .
12/16/18 09:08 PM <DIR> ..
12/12/18 10:16 AM <DIR> caches
12/16/18 03:48 PM 8,684 nvram
12/16/18 10:49 AM 253,130 vmware-0.log
12/16/18 08:59 AM 340,882 vmware-1.log
12/16/18 07:43 AM 250,205 vmware-2.log
12/16/18 03:48 PM 421,045 vmware.log
12/16/18 10:49 AM 2,271 vprintproxy-0.log
12/16/18 08:59 AM 2,271 vprintproxy-1.log
12/16/18 07:43 AM 2,273 vprintproxy-2.log
12/16/18 03:48 PM 2,276 vprintproxy.log
12/16/18 05:46 PM 26,838,958,080 Win10-disk1.vmdk
12/15/18 06:44 PM 95 Win10.vmsd
12/16/18 03:48 PM 3,912 Win10.vmx
12/06/18 12:48 PM 3,592 Win10.vmxf
13 File(s) 26,840,248,716 bytes
3 Dir(s) 156,951,977,984 bytes free
I can't see any thing unusual.
Just to have that checked, please run the two following commands from the VM's folder (C:\Users\ME\Virtual Machines\Win10):
and post the output.
Does your A/V do on-access scanning for .vmdk files? Which A/V application do you use?
Can you please run the vmware-vdiskmanager command again in the way I mentioned earlier, but this time from a "normal" command prompt (i.e. not elevated), to see whether this also returns an error.
André
12/16/18 12:22 AM | 0 vmware-vdiskmanager.exe |
looks like the binary is corrupt !
Good catch!
Reinstall?
Try the repair function first. Delete the corrupt binary before you try.
I ran repair, before I saw your last message.
A search on my computer showed the new and fixed exe file in the VMWare program folder, alongside the 0 byte file, which I then deleted.
But I found a 0 byte file with the same name somewhere in the Windows directory, I think in system32, which I also deleted, and another one in the folder containing the actual VM. Is there supposed to be so many of them? Should I copy the good file to those locations?
In a normal setup vmware-vdiskmanager.exe is copied to the VMware program folder only.
Delete the file from all other locations.
Just out of curiosity, where can I expect to see a performance boost from using a pre-allocated, monolithic file?
In system startup and launching of applications? Other?
The assumption
monolithicFlat vmdk = best performance of all available VMDK-types
is flawed.
monolithicFlat will only perform well if you defragment the hostOS immediatly before you create the VMDK.
Then create the VMDK and defragment the hostOS filesystem again.
If the filesystem of the host has enough free space you will really get a one-piece VMDK.
If the filesystem of the host is already too fragmented you will get a VMDK split into several pieces.
In poor starting conditions a monolithicFlat can be allocated in millions of fragments.
In really poor starting conditions you will not be able to defragment the monolithicFlat vmdk at all !!!!
monolithicFlat has the best survival-rate of all VMDK-types - that is the biggest advantage of this disktype.
Second best: preallocated split vmdks
Third best: sparse-split vmdks
Worst: monolithicSparse
A conversion of an existing monolithicSparse or split-Sparse to a new monolithicFlat will only improve performance if:
- the hostfilesystem has enough free space to really use one piece only
- the guestOS filesystem is already quite populated
A newly created monolithicSparse will probably outperform monolithicFlat as long as:
- hostfilesystem has lots of free space and you dont mix VMDK-files with other daily use files on the same physical disk.
- guestOS is newly created and there is still lots of space available insside the VMDK.
If you want to improve performance of your VMDKs :
- dont use monolithicSparse
- use monolithicFlat when there is lots of free space and this VM is your most important one or when it carries the most valuable data
- use split Flat when the filesystem of the host fills up
- use split Sparse for low priority VMs ( slower and less reliable)
- dedicate one or more physical disks for your VMs and dont use this disks for any other stuff
- avoid snapshots
- do not even consider to use AutoProtect
- create VMDKs in reasonable sizes:
new Windows VM with a single 1TB - BAD
new Windows VM with disk1 200GB + disk2 300GB + (... add disks when necessary) = SMART
... hope that helps
Ulli
Thanks. I assume that defrag does not apply to SSD?
Why would it not? A disk is a disk is a disk... A file is made up of multiple blocks on a disk. Doesn't matter if the disk it is contained on/in has spinning platters or embedded in a PROM chip.
AFAIK SSDs are not very susceptible to fragmentation, and defragging them can even degrade performance.
What about a virtual hard disk on an SSD? Does it fragment like a physical HDD?