How to Run Windows 10 on FreeBSD with Sylve
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:
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
- Get a Windows 10 ISO (e.g., Windows 10 LTSC):
http://www.microsoft.com/en-us/evalcenter/download-windows-10-enterprise - In Sylve: Utilities → Downloader → + NEW
Paste the download link and wait for the download to complete.
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 Summary → Start.
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.