OpenCore-Install-Guide:在 VirtualBox 虚拟机中安装 macOS Big Sur 的完整实战指南
文档教程【免费下载链接】OpenCore-Install-GuideRepo for the OpenCore Install Guide项目地址https://gitcode.com/gh_mirrors/op/OpenCore-Install-Guide点击查看免费下载本指南基于 OpenCore-Install-Guide 仓库中 VirtualBox 安装方案 编写适用于那些希望先在 VirtualBox 虚拟机中完成 macOS Big Sur 安装再把安装好的系统盘移交到真实 Hackintosh 硬件上继续使用的场景。读完本文你将掌握原始磁盘镜像到 VDI 的转换、原始磁盘直通raw disk passthrough的 VMDK 创建、VirtualBox 虚拟机的 macOS 专用参数CPUID、SMBIOS、SMC配置以及安装完成后如何将 OpenCore 的 EFI 注入系统盘并回到真实机器上正常引导。为什么需要 VirtualBox 方案在 OpenCore-Install-Guide 的 Big Sur 专题中除了常规的直接安装流程外还提供了两条虚拟化中转路径一条是使用 VMware Fusion见 fusion.md另一条就是本文的 VirtualBox 方案。两者的核心思路一致在一台真实的 macOS 主机上准备 Big Sur 安装介质让虚拟机直接读写一块真实的 USB 外接硬盘/SSD而非虚拟磁盘文件把系统安装到这块真实磁盘上安装完成后将配置好的 OpenCore EFI 写入该磁盘的 EFI 分区再把这颗磁盘放回你的 Hackintosh 主机上正常引导。这样做的价值在于Big Sur 的第二阶段安装对 NVRAM 依赖较高部分主板如部分华硕 Z97、X99/X299 等 HEDT 平台会在此阶段陷入重启循环。先在虚拟机里完成安装再把磁盘迁移到真实硬件上是绕开这类主板问题的可行手段这一背景在 Big Sur 安装总览 的 Asus Z97 and HEDT failing Stage 2 Installation 一节中有明确说明。前置条件根据原文档开始之前你需要准备以下环境VirtualBox已安装的 VirtualBox 虚拟机软件一台运行 macOS 的计算机VirtualBox 方案要求宿主机本身是 macOS因为后续需要用到diskutil、VBoxManage的原始磁盘直通以及对系统盘分区的操作macOS 安装程序所需的 macOS Big Sur 安装软件已放入/Applications目录例如Install macOS Big Sur.app一块 USB 外接硬盘或 SSD作为 macOS 的目标安装盘安装完成后它将变成可引导的 Hackintosh 系统盘。提示安装介质的来源可以参考 macOS 用户制作安装介质使用 App Store、softwareupdate --fetch-full-installer或 Munki 的installinstallmacos.py下载 Big Sur 安装程序也可以参考 Linux 用户制作安装介质使用macrecovery.py下载 BaseSystem/RecoveryImage。本方案的宿主机是 macOS通常直接在 macOS 上制作即可。一、转换安装介质原始镜像转 VDIVirtualBox 无法直接使用原始磁盘镜像raw disk image.img因此需要先把它转换成 VirtualBox 自己的磁盘格式VDI。在磁盘镜像所在目录下执行### 如果你的 .img 文件名不是 Install macOS Big Sur Beta请相应修改 VBoxManage convertfromraw Install macOS Big Sur Beta.img Install macOS Big Sur Beta.vdi --format VDI命令说明convertfromraw是 VBoxManage 的磁盘镜像转换子命令读取一个原始磁盘镜像并将其转换为其他虚拟磁盘格式目标格式由--format VDI指定VDI 是 VirtualBox 的原生磁盘格式转换完成后会得到一个体积与原始镜像相当的.vdi文件VirtualBox 可以直接把它作为虚拟硬盘挂载。这一步与 VMware Fusion 方案中使用 raw2vmdk.jar 生成链接型 VMDK的做法目的一致——都是为了解决虚拟机无法直接消费原始镜像的问题只是 VirtualBox 走的是全量转换的 VDI 路线。二、在 VirtualBox 中安装 macOS整个安装过程分四步创建原始磁盘引用、创建虚拟机、附加磁盘、注入 macOS 所需的虚拟机属性。2.1 创建引用真实磁盘的 VMDK首先把目标 USB 磁盘接到 macOS 主机上然后创建一个引用这块真实磁盘的虚拟硬盘文件VMDK供 VirtualBox 使用。diskutil list # 找到与你外接磁盘对应的设备路径把下面的 /dev/disk3 替换为实际路径 sudo VBoxManage internalcommands createrawvmdk -filename RawHDD.vmdk -rawdisk /dev/disk3要点先用diskutil list确认哪一块磁盘是你准备安装 macOS 的外接盘务必核对容量与型号避免指向系统盘createrawvmdk并不会复制磁盘内容而是生成一个引用/dev/disk3的 VMDK 描述文件VirtualBox 通过它直接读写真实磁盘使用前可能需要先清除该磁盘上的已有分区避免残留的分区表干扰安装器对磁盘的识别之后创建虚拟机时还需要编辑目标设备edit the destination device确保虚拟机把该原始磁盘当作启动目标。2.2 以 root 启动 VirtualBox 并创建虚拟机sudo VirtualBox以 root 运行 VirtualBox 是必要的因为原始磁盘直通需要 root 权限才能访问/dev/disk*设备节点。新建虚拟机时按以下参数配置参数建议值名称Big Sur类型macOS 64bitCPU 核心数2 ~ 4 核内存4 ~ 8 GB虚拟磁盘不要创建Do not create a virtual disk创建完成后把前面两步得到的磁盘附加到虚拟机上附加Install macOS Big Sur Beta.vdi转换后的安装介质附加RawHDD.vmdk引用真实 USB 磁盘的原始磁盘。挂载示意如下2.3 注入 macOS 启动所需的虚拟机属性直接启动这个虚拟机是无法引导 macOS 的——macOS 在启动早期会校验硬件身份SMBIOS、CPUID 特征以及 SMC 密钥而 VirtualBox 默认暴露给虚拟机的是一套通用 PC的身份信息。因此需要先关闭 VirtualBox GUI注意先关闭 VirtualBox因为修改 VM 属性时虚拟机不能被占用然后在终端中执行以下命令# 1. 伪造 CPUID让 macOS 认为虚拟 CPU 是 Ivy Bridge 一代0x000306A9 sudo VBoxManage modifyvm Big Sur --cpuidset 00000001 000306a9 04100800 7fbae3ff bfebfbff # 2. 伪造 SMBIOS 产品型号为 iMacPro1,1 sudo VBoxManage setextradata Big Sur VBoxInternal/Devices/efi/0/Config/DmiSystemProduct iMacPro1,1 # 3. 伪造系统版本 sudo VBoxManage setextradata Big Sur VBoxInternal/Devices/efi/0/Config/DmiSystemVersion 1.0 # 4. 伪造主板产品标识iMacPro1,1 对应的 Board ID sudo VBoxManage setextradata Big Sur VBoxInternal/Devices/efi/0/Config/DmiBoardProduct Mac-7BA5B2D9E42DDD94 # 5. 注入 Apple 的 SMC 设备密钥 sudo VBoxManage setextradata Big Sur VBoxInternal/Devices/smc/0/Config/DeviceKey ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc # 6. 让虚拟 SMC 从真实 SMC 读取密钥 sudo VBoxManage setextradata Big Sur VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC 1逐一解释这些属性的作用--cpuidset 00000001 000306a9 ...覆盖 CPUID leaf00000001返回的寄存器值。其中的000306a9是 Ivy Bridge 架构的 CPU 签名macOS 内核在早期引导时会读取 CPUID 来判断支持的指令集与架构特性虚拟化环境下默认的 CPUID 会被 macOS 拒绝DmiSystemProduct/DmiSystemVersion虚拟 EFI 固件对外报告的 SMBIOS 系统产品与版本伪装成iMacPro1,1后 macOS 会按真实 Mac 的硬件配置去初始化系统DmiBoardProduct主板产品标识Mac-7BA5B2D9E42DDD94正是 iMacPro1,1 的 Board ID。macOS 会用它与系统产品型号一起校验整机身份DeviceKeySMCSystem Management Controller的密钥值这一长串ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc是 Apple 固件中公开已知的 SMC 设备密钥缺少它 macOS 会因无法通过 SMC 校验而拒绝启动对应 Big Sur 安装过程中常见的ramrod无限重启问题详见 Big Sur 已知问题 的 Stuck on ramrod 一节GetKeyFromRealSMC 1让虚拟 SMC 从真实 SMC 读取密钥与上一条配合保证 SMC 应答正确。2.4 启动虚拟机完成安装再次以 root 启动 VirtualBox然后启动刚才创建的 Big Sur 虚拟机sudo VirtualBox此时安装器应当开始引导。之后的安装流程与在任何真实设备上安装 macOS 完全相同——选择目标磁盘即那块真实 USB 硬盘、等待系统卷封装sealing完成即可。需要留意的是Big Sur 安装过程中系统卷封装阶段可能长时间停留在Forcing CS_RUNTIME for entitlement这属于正常现象不要误以为卡死而重启否则会破坏安装详见 Big Sur 安装总览 的故障排查章节。三、安装完成后的收尾把系统盘移交回真实硬件当安装完成并进入欢迎界面Welcome screen后向 macOS 发送 ACPI 关机信号在 VirtualBox 菜单中选择 ACPI shutdown让 macOS 正常关机注入 OpenCore 的 EFI将你预先准备好的 OpenCore EFI 目录写入 USB 磁盘上的 EFI 分区然后弹出eject该磁盘EFI 分区的挂载与 OpenCore 文件结构可参考 添加基础 OpenCore 文件把 OpenCorePkg 中X64/EFI目录拷贝到 EFI 分区根目录仅保留OpenRuntime.efi等必要驱动SSDT.aml放入 ACPI 目录、kext.kext放入 Kexts 目录若你不熟悉需要哪些驱动与 kext可参考 ktext.md 与 前置条件把磁盘放回你的 Hackintosh 主机从该磁盘正常引导。从这一刻起这块 USB 硬盘就是一颗完整的、带有 OpenCore 引导的 Big Sur 系统盘VirtualBox 只是完成安装的中转环境。四、与仓库其他文档的衔接Big Sur 整体安装须知VirtualBox 方案只是安装环节Big Sur 的 SMBIOS 支持范围、kext 与引导器版本要求、HEDT 平台的 ACPI 补丁、已知问题如 11.3 及更新版本中XhciPortLimit失效导致引导循环、csr-active-config需改为FF0F0000才能完全关闭 SIP请阅读 extras/big-sur/README.md安装介质制作macOS 用户createinstallmedia制作 U 盘、Linux 用户macrecovery.py、Windows 用户EFI 环境搭建installer-guide/opencore-efi.md术语速查EFI 分区、kext、SSDT/DSDT、SMBIOS 等概念可查阅 terminology.md。小结VirtualBox 方案的核心是一条虚拟化中转链路convertfromraw把安装镜像转成 VDI →createrawvmdk让虚拟机直通真实 USB 磁盘 → 通过modifyvm --cpuidset与setextradataSMBIOS SMC让 macOS 信任这台虚拟硬件 → 安装完成后注入 OpenCore EFI 并把磁盘移回真实硬件引导。它特别适合那些第二阶段安装受 NVRAM 问题困扰的主板平台也为在现有 macOS 主机上预装Big Sur 系统盘提供了一条完全可复现的操作路径。赞分享文档教程【免费下载链接】OpenCore-Install-GuideRepo for the OpenCore Install Guide项目地址https://gitcode.com/gh_mirrors/op/OpenCore-Install-Guide点击查看免费下载相关推荐OpenCore 安装指南在 VMware Fusion 中安装 macOS Big Surraw2vmdk 转换与直通安装实战OpenCore 安装指南在 VMware Fusion 中安装 macOS Big Surraw2vmdk 转换与直通安装实战 macOS Big Su文档教程macOS Big Sur升级指南基于gh_mirrors/ma/macos-virtualbox的平滑过渡macOS Big Sur升级指南基于gh_mirrors/ma/macos virtualbox的平滑过渡 你是否正使用gh_mirrors/ma/maco开发工具OpenCore Skylake 台式机 config.plist 完整配置指南OpenCore-Install-Guide 实战篇OpenCore Skylake 台式机 config.plist 完整配置指南OpenCore Install Guide 实战篇 本篇以 OpenCor文档教程上一篇oh-my-codex v0.8.9 深度解析团队 Worker 路由角色端到端落地与 Scale-Up 任务身份保真下一篇Generative AI 入门使用函数调用Function Calling构建可查询外部数据的智能聊天应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考