Home > Mac OS X, macOS, VMware > Using vfuse to create NetBoot-ready VMware VMs

Using vfuse to create NetBoot-ready VMware VMs

When building virtual machines for testing, my preferred method is to leverage VMware Fusion’s NetBoot support to NetBoot to a DeployStudio server and run workflows. The process to build a NetBoot-ready VM through VMware Fusion looks like this:

1. Open VMware Fusion

2. In the Select the Installation Method window, choose Create a custom virtual machine and then click the Continue button.

Create custom virtual machine

3. In the Choose Operating System window, set OS as appropriate then click the Continue button.

Os selection

4. In the Finish window, select Customize Settings.

Customize settings

5. Save the VM file in a convenient location.

6. In your VM settings, select Network Adapter.

Vm settings network adapter

7. In the Network Adapter settings, select Autodetect under Bridged Networking.

Configure bridged network settings

At that point, you can also adjust your RAM and processor settings but that’s up to you.

The VM is now configured to be NetBoot-ready, where it’s set up to run a particular macOS version but has a formatted and completely empty boot drive.

Vmware netboot screen

This setup process has been a largely manual process involving a lot of clicking in the VMware Fusion user interface and I’ve wanted to automate this for a while. Thanks to some recent changes which my colleague Joe Chilcote made to his vfuse VM creation tool, it’s now possible to automate the setup of a NetBoot-ready VM in Fusion with the following configurable options:

  • OS version
  • VM boot drive size

For more details, see below the jump.

vfuse normally requires the use of an AutoDMG-generated disk image to help build VMs, but Joe has updated the template options for vfuse to include the following new template settings:


view raw


hosted with ❤ by GitHub

When these NetBoot-related values are referenced in a template, it sets up a VM with the following characteristics:

  • Formatted and empty boot drive of the specified size
  • VM’s OS setting is set to the specified OS version
  • VM’s Network Adapter setting is automatically set to Bridged Networking

To run vfuse, have it reference a template and output the new VM to a specific directory, you can run the command shown below with root privileges:

vfuse -t /path/to/vfuse_templates/template_name_here.json -o /path/to/VMware_VM_directory

Vfuse generating vm

Once finished, the new VM should be in the specified output directory.

Vfuse generated netboot ready vm

To give an idea what the templates for various versions of OS X and macOS would look like, please see below for 10.7.x – 10.12.x templates:

vfuse template for NetBoot-ready 10.7.x virtual machine

"netboot": true,
"netboot_hdsize": 40,
"output_name": "NetBoot 10.7",
"mem_size": 4096,
"netboot_osvers": "10.7"

vfuse template for NetBoot-ready 10.8.x virtual machine

"netboot": true,
"netboot_hdsize": 40,
"output_name": "NetBoot 10.8",
"mem_size": 4096,
"netboot_osvers": "10.8"

vfuse template for NetBoot-ready 10.9.x virtual machine

"netboot": true,
"netboot_hdsize": 40,
"output_name": "NetBoot 10.9",
"mem_size": 4096,
"netboot_osvers": "10.9"

vfuse template for NetBoot-ready 10.10.x virtual machine

"netboot": true,
"netboot_hdsize": 40,
"output_name": "NetBoot 10.10",
"mem_size": 4096,
"netboot_osvers": "10.10"

vfuse template for NetBoot-ready 10.11.x virtual machine

"netboot": true,
"netboot_hdsize": 40,
"output_name": "NetBoot 10.11",
"mem_size": 4096,
"netboot_osvers": "10.11"

vfuse template for NetBoot-ready 10.12.x virtual machine

"netboot": true,
"netboot_hdsize": 40,
"output_name": "NetBoot 10.12",
"mem_size": 4096,
"netboot_osvers": "10.12"

Categories: Mac OS X, macOS, VMware
  1. Frankie
    November 15, 2016 at 5:51 pm

    How do you enhance graphics perofmrance now that BeamOff / BeamSync no longer works with Sierra 10.12?

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: