12.2 使用 bhyve 及 vm-bhyve 工具安装 Windows 11
本节基于 FreeBSD 14.2 RELEASE 版本和 Windows 11 IoT Enterprise LTSC。
安装固件与所需软件
准备 Windows 镜像
Windows 11 IoT Enterprise LTSC,版本 24H2 (x64) - DVD (英文) 系统下载链接(来自 itellyou):
IoT 版本取消了 TPM、内存大小等安装限制。
SHA256:4F59662A96FC1DA48C1B415D6C369D08AF55DDD64E8F1C84E0166D9E50405D7A
magnet:?xt=urn:btih:7352bd2db48c3381dffa783763dc75aa4a6f1cff&dn=en-us_windows_11_iot_enterprise_ltsc_2024_x64_dvd_f6b14814.iso&xl=5144817664
准备所需软件
加载内核模块:
技巧
只需执行一次,之后 vm-bhyve 会自动加载该模块。
# kldload vmm # 加载 FreeBSD 虚拟机管理模块(vmm)查看已加载的 vmm 相关内核模块:
# kldstat | grep vmm
7 1 0xffffffff83320000 44b0 vmmemctl.ko
10 1 0xffffffff83400000 33e438 vmm.ko首先,安装 UEFI 固件、VNC 与 vm-bhyve。
使用 pkg 安装:
或者使用 Ports 安装:
在 /etc/rc.conf 中指定启动 vm 与虚拟机的位置:
创建模板路径:
复制模板到虚拟机模板位置:
public 为模板中指定的虚拟交换机名称,ue0 为当前宿主机的网卡名称,请根据实际网卡修改(可通过命令 ifconfig 查看),否则创建将失败,虚拟机会报错 exit with error 4:
创建后查看新增的 vm-public:
技巧
如果创建错误,可以将其删除:
查看分配的虚拟交换机:
为了在 FreeBSD 13.0 及更高版本的宿主机中正确使用 xHCI 鼠标,应加载 hms(4) 驱动,请在 /boot/loader.conf 中添加:
配置虚拟机模板
技巧
如果运行的是 Windows 10 之前的版本,或在 Windows 系统上安装 Microsoft SQL Server 时,需要使用参数
disk0_opts="sectorsize=512"将磁盘扇区大小设置为 512。
根据模板创建 windows 虚拟机,磁盘占用 40GB:
技巧
销毁虚拟机的命令:
但是注意该模板是有问题的,需要进行修改如下,文件路径是 /home/ykla/vm/winguest/winguest.conf:
注意
旧版 FreeBSD 中(FreeBSD 14.0 以前),
/home/是被软连接到/usr/home/的,是一样的。FreeBSD 14 以降,不再是软连接,而是直接使用
/home/。
安装系统
指定 Windows ISO 文件以开始安装。在安装模式下运行时,vm-bhyve 会等待,直到 VNC 客户端连接后才启动虚拟机,从而可以捕捉到 Windows 可能显示的提示“Press any key to boot from a CD/DVD”。你能在 vm list 中看到,在此时,虚拟机将显示为锁定:
从 VNC 访问 Win11

当出现 Press any key to boot from a CD/DVD 时,请快速地按几次回车键。
技巧
如果你忘记按了退回到了 UEFI shell,请停止虚拟机,重新执行上面的安装步骤。



请注意将第二项改为“Chinese (Simplified, Mainland China)”

我们选择“Chinese (Simplified, Mainland China)”

开始安装。在安装中会断开若干次 VNC 连接,重新连接即可。
在 tigervnc-viewer 中输入 localhost,点击连接,然后按任意键进入安装过程。
技巧
终止虚拟机:若虚拟机卡死导致命令无效,请使用
kill -9强制终止,以避免影响宿主机关机;若阻碍物理机关机,可在 tty 中按Ctrl+C跳过等待并强制关机。如果无效:
安装后配置

选择“China”。
安装后开机虚拟机:
打开 VNC 连接即可。

输入用户名

输入密码

重复输入密码

输入安全问题,会重复三次要求你设置三个不同问题。

隐私设置。可随意调整,然后点击“Accept”

系统在安装过程中会进行更新,可能存在一些方法可跳过(经测试 oobe\bypassnro 无效),请读者根据需要自行探索。


汉化系统:






故障排除与未竟事宜
如遇问题,请先重启宿主机;若问题仍然存在,可通过 ifconfig 检查是否存在多余网卡,并将其删除。
如果虚拟机一直是 stopped 的状态,检查一下你的网络。
查看网络配置(虚拟机关闭状态):
查看网络配置(虚拟机开启状态),此时会多出一个网络接口 tap0:
可选配置
查看所有虚拟机状态:
查看指定的虚拟机状态:
参考资料
vm-bhyve/wiki/Running-Windows,教程主要参考此处。中文版本在 vm-bhyve Wiki
最后更新于
这有帮助吗?
