16 Dec 2010

Disable VMware Fusion's vmnet-* daemons on Mac OS X

VMware Fusion initializes some daemons (vmnet-bridge, vmnet-dhcpd, vmnet-netifup, vmnet-natd) at startup. The number of processes depends on the number of network interfaces you have configured. This might slow down your system startup.

Why is it necessary for them to load at system startup rather than application startup?

You need administrator privileges to load kernel extensions (which really makes sense), and these really do need to be kernel extensions (running a virtual machine at acceptable speed requires low-level access), so rather than prompting users for this when they start Fusion (and remember, they might not even know/have the password), we have the kexts get loaded at boot time. Advanced users can certainly disable this and manually start the services when needed.

Source

Here is an example how it could look like:

I don't use VMware Fusion often and want the daemons only to start up if it's necessary. The script to initialize the daemons is located at /Library/Application Support/VMware Fusion/boot.sh and is invoked by the LaunchDaemon script which is located at /Library/LaunchDaemons/com.vmware.launchd.vmware.plist.

  1. deactivate the LaunchDaemon script: "sudo launchctl unload -w /Library/LaunchDaemons/com.vmware.launchd.vmware.plist"
  2. use an apple script to start the boot.sh-script and VMware Fusion:

Here is a short how-to to get the script runnning:

(download)