# 3.1 使用 Hyper-V 安装 FreeBSD

本节介绍 FreeBSD 操作系统在 Microsoft Hyper-V 虚拟化平台上的部署方法，旨在为读者提供一套完整的、经过验证的安装配置流程。本篇内容基于 Windows 11 23H2 专业版与 FreeBSD 14.1-RELEASE 环境的实测结果，该环境具有较好的代表性，能够反映当前主流配置环境。

## Hyper-V 简介

Hyper-V 是微软公司（Microsoft）为 Windows 和 Windows Server 开发的企业级虚拟化管理程序，属于系统内置组件。虚拟化管理程序是一种创建和运行虚拟机的软件，它允许在单个物理主机上同时运行多个独立的操作系统。Hyper-V 分为 Gen 1（第一代）和 Gen 2（第二代）两种虚拟机架构，两种架构在硬件支持和启动方式上存在技术差异。

> **注意**
>
> Windows 家庭版和家庭中文版不支持 Hyper-V。

Gen 1 与 Gen 2 的区别如下表所示：

| Hyper-V 代系 | 硬盘         | 启动方式                     |
| ---------- | ---------- | ------------------------ |
| Gen 1      | IDE + SCSI | 仅支持 MBR                  |
| Gen 2      | 仅 SCSI     | 仅支持 UEFI（包含安全启动及 PXE 支持） |

系统快速创建的虚拟机默认为 Gen 2 架构。

> **注意**
>
> 使用 Gen 2 时请关闭安全启动，否则系统无法启动。具体操作步骤为：点击“设置”，选择“安全”，取消勾选“启用安全启动”。截至 2025 年 12 月 20 日，FreeBSD 尚不支持安全启动。

| Hyper-V 代系 | FreeBSD 版本 | 鼠标                                                              | 键盘  | 备注                                                                                                                                                                                                                       |
| ---------- | ---------- | --------------------------------------------------------------- | --- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Gen 1      | 13.0       | 支持                                                              | 不支持 | /                                                                                                                                                                                                                        |
| Gen 2      | 13.0       | [不支持](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221074) | 支持  | 需修改参数 `sysctl kern.evdev.rcpt_mask=6`（启用 evdev，让 Xorg 正确检测 PS/2 设备）                                                                                                                                                      |
| Gen 2      | 14.0       | 支持                                                              | 支持  | 参见：FreeBSD Foundation. 源代码\[EB/OL]. \[2026-03-26]. [https://cgit.FreeBSD.org/src/commit/?id=21f4e817fde79d5de79bfbdf180d358ca5f48bf9](https://cgit.freebsd.org/src/commit/?id=21f4e817fde79d5de79bfbdf180d358ca5f48bf9). |

## 测试环境

本节基于以下软硬件环境进行测试与演示，实验结果具有一定的环境依赖性。

* Windows 11 23H2 专业版
* FreeBSD 14.1-RELEASE（`FreeBSD-14.1-RELEASE-amd64-disc1.iso`）
* Hyper-V 版本：10.0.22621.4249
* 使用第二代 Hyper-V 虚拟机

## 安装 Hyper-V

在 Windows 系统中启用 Hyper-V 功能组件，需以管理员权限执行相关命令，以确保操作的合法性与系统配置的正确性。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-896b0a2d1f9e98ec186bcd5548eb1ed4b186a48b%2Fhp1.png?alt=media)

右键单击 Windows 徽标，在弹出的菜单中选择“终端（管理员）”。启用 Hyper-V 需要使用 `Enable-WindowsOptionalFeature` 命令，该命令将启用 Windows 的 Hyper-V 可选功能组件，包括虚拟机管理程序、管理工具等核心模块。输入以下命令：

```powershell
PS C:\Users\ykla> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All 
是否立即重启计算机以完成此操作?
[Y] Yes  [N] No  [?] 帮助 (默认值为“Y”): 
# 此处按回车键确认重启以完成 Hyper-V 的安装
```

## 创建虚拟机

安装完成 Hyper-V 后，按照以下步骤创建虚拟机。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-8ce9663f8a9c70ccdbb344cb649879e26beb91ab%2Fhp2.png?alt=media)

右键单击 Hyper-V 管理器中的主机名，选择“新建”→“虚拟机”。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-dd758096e13504e5e4e3f750e3ec173940078832%2Fhp3.png?alt=media)

点击“下一页”。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-2dc66a3d5f2c07714b9189d0d4c4ae41d8116fe0%2Fhp4.png?alt=media)

为虚拟机设置名称，然后点击“下一页”。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-a504bac2b0f0126f3cf0667a4030cc04ca715768%2Fhp.png?alt=media)

选择“第二代”。然后点击“下一页”。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-f87c3fcee6c2cce312612bed3b76d0ca9362497f%2Fhp5.png?alt=media)

设置内存大小，然后点击“下一页”。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-0943a9edac47c62402d2af9bbc129324660aec9f%2Fhp6.png?alt=media)

