BVCP((Bhyve Virtual-Machine Control Panel ,bhyve-webadmin )是一个图形化和安全的web控制面板,旨在管理FreeBSD bhyve虚拟机。BVCP专为数据中心级可靠性而设计,专为连续24/7运行而构建,专注于稳定性和性能。它是一个本机FreeBSD应用程序,具有简单的一键安装过程,确保快速轻松的部署。BVCP独立于系统配置运行,不修改现有设置,允许它在大多数环境中平稳运行。使用BVCP,管理员可以通过单个统一的界面管理多个物理主机,而不需要集群。
bhyve-webadmin网址:KGitHub - DaVieS007/bhyve-webadmin: FreeBSD Bhyve Web Administration Software
下载软件
如果用git下载,我看整个仓库挺大的,大约1G左右,所以我们还是直接下载它的代码压缩包
fetch https://bhyve.npulse.net/release.tgz
如果没有fetch,就用wget
下载完毕解压缩
1tar -xzvf release.tgz 2
安装
进入目录执行安装脚本
安装界面

安装完成
1 ██████╗ ██╗ ██╗ ██████╗██████╗ 2 ██╔══██╗██║ ██║██╔════╝██╔══██╗ 3 ██████╔╝██║ ██║██║ ██████╔╝ 4 ██╔══██╗╚██╗ ██╔╝██║ ██╔═══╝ 5 ██████╔╝ ╚████╔╝ ╚██████╗██║ 6 ╚═════╝ ╚═══╝ ╚═════╝╚═╝ 7 8 Bhyve Virtual-Machine Control Panel under FreeBSD 9 10 N 2026-01-16 19:30:06 | BVCP | Initialising BVCP-Backend 2.2.0p2 Application 11 Available Command Line Arguments: 12 - /var/lib/nPulse/BVCP/Backend/vmm setup Initial Setup 13 - /var/lib/nPulse/BVCP/Backend/vmm resecure Change API Keys 14 - /var/lib/nPulse/BVCP/Backend/vmm reset_password Change Admin Credential 15 - /var/lib/nPulse/BVCP/Backend/vmm cli CLI Interface 16Dropping to CLI .. 17 18 N 2026-01-16 19:30:07 | INTR | TCP Buffers Adjusted: R:64.00KB,S:32.00KB 19 E 2026-01-16 19:30:07 | BVCP | CLI Connection Failed: 127.0.0.1:8628 20 N 2026-01-16 19:30:07 | SW | Program exited gracefully... 21Installation Finished! 22Navigate: https://[your-ip]:8086
一些有用的信息
(!) Admin Credentials recreated,
- User: admin
- Password: zGW88Jfw
Available Command Line Arguments:
- /var/lib/nPulse/BVCP/Backend/vmm setup Initial Setup
- /var/lib/nPulse/BVCP/Backend/vmm resecure Change API Keys
- /var/lib/nPulse/BVCP/Backend/vmm reset_password Change Admin Credential
- /var/lib/nPulse/BVCP/Backend/vmm cli CLI Interface
Dropping to CLI ..
浏览器端口连接
浏览器连8086端口,这样的

使用启动时提醒的密码登录,进入管理页面

完蛋了,改了密码进不去了。
重复执行install,再次进去。也可以重置密码,见调试部分。
更新密码的时候,要把账户写成邮箱地址才可以。密码先不改。
这回ok了,可以登进去。
配置bhyve的公共内容
添加网卡

添加存储
安装Ubuntu22.04版本
下载iso
到163加速镜像http://mirrors.163.com/ubuntu-releases/jammy/去下载iso
wget http://mirrors.163.com/ubuntu-releases/jammy/ubuntu-22.04.5-live-server-amd64.iso
突然发现清华和中科大的镜像里面都没有amd64的安装盘了,只有arm和riscv的了。
创建ubuntu虚拟机

但是创建后,配置cdrom,无法找到文件!原来要放到/vms/iso_images 这个目录里
启动
见到了久违的装机画面

好了就先到这里吧。
总结
尽管是浏览器web控制,我也是晕头转向的,这个配置起来没有想象的那么顺利啊!
原来卡在cdrom,是因为没有把镜像文件放到指定的位置:/vms/iso_images 这个目录。
附:api命令
1 _> vm 2 * [vm] Available Commands: 3 [Start/Stop Commands] 4 + start [prefix] | Start virtual machine 5 + check [prefix] | Check virtual machine 6 + stat [prefix] {format: safe,raw} | Get CPU/MEM statistics 7 + shutdown [prefix] | ACPI Shutdown 8 + user [user] | Add user to the VM 9 + log [prefix] [max_entries] | Fetch VM Journal 10 + pause [prefix] | Pause virtual machine 11 + resume [prefix] | Resume virtual machine 12 + kill [prefix] | Kill virtual machine 13 + stop [prefix] | Stop virtual machine 14 + list {prefix} | List virtual machine 15 + destroy {prefix} | Destroy virtual machine 16 + restart [prefix] | Restart virtual machine 17 18 [Management Commands] 19 + create [prefix] [description] | New virtual machine 20 + desc [prefix] [new_description] | Modify virtual machine 21 + note [prefix] {new_note} | Add/Get note 22 + clear [prefix] | Clear config (debug purpose) 23 + set [prefix] [key] [value] | Set core variables 24 - keys: cpu.socket, cpu.core, memory, sys[linux,win,bsd] arch[intel,amd] 25 - keys: vnc.wait, vnc.display, utc_time, wire_memory, passthru, hda 26 - keys: clear_bios [DEPRECATED] 27 - keys: reset_uefi=[yes], protect_uefi=[true/false] 28 - keys: auto_boot=[true/false], boot_priority=[low/med/high] 29 - keys: custom_prepend | Prepend custom parameters 30 - keys: custom_append | Append custom parameters 31 - destroy [prefix] | Destroy virtual machine 32 33 [Disk Management Commands] 34 + disk create [prefix] [storage] [name] [size] | Create new disk 35 + disk attach [prefix] [file] [desc] [slot] [legacy/ahci/virtio/nvme] | Attach Disk into VM 36 + disk nvme_set [prefix] [name] [key] [value] | Set nvme values on disk 37 - keys: maxq (Max number of queues), qsz (Queue Size), isoslots (IO Slots), sectsz (Sector Size in Bytes) 38 + disk detach [prefix] [file] | Detach Disk from VM 39 + disk destroy [prefix] [ID/file] | Delete Disk 40 + disk resize [prefix] [file] [new_size] | Resize Disk 41 + disk list [prefix] | List Disks 42 43 [Share Management Commands] 44 + share attach [prefix] [share_name] [host_dir] {readonly} | Create Virtio-9P VirtFS 45 + share detach [prefix] [share_name] | Remove Share 46 + share list [prefix] | List Shares 47 48 [CDROM Commands] 49 + cdrom attach [prefix] [iso_file] | Attach ISO file as CD-ROM 50 + cdrom detach [prefix] [iso_file] | Detach ISO 51 + cdrom list [prefix] | List ISO Images 52 53 [Network Commands] 54 + nic add_virtio [prefix] [switch] {mac_addr} {host_ip} {custom_route} | Add VirtIO/NIC bound to switch 55 + nic add_legacy [prefix] [switch] {mac_addr} {host_ip} {custom_route} | Add Intel/NIC bound to switch 56 + nic change [prefix] [NIC] [switch] | Change Switch 57 + nic mac [prefix] [NIC] [mac_addr] | Change MAC Address 58 + nic host_ip [prefix] [NIC] [ip] | Add IP to host's TAP interface 59 + nic custom_route [prefix] [NIC] [ip] | Add custom route rule to host's TAP interface 60 + nic enable [prefix] [NIC] | Enable NIC 61 + nic disable [prefix] [NIC] | Disable NIC 62 + nic remove [prefix] [NIC] | Remove NIC 63 + nic list [prefix] | List Interfaces
调试
页面找不到了怎么回事
netstat -rn,可以看到有8086端口啊
tcp6 0 0 *.8086 *.* LISTEN
tcp4 0 0 *.8086 *.* LISTEN
不明白怎么回事?
后来是重置密码,服务也ok了
密码找不到了怎么办
修改密码
sudu /var/lib/nPulse/BVCP/Backend/vmm reset_password
最后用的这条命令重置的密码
sudo /var/lib/nPulse/BVCP/Backend/vmm setup user
cdrom找不到东西怎么办
点击加入cdrom,没有东西

明白了,需要放在/vms/iso_images 这个目录里
果然就能看到了
