# 安装和使用BootCamp工具
OpenCore的一个简洁特性是能够完全避免BIOS,只使用启动盘进行多引导。当我们试图引导windows,但没有办法将引导选项设置回macOS时,问题就出现了。这就是BootCamp工具的用武之地。
- 注意:本指南将不介绍Windows安装程序的创建,只介绍BootCamp驱动程序的安装。
- 创建Windows安装程序的例子:构建一个可引导的Windows ISO (opens new window)
- 提醒:Windows 必须基于GPT/GUID, OpenCore将不会引导legacy安装
- 注意2:从macOS使用BootCamp工具将擦除EFI/BOOT/BOOTx64.EFI文件,这是启动OpenCore所需的。而且OpenCore本身不支持基于MBR的安装,因此该实用程序对我们毫无用处
# 准备工作
首先,我们需要以下内容:
- 已经安装Windows
- 必须基于UEFI / GPT
- Brigadier (opens new window)
- 下载BootCamp驱动程序
- 设置[LauncherOption] (../multiboot/bootstrap.md)
- 不是必需的,但可以帮助缓解OpenCore使用的BOOTx64.efi擦除Windows时的头痛
# 安装
安装非常简单,只需获取Brigadier (opens new window)并运行Brigadier
。Windows使用.bat
, macOS使用Brigadier.command
。如果你当前使用的SMBIOS有BootCamp问题,或者想下载另一个SMBIOS,你可以在末尾添加——model{SMBIOS}
:
path/to/Brigadier --model MacPro7,1
- 注意:旧版本的BootCamp安装程序(6.0)不支持APFS,你需要选择一个更新的SMBIOS将它捆绑(即。iMac 19,1)或在安装后更新你的bootcamp软件。有关故障排除的更多细节请参见下面的内容:Windows启动磁盘无法看到APFS驱动器
接下来你会在下面找到我们的bootcamp驱动程序:
- Windows:
\Users\{Username}\bootcamp-{filename}\BootCamp
- macOS:
/Users/{Username}/BootCamp-{filename}/WindowsSupport.dmg
macOS用户接下来需要扩展WindowsSupport.dmg,并把它放在Windows可以得到的地方。
接下来,在Windows中,您有两个选择。
要么导航到bootcamp-{filename}\ bootcamp
文件夹,然后运行Setup. txt
文件。这需要正确的SMBIOS SystemProductName欺骗-显示为系统模型在Windows -以启动:
或者,以管理员身份启动bootcamp-{filename}\bootcamp\Drivers\Apple\bootcamp.msi
——例如,通过直接从管理员命令shell启动它——这将完全跳过bootcamp模型检查:
一旦所有完成,你现在有BootCamp切换!在你的托盘中应该有一个小的BootCamp图标,现在你可以选择启动到哪个驱动器。
- 注意:对于那些不需要BootCamp提供的额外驱动程序,你可以删除以下内容:
$WinPEDriver$
: 不要删除文件夹本身,只删除里面的驱动程序- 苹果Wifi卡用户需要保留以下内容:
$WinPEDriver$/BroadcomWireless
$WinPEDriver$/BroadcomBluetooth
$WinPEDriver$/AppleBluetoothBroadcom
- 苹果Wifi卡用户需要保留以下内容:
BootCamp/Drivers/...
- 不要 删除
BootCamp/Drivers/Apple
- 苹果Wifi卡用户需要保留以下内容:
BootCamp/Drivers/Broadcom/BroadcomBluetooth
- 不要 删除
# 故障排除
- 在选择器中找不到Windows/BootCamp驱动器
- "您不能将启动磁盘更改为所选磁盘"错误
- 启动Windows会导致蓝屏或Linux崩溃
- 引导Windows错误:
OCB: StartImage failed - Already started
- Windows启动盘看不到APFS驱动器
# 在选择器中找不到Windows/BootCamp驱动器
因此,使用OpenCore,我们必须注意,传统的Windows安装不支持,只有UEFI。现在大多数安装是基于UEFI的,但是那些由BootCamp Assistant在macOS中制作的是基于legacy的,所以你必须找到其他方法来制作安装程序(谷歌是你的朋友)。这也意味着MasterBootRecord/Hybrid分区也被破坏了,所以你需要格式化你想安装到DiskUtility的驱动器。
现在开始进行故障排除:
- 确保
Misc -> Security -> ScanPolicy
设置为0
以显示所有驱动器
如果Windows和OpenCore的引导加载程序在同一个驱动器上,你需要添加一个BlessOverride条目:
Misc -> BlessOverride -> \EFI\Microsoft\Boot\bootmgfw.efi
- 注:从OpenCore 0.5.9开始,这个不再需要指定。OpenCore应该会自动发现这个条目
# "您不能将启动磁盘更改为所选磁盘"错误
这通常是由以下原因引起的:
- 第三方NTFS驱动程序(即。Paragon)
- Windows驱动器的不规则分区设置,特别是EFI不是第一个分区。
要修复前者,要么禁用或卸载这些工具。
要解决后者,我们需要启用这个选项:
PlatformInfo -> Generic -> AdviseFeatures -> True
# 启动Windows会导致蓝屏或Linux崩溃
这是由于对齐问题,请确保在支持MATs的固件上启用了SyncRuntimePermissions
。检查你的日志,你的固件是否支持内存属性表(通常在2018年或更新的固件上看到)
对于Z390和更新的主板,您还需要启用ProtectUefiServices
以确保正确应用OpenCore的补丁。
如果你的固件很旧(通常是2013年或更老),你需要启用ProtectMemoryRegions
。
由于不同厂商的固件版本不尽相同,你需要尝试一下这3种特性的组合,看看哪一种效果最好。
常见的Windows错误代码:
0xc000000d
# 引导Windows错误:OCB: StartImage failed - Already started
这是由于OpenCore在尝试引导Windows时感到困惑,并意外地认为它正在引导OpenCore。这可以通过移动Windows到它自己的驱动器或在BlessOverride下添加一个自定义驱动器路径来避免。参见Configuration.pdf (opens new window)和在选择器中找不到Windows/BootCamp驱动器条目了解更多详细信息。
# Windows启动盘看不到APFS驱动器
- 过时的BootCamp驱动程序(通常6.0版本会附带brigadier, macOS中的BootCamp实用程序提供了较新的版本,如ver 6.1)。你可以尝试用苹果的软件更新程序更新到最新版本,或者从brigadier(也就是苹果电脑)选择更新的SMBIOS来缓解这些问题。(如’——iMac19,1’)和跑brigadier的时候。
对于后者,你需要运行以下命令(将文件名.msi
替换为BootCamp安装的msi):
msiexec.exe /x "c:\filename.msi"