设置网络，然后点击“下一页”。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-f542e514c6f14d764f550728b2d2fb7ddf2327ff%2Fhp7.png?alt=media)

指定虚拟硬盘的名称、大小及存储位置，然后点击“下一页”。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-6bd0c34135adfa10ce8a6e5985be35bc097e4435%2Fhp8.png?alt=media)

点击“浏览”，找到并选中已下载的 `FreeBSD-14.1-RELEASE-amd64-disc1.iso` 文件，然后点击“下一页”。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-be9a22da1714fddf992762b021fa538887a9bd0a%2Fhp9.png?alt=media)

点击“完成”。

## 调整虚拟机

虚拟机创建完成后，需要对部分设置进行调整。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-e408319b7e999e1cbed6f0c59575fd6759abc3ee%2Fhp10.png?alt=media)

点击“设置”。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-a3ce49fd9565fd1b96283fd585be8a3abb301ecb%2Fhp11.png?alt=media)

由于 FreeBSD 尚未支持安全启动，请务必关闭安全启动，否则将无法从安装介质启动安装程序。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-7ba75398645a61502c7f0d45964ce86ebd1832a0%2Fhp12.png?alt=media)

请勾选“来宾服务”。来宾服务是 Hyper-V 集成服务的一部分，提供宿主机与虚拟机之间的文件交换、时间同步等集成功能。其作用详见参考文献。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-31669eec0339131cfe8d934dff1c59bb9ccbb4bb%2Fhp16.jpg?alt=media)

可选择关闭“使用自动检查点”（即关闭自动快照功能），其作用详见参考文献。

## 安装 FreeBSD

虚拟机设置调整完成后，即可开始安装 FreeBSD 系统。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-81f783f2ace8632287f48b4a6c04002c8c592a16%2Fhp13.png?alt=media)

启动该虚拟机。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-366441aaca2d77584eab805720cd00db8aa77488%2Fhp14.png?alt=media)

按提示开始安装 FreeBSD。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-54ad391f59315ce7ec494b8e2d4fa8aba2958de3%2Fhp15.jpg?alt=media)

安装完成。

## 测试桌面

安装完成后，可对虚拟机进行基本功能测试。

鼠标和键盘均可正常工作，可在宿主机和虚拟机间无缝切换，但虚拟机桌面分辨率无法自适应调整。建议检查 Hyper-V 集成服务安装并参考 FreeBSD 文档以获取显示配置指南。

![Hyper-V](https://338876981-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCJR3FQGH1PkdRtOljuxb%2Fuploads%2Fgit-blob-7acf5fc2b404f4a7fac31d71add391b9679d8f81%2Fhp.jpg?alt=media)

删除虚拟机前，必须先将其关闭。

## 参考文献

* 微软. Windows Server 和 Windows 中的 Hyper-V 虚拟化\[EB/OL]. \[2026-03-26]. <https://learn.microsoft.com/zh-cn/windows-server/virtualization/hyper-v/overview>. 微软官方对 Hyper-V 的说明，详细介绍了 Hyper-V 虚拟化架构与功能特性。
* 微软. 在 Windows 上安装 Hyper-V\[EB/OL]. \[2026-03-26]. <https://learn.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v>. 微软官方教程，提供了多种 Hyper-V 启用方法。
* 微软. Hyper-V 集成服务\[EB/OL]. \[2026-03-26]. <https://learn.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/reference/integration-services>. 详细说明了 Hyper-V 集成服务的功能与配置方法。
* 微软. 使用检查点将虚拟机恢复到以前的状态\[EB/OL]. \[2026-03-26]. <https://learn.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/user-guide/checkpoints?source=recommendations&tabs=hyper-v-manager%2Cpowershell>. 介绍了 Hyper-V 检查点的创建与使用方法。
* 微软. 在 Hyper-V 中在标准检查点与生产检查点之间进行选择\[EB/OL]. \[2026-03-26]. <https://learn.microsoft.com/zh-cn/windows-server/virtualization/hyper-v/manage/choose-between-standard-or-production-checkpoints-in-hyper-v>. 对比了标准检查点与生产检查点的差异与适用场景。
* nanorkyo. FreeBSD13 を Hyper-V 環境 にインストールしてみた 所感\[EB/OL]. \[2026-03-26]. <https://qiita.com/nanorkyo/items/d33e1befd4eb9c004fcd>. 提供了 FreeBSD 在 Hyper-V 环境下的安装经验与技巧。

## 课后习题

1. 查找 FreeBSD 13.0 源代码中关于 `kern.evdev.rcpt_mask` 的实现，在 FreeBSD 13.0 系统上应用该参数修改，并验证鼠标是否正常工作，分析该参数如何改变内核对输入设备的处理方式。
2. 分析 Hyper-V 安全启动机制，研究其与 FreeBSD 启动流程的兼容性问题，尝试构建一个最小化的 FreeBSD 启动链。
3. 启用 Hyper-V 来宾服务，尝试通过宿主机与虚拟机进行文件交换操作，分析该服务是如何在虚拟化边界创建可控的数据通道的。
