For those you haven’t heard of Sylve: Sylve is pretty new VM and Jailmanager for FreeBSD. As stated on the projects page:

[!WARNING] This project is still in development so expect breaking changes!

Sneak peek: Sylve Webinterface

1. Prerequisites

Make sure you have Sylve installed and configured correctly.
Repository: https://github.com/AlchemillaHQ/Sylve There is a nice documentation by gyptazy as well: Sylve: Manage bhyve VMs and Clusters on FreeBSD

1.1 Create a new ZFS dataset for the VM

  • Datacenter → Your Hostname → Storage → ZFS → Datasets → Volumes → + NEW
  • Create a dataset sized and configured to your needs.

1.2 Create a virtual switch

  • Network → Switches → Standard → + NEW
  • For most local use cases, enable DHCP.

1.3 Download the Windows ISO


2. Create the VM

Click Create VM and set the following options.

Storage tab

  • Choose ZFS and select the dataset you created in 1.1.
  • Unless you’re using Windows 11, choose NVMe.

Network tab

  • Select the switch you created and VirtIO emulation.

Advanced tab

  • Copy the VNC password if you want to access the machine via VNC (outside of the WebUI).

Click Create VM → go to SummaryStart.


3. Install Windows

You have two ways to reach the installer:

(a) If you’re quick, you might catch the Windows installer boot message and continue normally.
(b) Otherwise, use the UEFI shell:

fs0:
cd EFI\BOOT      # or: cd EFI\Microsoft\Boot (depends on the ISO)
BOOTX64.EFI      # or: bootmgfw.efi 

Thanks to Patrick Hausen for the tip.

After Windows is installed, add the VirtIO drivers:

Download from: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/

(you can use Utilities → Downloader as in step 1.3).

Mount the ISO inside Windows and install the drivers.

Notes

If the installer doesn’t see your disk or NIC, it’s almost always missing VirtIO drivers—install them during or after setup.

For Windows 10, NVMe is usually the simplest disk bus choice; for Windows 11, use AHCI for now.

Keep the VNC password handy if you plan to connect via an external VNC client.