So I wanted to run some old software which wouldn’t work in 2019 and with newer Mac OS versions. On my iMac I have VMware Fusion installed so I installed Mac OS Sierra and installed VMware Tools so I could drag and drop files between the hots and VM. In VMWare Fusion I went to advanced and disabled time sync. Should be pretty simple.
On reboot the guest virtual machine was still adjusting time.
So I opened up terminal, “sudo su -” to give myself full admin rights and searched for the VMware tools “find / -name “VMware*” and found the cli program in “/Library/Application Support/VMware Tools/vmware-tools-cli”
I ran the program “./vmware-tools-cli timesync status” found it was disabled.
I adjusted the time and date and then rebooted the VM. The time and date resynchronises to the current date and time again.
I did a lot of reading and searching. I reset the time and date to the past and ran “/Library/Application Support/Vmware Tools/services.sh –restart” and watched as the time and date reset to current. Ok, so now I knew the program causing it. It was calling “launchctl load \” and pointing it to the config file ‘/Library/LaunchDaemons/com.vmware.launchd.tools.plist’ Reading the plist file I could see it was starting vmware-tools-daemon.
I did more searching and found the following VMware document
This is where I found out a very important detail about the above “Synchronise Time” option above. This option is for periodic time synchronisation. Every minute it will check the guest virtual machine and make sure the time is correct.
However time synchronisation will happen after certain operations are done;
- When you start the VMware Tools daemon, such as during a reboot or power on operation
- When you resume a virtual machine from a suspend operation
- After you revert to a snapshot
- After you shrink a disk
To fully disabled time synchronisation you need to edit the VMX file. Shut down the virtual machine and then find the VM file for it. Then control click / right click on the file and select “Show Package Contents” you should then see a list of files which make up the package. Control click / right click on the .vmx file and select “Open with” and select TextEdit. How add the below text to disable all synchronising.
tools.syncTime = “FALSE”
time.synchronize.continue = “FALSE”
time.synchronize.restore = “FALSE”
time.synchronize.resume.disk = “FALSE”
time.synchronize.shrink = “FALSE”
time.synchronize.tools.startup = “FALSE”
After this adjust the time and date then restart the guest virtual machine. Your guest VM should now maintain its own time and date.