使用 rEFInd 在 Boot Camp 中启用虚拟化支持
内容提要
在Intel Mac的Boot Camp中,Windows默认无法使用硬件虚拟化(VT-x),因为该功能由macOS在启动时启用。解决办法是安装rEFInd启动管理器:先正常安装Windows并确保系统稳定,再创建一个HFS+小分区,修改rEFInd配置启用enable_and_lock_vmx,然后安装rEFInd。之后通过EFI Boot启动Windows即可运行虚拟化软件。
延伸解读
为什么 Boot Camp 下 Windows 缺少虚拟化支持
文章指出,在 Intel Mac 上,VT-x 并非由固件默认开启,而是由 macOS 在启动过程中启用。因此,直接通过 Boot Camp 启动 Windows 时,硬件虚拟化扩展不可用,导致 WSL、Docker、虚拟机等工具无法运行或性能极差。除非先启动 macOS 再重启进入 Windows,但这并不方便,且可能遇到 macOS 无法正常关机的问题。
rEFInd 方案的关键前提与风险
使用 rEFInd 前,必须确保 Boot Camp 安装的 Windows 和 macOS 都能正常启动,磁盘加密已完全配置,且 OSXRESERVED 分区已删除。文章强调,修改启动方式可能导致 Mac 无法启动,因此务必提前备份数据,并准备安装介质。此外,为 rEFInd 单独创建 HFS+ 分区比直接使用 EFI 系统分区更安全,可避免与 macOS 的启动文件冲突。
安装 rEFInd 并启用虚拟化的操作要点
在 macOS 下下载 rEFInd 后,需编辑配置文件,将 enable_and_lock_vmx 设置为 true,并取消注释。安装时使用 refind-install 命令并指定 rEFInd 分区的设备名(如 disk9s9)。即使因 SIP 启用而报错,安装仍可继续。完成后,开机时按住 Option 键选择 EFI Boot 即可进入 rEFInd,再启动 Windows,虚拟化功能便可用。文章还提到,可将 rEFInd 设为默认启动项,或仅用于 Windows 启动。
Q&A
为什么在 Boot Camp 的 Windows 中无法使用硬件虚拟化?
在 Intel Mac 上,硬件虚拟化扩展(VT-x)默认不由 CPU 启用,而是由 macOS 在启动过程中启用。因此,通过 Boot Camp 直接启动 Windows 时,虚拟化功能不会被启用,导致依赖 VT-x 的软件无法运行。
用 rEFInd 启用虚拟化需要提前做好哪些准备?
首先通过 Boot Camp 助手正常安装 Windows 10,并确保 macOS 和 Windows 都能正常启动、可通过 Option 键切换系统、磁盘加密(如启用)已完成、Windows 驱动安装完毕、OSXRESERVED 分区已删除、系统完整性保护(SIP)已启用。同时建议备份数据并准备安装介质。
如何为 rEFInd 创建分区?
创建一个约 50 MB 的 HFS+(Mac OS Extended)分区。可以从 macOS 或恢复模式用磁盘工具缩小 macOS 分区来新建,也可以从 Windows 用磁盘管理缩小 Windows 分区并新建简单卷(先格式化为 FAT32/exFAT,之后在 macOS 中重新格式化为 HFS+)。
rEFInd 的配置文件需要修改哪个选项来启用虚拟化?
需要编辑 refind.conf-sample 文件,找到 enable_and_lock_vmx 设置,去掉行首的 # 注释符,并将其值设为 true。还可以根据需要调整其他配置,例如缩短默认的 20 秒超时时间。
安装 rEFInd 的具体命令是什么?
首先在磁盘工具中查看 rEFInd 分区的设备名称(如 disk9s9),然后在终端中进入 rEFInd 解压目录,运行:./refind-install --ownhfs disk9s9(将 disk9s9 替换为实际设备名)。如果 SIP 启用,命令可能报错,但安装仍会成功。
安装 rEFInd 后如何启动 Windows 并启用虚拟化?
关机后按住 Option 键启动,选择 EFI Boot 选项(即 rEFInd),然后从 rEFInd 菜单中选择 Windows(Microsoft EFI boot)启动。这样 Windows 就能使用硬件虚拟化运行虚拟机等软件。