My windows.conf file:
# If you want to pull a graphical console, you'll need the UEFI loader,
# no matter what OS you're installing on the guest.
loader="uefi"
graphics="yes"
graphics_res="1920x1080"
graphics_port="5900"
xhci_mouse="yes"
# If not specified, cpu=n will give the guest n discrete CPU sockets.
# This is generally OK for Linux or BSD guests, but Windows throws a fit
# due to licensing issues, so we specify CPU topology manually here.
cpu=2
#cpu_sockets=1
#cpu_cores=2
# Remember, a guest doesn’t need extra RAM for filesystem caching--
# the host handles that for it. 4G is ludicrously low for Windows on hardware,
# but it’s generally more than sufficient for a guest.
memory=4G
#memory=16G
# put up to 8 disks on a single ahci controller. This avoids the creation of
# a new “controller” on a new “PCIe slot” for each drive added to the guest.
ahci_device_limit="8"
# e1000 works out-of-the-box, but virtio-net performs better. Virtio support
# is built in on FreeBSD and Linux guests, but Windows guests will need
# to have virtio drivers manually installed.
#network0_type="e1000"
network0_type="virtio-net"
network0_switch="public"
# bhyve/nvme storage is considerably faster than bhyve/virtio-blk
# storage in my testing, on Windows, Linux, and FreeBSD guests alike.
disk0_type="nvme"
disk0_name="disk0.img"
disk0_opts="maxq=16,qsz=8,ioslots=1,ser=ABCDEFGH"
# This gives the guest a virtual "optical" drive. Specifying disk1_dev=”custom”
# allows us to provide a full path to the ISO.
disk1_type="ahci-cd"
disk1_dev="custom"
disk1_name="/zroot/bhyve/.iso/virtio-win.iso"
# windows expects the host to expose localtime by default, not UTC
utctime="no"
passthru0="4/0/0"
bhyve_options="-s 8,hda,play=/dev/dsp,rec=/dev/dsp"
uuid="e6440b45-5286-11ef-ada9-00151739c0e4"
network0_mac="58:9c:fc:02:89:89"
Then I just do the usual create and install:
vm create -t windows11 -s 300G winguest
vm install winguest ./.iso/Win11_23H2_English_x64v2.iso
vm list
NAME DATASTORE LOADER CPU MEMORY VNC AUTO STATE
winguest default uefi 2 4G - No Stopped
Why no VNC port?
vm switch list
NAME TYPE IFACE ADDRESS PRIVATE MTU VLAN PORTS
public standard vm-public 192.168.0.16/28 no - - em1
vm switch info
------------------------
Virtual Switch: public
------------------------
type: standard
ident: vm-public
vlan: -
physical-ports: em1
bytes-in: 7956676896 (7.410G)
bytes-out: 142350632213 (132.574G)
virtual-port
device: tap0
vm: -
Thank you for any help.