
以下均在 Mojave 的基础上进行。
旧版系统
以下旧版系统不支持 Intel CPU,需要模拟其它 CPU 的架构,因此只可在虚拟机中使用。
现成虚拟机
1 | # System 8 |
虚拟工具
Mini vMac
模拟基于 Motorola 68K 的黑白 Mac Plus,支持 MacOS 1.1-7.5.5。下载链接如下。
1 | https://www.gryphel.com/c/minivmac/download.html |
在 Mini vMac 界面上,按住 Control 可弹出控制模式界面。Control+M 让显示范围变大,Control+F 全屏显示。
【特殊】iOS版本
iOS 安装包下载链接如下。
1 | https://github.com/zydeco/minivmac4ios |
模拟为 Macintosh II
下载 Mini vMac 时,版本选择 Macintosh II Variations。根据自己的操作系统下载对应安装包。
新建文件夹,将 Mini vMac、磁盘映像和 ROM 包中的1988-09 - 97221136 - Mac II FDHD & IIx & IIcx.ROM放在一起,并将 ROM 重命名为MacII.ROM。打开 Mini vMac,即模拟为 Macintosh II,屏幕出现一个带有问号的软盘图标。
以安装 System 7.0.1 为例,拖动 System 7.0.1 安装盘中的 Install 1.img 至窗口,即可看到安装向导。拖动空白磁盘映像至窗口,以提供安装位置,然后点击 Install 即可,其中需要安装提示拖动不同的 System 7 安装盘至窗口。
安装完成后点击 Quit-Rstart,拖动刚才的磁盘映像到窗口,即可加载系统。
模拟为 Macintosh Plus
前面下载时 Mini vMac 的版本选择 Standard Variations,使用 ROM 包中的1986-03 - 4D1F8172 - MacPlus v3.ROM即可,注意需要重命名为vMac.ROM。打开后即模拟为 Macintosh Plus。
SheepShaver
基本使用
模拟基于 Power PC 的 Macintosh,支持 MacOS 7.5.2-9.0.4。下载链接如下。
1 | https://www.emaculation.com/forum/viewtopic.php?f=20&t=2409&sid=65c645c9dc937e59251f3ff05916b177 |
下载好 ROM 后重命名为Mac OS ROM,注意无后缀名,然后与 SheepShaver 放置在同一目录。打开应用,屏幕出现一个带有问号的软盘图标。点击菜单栏的 Preferences,在 Volumes 手动添加安装盘即可。
接下来的步骤与 Mini vMac 一致。
常见问题
无法使用音频
若系统为 Linux,可在终端输入以下命令。
1 | sudo apt-get install osspd |
然后使用以下命令打开 SheepShaver。
1 | padsp /usr/bin/SheepShaver |
Basilisk II
基本使用
模仿基于摩托罗拉 68k 色彩的 Mac,支持 MacOS 7.x-8.1。最新版本下载链接如下,需要下载 Basilisk II 和 Basilisk II GUI。
1 | https://www.emaculation.com/doku.php/basilisk_ii |
以 Mac 为例,需要下载以下两个文件。
1 | # Basilisk II |
下载好 ROM 后打开 Basilisk II GUI,点击菜单栏的 Preferences,在 Volumes 手动添加安装盘,在 System 的 ROM File 选择下载好的 ROM 文件,点击 Start 即可。接下来的步骤与 Mini vMac 一致。
注意,若在 Linux 下使用 Basilisk II,需要将安装盘设置为只读,且不要以 root 身份运行 Basilisk II,否则将无法进行安装。
【进阶】详细配置
以 Linux 版的 Basilisk II 为例。该软件可通过系统包管理器获取。
1 | # Volumes |
文件共享
可使用 HFVExplorer。
1 | https://emaculation.com/quick/hdexp131.zip |
也可在设置中勾选Enable 'My Computer' icon,以在 MacOS 中访问当前文件系统。
QEMU
支持 MacOS 9.0.4-10.5。
安装
在终端输入以下命令即可。
1 | brew install qemu |
【进阶】对于Mac OS X 10.4及以上版本
需要使用以下特殊版本。
1 | https://static.imvictor.tech/static-old/201709/qemu-mac99p.zip |
需在同目录下新建qemu.command,内容如下。保存后运行即可。
1 | #!/bin/bash |
使用
生成虚拟硬盘镜像
选择其中一种格式即可。
1 | # 生成IMG |
启动
在终端输入以下命令以打开。
1 | # 内存256MB |
该命令格式如下。
1 | qemu-system-x86_64 [参数] |
其中参数如下。
| 参数 | 说明 | 选项 |
|---|---|---|
| -hda A.qcow2 | 第一块内置硬盘的镜像 | |
| -hdb B.img | 第二块内置硬盘的镜像 | |
| -cdrom C.iso | 光盘镜像 | |
| -m 512 | 内存(以MB为单位) | |
| -boot c | 第一启动项为硬盘 | c-硬盘d-光盘 |
| -net user | 网络配置 | |
| -M mac99p | 机型为mac99p | |
| -prom-env “boot-args=-v” | 向NVRAM写入启动参数-v | |
| -vga virtio | ||
| -display default,show-cursor=on | ||
| -usb | ||
| -device usb-tablet | ||
| -machine type=q35,accel=hvf | ||
| -smp 2 | ||
| -cpu Nehalem | ||
| -drive file=windows.iso,index=1,media=cdrom | ||
| -drive file=/Users/slanla/qemu/disk.img,index=0,format=raw,if=virtio |
PearPC
仅可用于 Windows 和 Linux,可用于 Mac OS 10.3。
下载链接如下,注意需要下载源程序和空白磁盘。空白磁盘解压所得的 bz2 压缩包,并与 ppc 程序放置在同一目录。将安装盘也放置在同一目录。
1 | http://pearpc.sourceforge.net/downloads.html |
复制 ppccfg.example 并重命名,用文本编辑器打开。主要修改以下内容。
1 | # 磁盘0 |
打开命令提示符,切换到 ppc 程序所在路径后输入以下命令即可。
1 | ppc [配置文件名] |
所需文件
磁盘映像
以下磁盘映像无需进行安装步骤,直接挂载即可使用。
Jaguar
适用于 QEMU,磁盘映像如下。
1 | http://macintoshgarden.org/apps/mac-os-x-102-pre-made-qemu-hard-drive |
终端切换到磁盘映像所在目录,运行以下命令即可。
1 | # 10.2.img为磁盘映像 |
System 9
适用于 SheepShaver。设置好 ROM 后,在 Preferences 中添加该磁盘镜像即可。
1 | # 9.0 |
System 7
适用于 Mini vMac。设置好 ROM 后,将以上镜像直接拖到窗口即可。
1 | # 7.5.3 |
ROM
用于模拟机型。ROM 映像通过读取安装在 Macintosh 中的集成电路的内容来创建,包含了设备的以及来自 Apple 的版权数据。
打开以下链接下载 ROM,选择 Old_World_Mac_Roms.zip。
1 | https://www.macintoshrepository.org/7038-all-macintosh-roms-68k-ppc- |
也可选用以下特定 ROM。
1 | # Old World 4mb |
【进阶】从Basilisk II提取SheepShaver适用的ROM
Basilisk II 需要安装 Stuffit Expander。下载 TomeViewer,链接如下。TomeViewer 适用于 System 7.1 及更高版本。
1 | https://www.emaculation.com/sheepshaver/tomeviewer.sit |
可从以下两个文件之一提取 SheepShaver ROM,适用于在 SheepShaver 启动 MacOS 8.5-9.0.4。
1 | # Mac OS Rom Update 1.0 |
启用文件共享,在 MacOS 中打开以上两个文件之一,然后打开 TomeViewer,点击 File-Open,选择刚才挂载的磁盘。软件将提取 ROM 文件,点击蓝色图标保存即可。
安装盘
用于安装系统。
Panther
1 | https://winworldpc.com/product/mac-os-x/103 |
Jaguar
1 | https://winworldpc.com/product/mac-os-x/102 |
Puma
1 | https://winworldpc.com/product/mac-os-x/101 |
Cheetah
1 | https://winworldpc.com/product/mac-os-x/100 |
Kodiak
1 | https://winworldpc.com/product/mac-os-x/developer-previews |
Rhapsody
1 | https://winworldpc.com/product/mac-os-x/rhapsody |
Server 1.0
1 | https://winworldpc.com/product/mac-os-x/server-10 |
System 9
1 | # 根据个人需求选择版本 |
System 8
1 | # 根据个人需求选择版本 |
System 7
1 | # 根据个人需求选择版本 |
System 6
1 | https://winworldpc.com/product/mac-os-0-6/system-6x |
System 5
1 | https://winworldpc.com/product/mac-os-0-6/system-5x |
System 4
1 | https://winworldpc.com/product/mac-os-0-6/system-4x |
System 3
1 | https://winworldpc.com/product/mac-os-0-6/system-3x |
System 2
1 | https://winworldpc.com/product/mac-os-0-6/system-2x |
System 1
1 | https://winworldpc.com/product/mac-os-0-6/system-1x |
空白磁盘映像
用于提供磁盘空间。
打开以下链接下载空白磁盘映像。
1 | # System 7选择5MB |
系统升级
基本知识
一般的小版本更新,如 10.15.2 升级 10.15.3,可以直接在系统内升级。在「系统偏好设置」或「关于本机」中进去系统更新检查。当进度条走完后点击重启,在 Clover 引导界面会出现 Boot macOS install from xxxxx ,方向键选中并按空格,勾选 Verbose(-v) 和 nv_disable=1 后再启动。跑完日志和进度条后会开始升级、自动重启,如果重启后 Clover 中的 Boot macOS install from xxxxx 没有消失则重复上述操作(一般系统更新也需要二次安装)。升级成功后 Clover 引导界面下的 Boot macOS install from xxxxx 会消失。选择 Boot macOS install from xxxxx 进入系统即可。
Catalina
下载
在黑果小兵的部落阁下载即可。
在 Mac 下也可通过以下链接,通过 App Store 下载。
1 | https://apps.apple.com/cn/app/macos-catalina/id1466841314?mt=12 |
也可通过以下链接。
1 | 链接 / https://cloud.189.cn/t/UFNFvauUVjua |
安装盘制作
若获得的是系统 app 安装包,则将其移动到应用程序文件夹后,可通过以下命令制作安装盘。注意 MyVolume 为 USB 磁盘名称。
1 | sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume |
必要配置
配置 EC
升级 Catalina 需要将 EC 控制器名称改为 EC,否则系统启动崩溃。
对于台式机
如果为台式机,可直接禁用 EC。
通过阻止 AppleACPIEC
以OpenCore为例,在config.pilst中进入Kernel/Block,添加以下内容即可。
| 选项 | 内容 |
|---|---|
| Enabled | True |
| Indentifier | com.apple.driver.AppleACPIEC |
通过 SSDT
可通过脚本自动添加。下载 SSDTTime,解压后运行 SSDTTime.command,选择 Fake EC 并拖拽 DSDT 文件以自动生成 SSDT,放于引导器的 ACPI 部分即可。
也可手动添加。将以下代码复制到 MaciASL 中,将 EC0 改为对应的 EC 名称,另存为 SSDT-no-EC.aml,放于引导器的 ACPI 部分即可。
1 | DefinitionBlock ("", "SSDT", 2, "ACDT", "SsdtnoEC", 0x00001000) |
对于笔记本
由于笔记本有电池,不能禁用 EC。
打开系统 DSDT,搜索 PNP0C09,查看对应的 EC 名称。若不止一个,则需要判断此 EC 是否被屏蔽,主要看其_STA 方法是否存在 Return (Zero),若存在,则说明此设备被禁用。如本机对应两个 EC 名称 H_EC 和 EC0,但只有 EC0 未被屏蔽,则只需对 EC0 进行改名。
更名补丁示例如下,注意 EC0 需改成自己对应的 EC 设备名。
1 | Comment: Rename EC0 to EC |
更新 kexts
将要用到的 kexts 更新到最新版本。本机在未更新 Lilu 和 Whatevergreen 的情况下显卡出现 GFX Firmware 问题。
系统使用
解锁系统分区
Catalina 的系统分区被锁定,无法直接修改系统盘内的文件。进行 SLE 路径的驱动安装等操作需要解锁。
通过终端
1 | sudo su |
通过自动执行脚本
打开系统的自动操作程序,选择应用程序-运行Shell脚本,修改Shell为/bin/bash并将以下脚本粘贴进去,保存为unlockSystem.app。
1 | #! /bin/bash |
打开偏好设置-用户与群组,在登录项中将 unlockSystem.app 添加到启动项并勾选隐藏即可。
通过 plist
将以下内容保存为CatalinaAutoMountWritable.plist,并放在系统盘的Library/LaunchDaemons即可。
1 | <?xml version="1.0" encoding="UTF-8"?> |
解锁 Sidebar
部分机型不支持 Sidebar,可通过修改机型或在终端输入以下命令解锁。
1 | # 绕过SMBIOS限制 |
Big Sur
支持的 SMBIOS 如下。
1 | iMac14,4及更新 |
特性
即使关闭 SIP,root 用户依然无法挂载根目录为读写。这意味着直接修改 System 文件夹内的文件需要到 Recovery 模式下的终端修改。
因此,单用户模式下不能再加载 launchd 服务,也不能通过调用 OpenDirectory 服务修改 root 密码和管理员密码。
1 | launchctl load /S*/L*/LaunchDaemons/com.apple.opendirectory.plist |
launchctl 在单用户模式加载的服务会自动停止运行,同时屏幕显示 service only ran for 5 seconds,无法在单用户模式找回管理员密码。
同时,单用户模式中加载kext的kextload命令也失去了效果,被/usr/bin/kmutil接替,不允许绕过系统安全性设置来加载kext,这意味着root用户不能通过终端加载kext。
同时,AppleIntelInfo.kext 已经无法用于获取当前 CPU 状态。
对于 AirportBrcmFixup,可能需要使用brcmfx-driver=参数以强制加载驱动,如 BCM94352Z 用户可能需要使用 brcmfx-driver=2。同时需要阻止 AirPortBrcm4360_Injector.kext 加载,可将其 MaxKernel 设置为 19.9.9。
下载
在黑果小兵的部落阁下载即可。
在 Mac 下也可通过以下链接,通过 App Store 下载。
1 | https://apps.apple.com/cn/app/macos-big-sur/id1526878132?mt=12 |
安装盘制作
若获得的是系统 app 安装包,则将其移动到应用程序文件夹后,可通过以下命令制作安装盘。注意 MyVolume 为 USB 磁盘名称。
1 | sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume |
【进阶】安装在旧版实体Mac机器上
支持 Catalina 的实体 Mac 中部分不支持 Big Sur,但可以通过制作安装盘并修改安装盘必要内容的方式顺利安装。
对于 Mac Mini 2012 和其它支持 Catalina 的设备,可下载以下补丁并解压。
1 | https://github.com/barrykn/big-sur-micropatcher |
在终端以管理员身份运行 micropatcher.sh,选择制作好的安装盘进行修补。如果找不到安装盘,在运行时可将安装盘路径附加到后面,如下。
1 | ./micropatcher.sh [安装盘路径,如/Volumes/ABC] |
同理以管理员身份运行 install-setvars.sh。对于 2013 年末的 iMac,该脚本将启用 SIP 和 ARV(Authenticated Root Volume,经过身份验证的根卷)。
注意,若希望显示详细日志,可在其后添加参数-v。若希望强制禁用 SIP 和 ARV,可在其后添加参数-d。若希望强制启用,则可添加参数-e。
修补完成后,将安装盘插入到 Mac 机器,重启并按住 Option,然后选择安装盘即可。
若安装完成后出现 panic,则按 Command+Q,机器将重新启动。重新进入安装盘,打开终端并输入以下命令以安装 WiFi 补丁。
若希望尝试不同的 WiFi 补丁,可在脚本后添加参数–wifi=hv12v-old。若需要设置重写或不重写快照,可添加参数–create-snapshot 或–no-create-snapshot。
1 | # Image\ Volume为安装盘名称 |
还可通过 zap-snapshots.sh 删除除最新快照外的所有快照,命令如下。
1 | /Volumes/Image\ Volume/zap-snapshots.sh /Volumes/Macintosh\ HD |
必要配置
除以下列出的项目外,其它与 Catalina 基本一致。
硬盘驱动
对于 OpenCore 引导,可能需要 CtlnaAHCIPort,否则无法正常识别 SATA 硬盘。Clover 引导不需要该 kext。
建议将 CtlnaAHCIPort.kext 的 MinKernel 值设置为 20.0.0,以避免任何潜在的冲突。
1 | https://github.com/dortania/OpenCore-Install-Guide/blob/master/extra-files/CtlnaAHCIPort.kext.zip |
【进阶】原因
Apple 从 AppleAHCIPort.kext 中删除了 AppleIntelPchSeriesAHCI 类。
引导器修改
Big Sur 需要 Clover 版本至少为 5120,且需要使用 OcQuirks 作为内存管理驱动。
需要额外添加的启动参数如下。
1 | # DW1820A/DW1560/DW1830等博通网卡可能还需要添加brcmfx-aspm |
安装重启后的第二阶段,如果直接从安装盘启动,会一直循环 com.apple.xpc.launchd[1]。这时需要在 CLOVER 主引导界面按 F3,选择 Preboot 以继续完成安装。
注意部分指南会指出不应使用 NoTouchID.kext,但使用该 kext 能大大提升系统速度,因此还是推荐使用。
OpenCore 基本与 Clover 一致。
系统使用
注意不要用 Karbiner,不要开启 Airdrop 有线传输。
禁用 SIP
对于 OpenCore,打开 config.plist,进入 NVRAM-add-7C436110-AB2A-4BBB-A880-FE41995C9F82,并修改 csr-active-config 为 FF0F0000,然后进入 NVRAM-block-7C436110-AB2A-4BBB-A880-FE41995C9F82,添加csr-active-config一项。
然后进入系统恢复模式,输入以下命令后重启。
1 | csrutil disable |
重建 kexts 缓存
Big Sur 重建缓存的命令有所变化,如下。
1 | sudo chown -R root:wheel ~/livemount/System/Library/Extensions/ |
修改系统文件
Big Sur从快照启动,通过sudo mount -uw /挂载系统分区时会出现failed with 66的错误。
需要通过挂载系统分区,修改分区内容后新建系统分区快照,并指定启动时使用该快照,达到修改系统文件的目的。
注意,由于此方法会使快照的状态变为 broken,所以只适用于 OpenCore 引导,并设置 SecureBootModel 为 Disabled。若使用 Clover 引导或未设置 SecureBootModel,则会启动到恢复模式。
确保禁用 SIP 后,打开终端并输入以下命令。
1 | mkdir ~/livemount |
前往用户目录,即可看到挂载的系统分区。在该目录下进行系统修改操作。完成后回到终端并输入以下命令,以创建新的快照。
1 | sudo bless --folder ~/livemount/System/Library/CoreServices --bootefi --create-snapshot |
其它方法
确保禁用 SIP 后,进入恢复模式,打开终端并输入以下命令。
1 | diskutil list |
安装 kext 到 SLE
确保禁用 SIP 后,打开终端并输入以下命令。
1 | sudo kcditto |
记录 Volume Group UUID 和 Preboot disk。然后进入恢复模式,打开终端并输入以下命令。
1 | diskutil mount /Volumes/[系统分区名称] |
命令执行完成后可通过终端完成文件移动操作。以安装 IO80211Family 为例,命令如下。
1 | cd /Volumes/[系统分区名称]/System/Library/Extension |
完成后需要重建内核缓存,命令如下。
1 | kmutil install --update-all --volume-root /Volumes/[系统分区名称] |
继续执行以下命令以新建快照。
1 | /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs_systemsnapshot -s "After" -v /Volumes/[系统分区名称] |
然后需要将更新后的 BootKernelExtensions 复制到 Preboot 分区。输入以下命令。
1 | diskutil mount /dev/[前面记录的Preboot disk] |
完成后重启即可。若失败,则进入恢复模式或引导到 USB 安装器,打开终端并输入以下命令,重启即可。
1 | /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs_systemsnapshot -r "Before" -v /Volumes/[系统分区名称] |
常用命令
重建内核缓存
1 | kmutil install --update-all --volume-root /Volumes/[系统分区名称] |
特殊安装方法
可通过 VMWare 在实体机上进行安装。需要本机同时安装有旧版 Mac 和 Windows。
在 Mac 下打开磁盘工具,并分出一个新的 APFS 容器,建议分 60G 以上。打开 VMWare Fusion 并创建自定虚拟机,系统选择 macOS 的任意版本,选择新建虚拟磁盘。新建完成后调整内存大小,尽量调大以防止安装时卡住。
下载 Paragon VMDK Mounter 并激活,激活码如下。
1 | VMDK-MOUNTER-2014-434979472,51537-43450-1B2D9-8213A |
用 Paragon VMDK Mounter 打开新建的虚拟机,挂载刚创建的分区。若出现 VDM API Error 错误,则在系统偏好设置-安全性与隐私-通用中允许软件载入。
打开磁盘工具,将挂载好的 VMDK 外置磁盘格式化为macOS 扩展(日志式),名称为Big Sur Installer。完成格式化后将 Big Sur 安装包复制到应用程序,然后打开终端并输入以下命令以将安装包写入 VDMK 磁盘。
1 | sudo /Applications/Install\ macOS\ Big\ Sur\ Beta.app/Contents/Resources/createinstallmedia --volume /Volumes/Big\ Sur\ Installer |
完成后在磁盘工具卸载 VMDK 磁盘,打开虚拟机检查是否能正常进入安装界面,若没有问题则直接关机。
将创建好的虚拟机复制到 Windows,安装 VMWare Workstation Pro 并激活,双击虚拟机中的 VMX 文件以导入。打开 VMX 文件并添加以下内容,其中 SMBIOS 的应当用新的内容替换。
1 | board-id.reflectHost = "FALSE" |
打开 VMWare macOS 补丁 Unblocker 302 中的 win-install,注意需要以管理员模式运行。进入 VMWare Workstation Pro 并选择刚才的虚拟机,点击编辑虚拟机设置,选择添加-硬盘-SATA-使用物理磁盘,设备选择之前在 Mac 下分出的 APFS 容器对应的设备,选择使用单个分区,然后根据分区大小选择对应的 APFS 容器。
开启虚拟机并完成安装,然后重启电脑即可通过 OpenCore 进入系统。
常见问题
启动过程
卡 AppleACPICPU/x86Platform plugin
继续等待较长时间即可。在引导器的 ACPI 部分加入 OC-little 包 X86 注入部分的 SSDT-PLUG 即可修复。
卡 Forcing CS_RUNTIME for entitlement
安装程序仍在运行,等待即可。
卡 disk1s1 is locked
继续等待即可。
卡 PCI Configuration Begins
一般出现在X99/X299主板,主要为RTC设备问题。可使用以下SSDT补丁解决。
1 | https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/Source/SSDT-RTC0-RANGE.dsl |
卡 ramrod(^^^^^^^^^^^^^)
SMC 错误。更新最新的 VirtualSMC 和 Lilu,并添加 vsmcgen=1 启动参数。若无效,可切换为 Rehabman 的 FakeSMC。
卡 waiting for root device
有可能是因为没有放 VoodooI2C.kext,导致卡在 IOUSBDevice。注意放置 VoodooI2C.kext 后,需要禁用其中的 VoodooInput.kext.dYSM 和 VoodooInput.kext,因为 VoodooI2C 与 VoodooPS2 都有 VoodooInput,两者会发生冲突。
出现 Couldn’t alloc class “AppleIntelPchSeriesAHCI”
添加启动参数 smcgen=1。
内核错误
Rooting from the live fs of a sealed volume is not allowed on a release build
修改系统快照导致。
对于 OpenCore,更新至 0.6.4 或更新即可,也可通过设置 SecretBootModel 为 Disabled 以解决。对于 Clover,由于无法设置 SecretBootModel,需要恢复为未修改的快照。
注意,快照没有被破坏时,SecureBootModel 可以设为 Default。
可打开终端并输入以下命令以判断快照情况。若返回 Snapshot Sealed 为 Yes,则未被修改。若为 Broken,则快照被修改,可进入恢复模式,通过时间恢复机器回滚到以前的快照,或重新安装。
1 | diskutil apfs list |
cannot perform kext scan
加载了多个 VoodooInput。VoodooI2C 和 VoodooPS2 都有 VoodooInput,两者只能启用一个。
IOPCIFamily
一般出现在X79/X99主板,主要由于在ACPI中启用了未使用的非核心PCI桥接器导致。可使用以下SSDT补丁解决。
1 | https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/Source/SSDT-UNC.dsl |
max_cpus_from_firmware not yet initialized
确保 OpenCore 版本为 0.6.0 以上,并启用 AvoidRuntimeDefrag 这一 Quirk。
在配置文件的 Kernel-Patch 添加以下补丁可能会有用,注意需将 BB804000000C3 中的 04 替换为硬件支持的 CPU 线程数。
| 选项 | 值 |
|---|---|
| Base | _acpi_count_enabled_logical_processors |
| Count | 1 |
| Enabled | True |
| Find | |
| Identifier | Kernel |
| Limit | 0 |
| Mask | |
| MaxKernel | |
| MinKernel | 20.0.0 |
| Replace | B804000000C3 |
| ReplaceMask | |
| Skip | 0 |
系统运行
设备属性注入失败
打开 IORegistryExplorer 并切换到对应设备,查看 acpi-path 属性是否存在。若不存在,则需要创建一个提供完整路径的 SSDT,因为可能有一个未记录在 ACPI 表中的 PCI 桥接器。示例如下。
1 | https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/Source/SSDT-BRG0.dsl |
基于 HID 的键盘/鼠标失效
在配置文件的 Kernel-Patch 添加以下补丁。
| 选项 | 值 |
|---|---|
| Base | _isSingleUser |
| Count | 1 |
| Enabled | True |
| Find | |
| Identifier | com.apple.iokit.IOHIDFamily |
| Limit | 0 |
| Mask | |
| MaxKernel | |
| MinKernel | 20.0.0 |
| Replace | B801000000C3 |
| ReplaceMask | |
| Skip | 0 |
DRM 视频解码黑屏
可尝试添加启动参数shikigva=80。
状态栏卡顿
找不到 wifi 设备造成。使用 USB 网卡或无网卡时,需要删除 WiFiAgent 启动项,在终端运行以下命令即可。
1 | mount -o rw / |
无法升级到更新的 Big Sur 版本
可能是 Update Utility 损坏,常见于 Beta 更新。在终端输入以下命令即可。
1 | # Unenroll from beta catalog |
完成后可通过以下命令进行软件更新。
1 | # List software updates via terminal |
若问题仍存在,可能是快照损坏。在终端输入以下命令以判断。
1 | # List all APFS volumes |
若结果为Snapshot Sealed: Broken,则需要将 OpenCore 更新至 0.6.4 或更新,然后回滚系统快照。进入恢复模式后选择 Restore From Time Machine Backup 即可。
系统降级
以下均在 Mojave 的基础上进行。
注意 Lilu 及插件(包括 VirtualSMC)需要 Mountain Lion 及更高版本才可运行。VirtualSMC 需要 Snow Leopard 及更高版本,较低版本可使用 FakeSMC。AppleALC 需要 Mountain Lion 及更高版本才可运行,较低版本可使用 VoodooHDA(10.6+)或 VoodooHDA-FAT(10.5,32 位 CPU)。下载链接如下。
1 | # VoodooHDA-FAT |
Snow Leopard及更低版本在使用OpenCore引导时需要启用RebuildAppleMemoryMap,以解决早期内核问题。Snow Leopard及更低版本仅支持iASL 4/5编译的DSDT/SSDT,不支持iASL 6。
High Sierra
下载
在黑果小兵的部落阁下载即可。此处使用 10.13.6,使用 10.13 可能会出现OSInstall.mpkg 似乎已缺失或已损坏的问题。
在 Mac 下也可通过以下链接,通过 App Store 下载。
1 | https://apps.apple.com/cn/app/macos-high-sierra/id1246284741?mt=12 |
也可通过以下链接下载。
1 | 链接 / https://cloud.189.cn/t/2Iruua6B73Yj |
安装盘制作
若获得的是系统 app 安装包,则将其移动到应用程序文件夹后,可通过以下命令制作安装盘。注意 MyVolume 为 USB 磁盘名称。
1 | sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume |
【进阶】在Windows下制作的其它方法
也适用于 Mojave。
下载以下内容并放置到名为 SharedSupport 的新建文件夹中。
1 | # High Sierra |
下载完成后将 InstallESDDmg.pkg 重命名为 InstallESD.dmg。用记事本打开 InstallInfo.plist,删除 InstallESD 的 chunklistURL 和 chunklistid 键,同时将 InstallESDDmg.pkg 重命名为 InstallESD.dmg。
打开 BDU,选择用于制作安装盘的 USB,点击 Options,Source 选择 DL,将自动从网络下载最新版的 Clover。Boot records 选择 Clover,分区格式选择 FAT32-LBA,点击 Refresh。
点击 Tools-Extract HFS(HFS+) partition from DMG-files,选择 BaseSystem.dmg,提取得到 4.hfs。点击 USB 的第二个分区,选择 Restore Partition,来源为刚才的 4.hfs。
完成后通过Paragon Partition Manager Free将第二个分区的大小调整至足够大。然后打开TransMac,切换到刚才的HFS分区,进入Install macOS High Sierra.app/Contents,右侧点击Copy Here,来源选择刚才准备的SharedSupport文件夹。
若无法使用 Paragon Partition Manager 或 TransMac,也可先尝试通过该 USB 引导。若成功进入安装程序,则可打开终端并通过以下命令复制必要的文件并开始安装。
1 | # 复制文件 |
也可使用 startosinstall.command 脚本执行以上步骤,下载链接如下。解压后放置到安装盘根目录。
1 | https://www.insanelymac.com/applications/core/interface/file/attachment.php?id=273769 |
在终端运行以下命令即可。
1 | cd "/Volumes/Macintosh HD" |
必要配置
时间设置
从 U 盘启动后,安装向导会提示安装包破损,其原因是苹果对安装包的签名已经过期。保持断网,在安装向导菜单栏点击实用工具-终端,输入以下命令即可。
1 | date 0201010116 |
引导器修改
可使用原来的引导,将 SMBIOS 改为 MacBook Pro14,2 即可。注意 csrconfig 应为 0x67。
驱动修补
无需任何修改。
Sierra
下载
在黑果小兵的部落阁下载即可。此处使用 10.12.6,这是 Whatevergreen 支持的 Kaby Lake 架构下的最旧版本。
也可通过以下链接下载。
1 | 链接 / https://cloud.189.cn/t/BBJ3EnMvQZJr |
也可下载 Apple 官方镜像,如下。
1 | http://updates-http.cdn-apple.com/2019/cert/061-39476-20191023-48f365f4-0015-4c41-9f44-39d3d2aca067/InstallOS.dmg |
Apple 官方镜像可能需要手动提取安装包。挂载 dmg 后,打开终端并输入以下命令。
1 | cd ~/Desktop |
安装盘制作
若获得的是系统 app 安装包,则将其移动到应用程序文件夹后,可通过以下命令制作安装盘。注意 MyVolume 为 USB 磁盘名称。
1 | sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume |
必要配置
时间设置
在安装向导菜单栏点击实用工具-终端,输入以下命令即可。
1 | date 100123452015 |
引导器修改
与 High Sierra 一致。
驱动修补
与 High Sierra 一致。
El Capitan
下载
10.11.6 下载链接如下。
1 | # 其它 |
也可下载 Apple 官方镜像,如下。
1 | http://updates-http.cdn-apple.com/2019/cert/061-41424-20191024-218af9ec-cf50-4516-9011-228c78eda3d2/InstallMacOSX.dmg |
Apple 官方镜像可能需要手动提取安装包。挂载 dmg 后,打开终端并输入以下命令。
1 | cd ~/Desktop |
安装盘制作
若获得的是系统 app 安装包,则将其移动到应用程序文件夹后,可通过以下命令制作安装盘。注意 MyVolume 为 USB 磁盘名称。
1 | sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app |
引导器修改
使用 Clover 3911。
设置 FakeCPUID
每个系统都只能在特定架构的 CPU 下使用,系统会有对应的 CPU 白名单,在名单内的 CPU 才能被运行。对于 Kaby Lake,El Capitan 本身并不支持,因此启动时会出现卡一排+号,或卡 AppleIntelCPU 的问题。
通过设置 FakeCPUID,可以在启动过程中骗过系统,从而顺利完成启动。注意系统启动完成后,通过 Hackintool 可以看到正确的 CPU 信息。对于 El Capitan,可使用0406E3。
若一时未能找到合适的 CPUID,可在 Clover 引导页面进入 Options-Binary Patching,勾选 Support CPU,然后返回主界面进行引导。由于 Clover 引导的 CPUID 未必合适,因此可能会产生问题。
可通过查看安装包中的InstallESD.dmg/BaseSystem.dmg/System/Library/Extensions中含有架构缩写(如SL、KBL等)的kext,以判断该系统适用于哪些架构的CPU。
其它配置
勾选 Kernel Pm、AppleRTC、XCPM、IntelCPUPM,csrconfig 设置为 0x67。
驱动修补
SATA 支持
对于本机,El Capitan 无法提供完整的 SATA 支持,从而导致启动时卡在 DSMOS has arrived,且启动后无法识别 SATA 硬盘的问题。可通过在 Clover 中放置 SATA-unsupported.kext 修复。
键盘
不能使用最新版的 VoodooPS2Controller,会卡在鼠标键盘解锁的页面。可以使用 20161208 的 RehabMan 版 VoodooPS2Controller。
常见问题
登录时卡无敌风火轮
若已经出现该问题,则可重新进入一次设置向导以临时进入。Clover 启动时添加引导参数-s 以进入单用户模式,然后运行以下命令即可。
1 | sbin/mount -uw |
也可在输入密码后,不要敲 Enter 键,而是单击输入框右侧的箭头按钮以临时进入系统。
设置自动登录即可从本质上避免此问题。也可打开终端,输入以下命令以解决。
1 | su [用户名] |
Yosemite
下载
10.10.5 下载链接如下。
1 | # 其它 |
也可下载 Apple 官方镜像,如下。
1 | http://updates-http.cdn-apple.com/2019/cert/061-41343-20191023-02465f92-3ab5-4c92-bfe2-b725447a070d/InstallMacOSX.dmg |
Apple 官方镜像可能需要手动提取安装包。挂载 dmg 后,打开终端并输入以下命令。
1 | cd ~/Desktop |
安装盘制作
若获得的是系统 app 安装包,则将其移动到应用程序文件夹后,可通过以下命令制作安装盘。注意 MyVolume 为 USB 磁盘名称。
1 | sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ Yosemite.app |
【旧版】其它方法
在安装包上右键并点击显示包内容,双击Contents/SharedSupport/InstallESD.dmg以挂载。显示隐藏文件后挂载该镜像中的BaseSystem.dmg,挂载的磁盘将会显示为OS X Base System。
插入 USB 磁盘,打开磁盘工具,将 OS X Base System 磁盘恢复到 USB 磁盘。
【特殊】修改内核
对于Haswell,需要修改过的内核,链接如下。需复制到USB安装盘的/System/Library/Kernels。
1 | https://www.dropbox.com/sh/dogcgje65kthyqy/AADhBj3_7Y5zxMlgrYe-mT25a |
安装后需要替换系统盘中的内核。重新启动到安装程序,打开终端并输入以下命令。
1 | # Hackintosh为系统盘名称 |
必要配置
时间设置
在安装向导菜单栏点击实用工具-终端,输入以下命令即可。
1 | date 100123452015 |
引导器修改
Clover 使用 4096。
设置 FakeCPUID
可使用 0306D0,以仿冒 BroadWell。
其它配置
勾选 Kernel Pm、AppleRTC、XCPM、IntelCPUPM,csrconfig 设置为 0x67。
驱动修补
USB
需要添加 GenericUSBXHCI.kext 以修补 USB3 驱动,且添加引导参数-gux_nomsi,否则在通过 U 盘启动时,由于无法找到启动盘,将卡在 Still Waiting for root device。
注意,插入的设备在系统启动后无法热插拔。
常见问题
安装时卡 one second remaining
原因是缺少TSplicedFont字体。通过以下链接下载字体包,放入USB安装盘的System/Library/Fonts即可。
1 | https://www.google.com/get/noto/ |
Mavericks
下载
1 | # 10.9.5 |
安装盘制作
若获得的是系统 app 安装包,则将其移动到应用程序文件夹后,可通过以下命令制作安装盘。注意 MyVolume 为 USB 磁盘名称。
1 | sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ OS\ X\ Mavericks.app --nointeraction |
【旧版】其它方法
与 Yosemite 相同。
【特殊】修改内核
对于 Haswell,需要修改过的内核,链接如下。需复制到 USB 安装盘的根目录。
1 | https://www.dropbox.com/sh/dogcgje65kthyqy/AADhBj3_7Y5zxMlgrYe-mT25a |
安装后需要替换系统盘中的内核。重新启动到安装程序,打开终端并输入以下命令。
1 | # Hackintosh为系统盘名称 |
必要配置
时间设置
在安装向导菜单栏点击实用工具-终端,输入以下命令即可。
1 | date 100123452014 |
引导器修改
Clover
Clover 使用 4096。
设置 FakeCPUID
可使用 0306C0,以仿冒 HasWell。
其它配置
同 Yosemite。
OpenCore
Mavericks 的磁盘映像使用的是 Apple 分区方案(Apple Partitioning Scheme),需要 OpenPartitionDxe 驱动程序来进行 DMG 恢复和安装。可以将 DmgLoading 设置为 Disabled,以在不加载 DMG 的情况下运行恢复功能,同时也避免了 OpenPartitionDxe 的需求。
缓存的内核映像通常不包括网络(IONetworkingFamily)或音频(IOAudioFamily)的家族驱动,这些家族驱动往往需要使用 Force 加载来注入。
Chameleon
Extra 文件夹示例如下。
1 | https://www.dropbox.com/s/8xw3bzol3xivqjh/Extra.zip |
驱动修补
同 Yosemite。
Mountain Lion
下载
1 | # 速度较慢 |
安装盘制作
在系统app安装包上右键,点击显示包内容,进入Contents/Shared Support,双击InstallESD.dmg以挂载。打开磁盘工具,选择要设置为安装盘的USB,点击恢复,来源为刚才挂载的镜像Mac OS X Install ESD,等待完成即可。若报错,则可能需要禁用SIP。
如果为 dmg 镜像,也可直接双击挂载该镜像,并用该镜像恢复。
若无 USB,可在硬盘上划分一块区域作为安装盘,在恢复时选择该分区即可。该方法可以摆脱 USB 的限制,如因 USB 3.0 未驱动而出现的 Still Waiting for Root Device 问题。
【特殊】修改内核
对于 AMD CPU,需要修改过的内核,链接如下。
1 | https://www.insanelymac.com/forum/topic/281450-mavericks-kernel-testing-on-amd-formerly-mountain-lion-kernel-testing-on-amd |
必要配置
时间设置
在安装向导菜单栏点击实用工具-终端,输入以下命令即可。
1 | date 020123452013 |
引导器修改
CLover 和 OpenCore 同 Mavericks。启动参数可能需要 slide=0。
驱动修补
显卡
若使用 HD 2500,可在变色龙的 org.Chameleon.boot.plist 添加以下内容。
1 | <key>device-properties</key> |
若使用ATI 5000/6000控制器,需要使用ATIConnectors patch。
Lion
下载
尽量使用 10.7.5。该版本前的 SLE 中的 IOUSBFamily 没有 AppleUSBXHCI,因此 GenericUSBXHCI 无法工作,USB3 不受支持。
1 | # 10.7.5 |
安装盘制作
同 Mountain Lion。
引导器修改
Clover
Clover 使用 4096。
设置 FakeCPUID
可使用 0206F0,以仿冒 WestmereFx。
其它配置
勾选 Kernel Pm、AppleRTC、XCPM、IntelCPUPM,csrconfig 设置为 0x67。
OpenCore
同 Mavericks。
驱动修补
包括 Lilu(使用 32 位内核时)及其插件在内的许多 Kext 在 Lion 或更低版本上都不支持,它们所需的内核 API 比较新,不在 SDK 之中。
Lion 及更早系统不支持 KASLR slide,因此会导致内存较低的固件分配内存失败。
显卡
若使用ATI 5000/6000控制器,需要使用ATIConnectors patch。
系统使用
显示隐藏文件
打开终端并输入以下命令即可。
1 | defaults write com.apple.finder AppleShowAllFiles TRUE |
常见问题
啰嗦模式
卡在 MBR Start!
在 BIOS 关闭串行端口。
系统运行
出现「您的电脑尚未连接任何键盘,现在,请连接您的键盘」错误
删除/System/Library/CoreServices/Setup Assistant.app/Contents/Resources/DeviceSection.bundle即可。
Snow Leopard
下载
1 | # 10.6.7 Acidanthera版(删除SMBIOS锁) |
安装盘制作
同 Mountain Lion。也可在终端输入以下命令以制作。
1 | # /Volumes/Mac\ OS\ X\ Install\ DVD为挂载的磁盘 |
【进阶】在Lion上安装Snow Leopard
仅适用于 BIOS 引导。
挂载安装包后,切换到/Volumes/Mac OS X Install DVD/System/Installation/Packages,打开OSInstall.mpkg,安装目标选择要安装Snow Leopard的GUID磁盘。
若需要为 MBR 引导,可先用 Flat Package Editor 打开 OSInstall.mpkg,打开 Distribution 并删除以下字段,然后保存。
1 | eraseOptionAvailable='true' |
工具下载地址如下。
1 | http://www.mediafire.com/file/mzomjodmkmm/SL_Files.zip/file |
安装完成后需要安装 Chameleon 引导。下载以下文件后打开 Apps-PC EFI 10.1,安装目标选择安装 Snow Leopard 的磁盘。
1 | http://www.lookass.ch/?id=4&area=art&art=248 |
完成后打开安装磁盘,删除boot文件夹,并将下载文件中的boot和Extra复制到磁盘根目录。若无P55M-UD2主板,则需要删除Extra/Extensions目录下的LegacyHDA_ALC888B.kext。若无GA-P55M-UD2主板,则需要删除Extra目录下的Extensions.mkext。若为GA-P55M-UD2主板,则需要放置DSDT.aml。
完成后重启即可。
引导器修改
Clover
设置 FakeCPUID
可使用 0206A0,以仿冒 SandyBridge。
启动参数
由于系统默认启动 32 位内核,因此需要启动参数arch=x86_64以强制使用 64 位内核。
设置 SMBIOS
SMBIOS应设置为MacBookPro8,1/MacBookPro8,2/MacBookPro8,3。
其它
对于 OpenCore,需要在 Snow Leopard 及更早版本上启用 RebuildAppleMemoryMap。
OpenCore
同 Lion。
可通过 LegacyCommpage 这一 Quirk 解除 64 位用户空间内核的 SSSE3 要求。
驱动修补
需要 FakeSMC.kext、AppleACPIPS2Nub.kext、ApplePS2Controller.kext、VoodooHDA.kext、LegacyT60p.kext。
对于声卡,可能需要 AppleAzaliaAudio.kext 或 AppleHDA.kext。
显卡
对于使用 ATI Radeon X1650 的用户,该显卡的 DeviceID 不太平常,为 0x71cd。需要使用 ATIRadeonX1000.kext,且添加以下 patch。
1 | <dict> |
USB
由于 SLE 中的 IOUSBFamily 没有 AppleUSBXHCI,只有 AppleUSBEHCI,因此仅支持 USB2,不支持 USB3。
虚拟机安装
VirtualBox
创建新虚拟机,系统类型为BSD-FreeBSD,在System-Motherboard勾选Enable IO APIC,System-Acceleration勾选Enable VT-x/AMD-V,Storage-IDE Controller选择ICH6,CPU选择2核或4核,并挂载下载好的安装ISO镜像。
创建完成后切换到虚拟机所在目录并编辑 XML 文件,添加以下内容到<ExtraData>部分。
1 | <ExtraDataItem name="VBoxInternal/Devices/e1000f/0/Trusted" value="integer:1"/> |
常见问题
啰嗦模式
卡在 panic: “Unable to find driver for this platform: "ACPI"
具体消息如下。
1 | panic(cpu caller 0xffffff801ead78f4): "Unable to find driver for this platform: \"ACPI\".\n"@/Library/Caches/com.apple.xbs/Sources/xnu/xnu-3789.51.2/iokit/Kernel/IOPlatformExpert.cpp:1672 |
com.apple.driver.AppleACPIPlatform 引发的内核崩溃代表了 DSDT.aml 的错误。事实上,Snow Leopard 及以前的系统只支持 iASL 4.0 或 5.0 编译的 DSDT 与 SSDT,iASL 6.0 及更新的版本并不支持。可通过在 MaciASL 中点击偏好设置,选择编译器为 iASL 4.0 即可。修改编译器后出现错误的解决方法可看 ACPI 一章。
卡在 panic: AppleIntelCPUManagement
可以尝试使用 Nullpowermanagement。若无效,则删除 SLE 下的 AppleIntelCPUManagement。
卡在 PCI configuation begin
在启动时可查看打印出的线程数。若与现实不符,如四核八线程的 CPU 打印出了 16 个线程,则可能是系统启动时找到了另一个虚构的 CPU。此时添加启动参数cpus=1即可。
卡在 panic: kernel trap
尝试使用 OpenCore 引导,注意需要设置 EnableWriteUnprotector 为 True,RebuildAppleMemoryMap 为 false。
卡在 BSD Process name corresponding to current thread: kernel_task/BSD Process name corresponding to current thread: unknown
放入 ACPI 补丁,可使用 IOATAFamily.kext。IOATAFamily.kext 包括了以下 kexts。
| 名称 | 说明 |
|---|---|
| AppleIntelPIIXATA | Intel免AHCI补丁 |
| AppleATIATA | AMD免AHCI补丁 |
| AppleATIPATA | AMD免AHCI补丁 |
| AppleNForceATA | NForce免AHCI补丁 |
| AppleVIAATA | VIA免AHCI补丁 |
| AppleVIAATA.kext.for.sis.SATA | SIS免AHCI补丁 |
| JMicronATA | JMicron免AHCI补丁 |
系统运行
鼠标不起作用
可尝试 VBVMMDevice.kext。
1 | http://www.mediafire.com/file/c1mzumynm3w/VBVMMDevice.kext.zip/file |
Leopard
不支持 x86_64 内核,需要 i386 内核扩展和补丁。
prelinkedkernel Kext 无法被 OpenCore 注入。Mkext Kext 的注入仍然正常,也不会有明显的性能消耗。
下载
1 | # 10.5.7 Acidanthera版(删除了SMBIOS锁) |
驱动修补
即使是在 64 位 CPU 上,系统内核空间仍然是 32 位。若使用 OpenCore 引导,可将 FakeSMC-32 与 VirtualSMC 结合使用,且将 FakeSMC-32 的 Archentry 设置为 i386,VirtualSMC 的 entry 设置为 x86_64。
USB
由于 SLE 中的 IOUSBFamily 没有 AppleUSBXHCI,只有 AppleUSBEHCI,因此仅支持 USB2,不支持 USB3。
专用 Kexts
AppleACPIPS2NUB
有可能解决Panic (cpu 0 caller 0x…..) Unable to find driver for this platform :\ACPI".\n”@/SourceCache/xnu/xnu-1456.1.25/iokit /Kernel/IOPlatformExpert.cpp:1389的问题。
1 | https://www.insanelymac.com/forum/topic/114578-appleacpips2nub-for-leopard-only/ |
虚拟机安装
VMware
以 Jas 10.5.2 发行版为例。
在Vmware新建虚拟机,其中硬盘类型为IDE,硬盘大小为6G或以上,系统类型为其他-FreeBSD/FreeBSD64,内存为512MB或以上。
新建完成后编辑虚拟机设置,在处理器选项卡中勾选虚拟化Intel VT-x/EPT或AMD-V/RVI,在硬盘-高级勾选独立并选择永久,在网络适配器选择仅主机模式以防止在安装过程中无法注册。
启动虚拟机后按 F8,选择 ISO 安装盘并填写启动参数-v -x cpus=1,开始安装。安装前组件选择如下,错误选择将会造成 CPU has been disabled,或中途无故卡死。
| 组件 | 是否选择 |
|---|---|
| Jas 10.5.2 Intel.sse2 sse3 | 选 |
| Leopard Graphics Update | 选 |
| Patched Driver | 全选 |
| PlugIns | 全选 |
| Device Identification | 全选 |
| Kernel | 选 |
| Darwin x/86 Bootloader | - |
| PC EFI GIUD | - |
| PC EFI MBR | 选 |
| Post Install Optimization | 选 |
安装完成后仍需要从 ISO 启动,按 F8 并选择安装好的硬盘以进入系统。
VirtualBox
创建新虚拟机,系统类型为BSD-FreeBSD,在System-Motherboard勾选Enable IO APIC,System-Acceleration勾选Enable VT-x/AMD-V,Storage-IDE Controller选择ICH6,CPU选择2核或4核,并挂载下载好的安装ISO镜像。
创建完成后切换到虚拟机所在目录并编辑 XML 文件,添加以下内容到<ExtraData>部分。
1 | <ExtraDataItem name="VBoxInternal2/SupportExtHwProfile" value="on"/> |
常见问题
啰嗦模式
显示 OsxAptioFixDrv: requested memory exceeds our allocated relocation block
换用 OsxAptioFixDrv2 即可。
卡在 panic: Unsupported CPU
在 Clover 的配置文件中勾选 IntelCPUPMKernel 即可。
重启出现 b0 error
将启动硬盘设置为激活分区。通过 DOS 版的 DiskGenius 即可。
Tiger
不支持 x86_64 内核,需要 i386 内核扩展和补丁。
prelinkedkernel Kext 无法被 OpenCore 注入。Mkext Kext 的注入仍然正常,也不会有明显的性能消耗。
这个版本需要两张光盘或两个 USB 安装介质来访问第二张 DVD 盘安装介质上的所有可选包。
下载
1 | # 10.4.8 Acidanthera版(删除了SMBIOS锁) |
驱动修补
即使是在 64 位 CPU 上,系统内核空间仍然是 32 位。若使用 OpenCore 引导,可将 FakeSMC-32 与 VirtualSMC 结合使用,且将 FakeSMC-32 的 Archentry 设置为 i386,VirtualSMC 的 entry 设置为 x86_64。
虚拟机安装
以 Jas 10.4.8 发行版为例。
在 Vmware 新建虚拟机,配置与 Leopard 基本一致。完成后定位到虚拟机文件位置,打开配置文件并添加以下内容,保存后启动虚拟机。注意不要在 Vmware 界面中修改虚拟机配置,否则以下更改会丢失。
1 | paevm="true" |
常见问题
系统运行
Reset 问题
用 16 进制编辑软件编辑 mach_kernel 文件,将 EBFE9090 替换为 B0FEE664 即可。
SATA 硬盘无法装载,提示 AppleVIAATA.kext 装载失败
打开终端并输入以下命令即可。
1 | sudo -s |
旧硬件安装
硬件配置如下。
| 型号 | Device ID | Vendor ID | |
|---|---|---|---|
| CPU | Intel Core 2 Duo T5750 2000MHz(x86/x86-64/MMX/SSE/SSE2/SSE3/SSSE3) | / | / |
| 显卡 | |||
| 声卡 | |||
| 有线网卡 | / | / | |
| 无线网卡 | |||
| 键盘 | / | / | |
| 触摸板 | / | / | |
| 蓝牙 |
系统选择
如果主板或 CPU 较旧,则只能安装旧版系统。可先查看 CPU 支持的指令集,如果 CPU 不支持 SSE4.1 指令集,则不能运行 10.12 及以上的系统。
10.11 支持 SSE3 指令集。各系统情况具体可参看黑苹果发展一章。
引导方式
UEFI
安装引导器
如果主板为 BIOS Legacy 模式,可以通过模拟 UEFI 实现运行 UEFI 的效果,具体做法可参照有关引导的文章。向 EFI 分区安装好 Clover 后即可开始。
准备安装介质
U 盘安装
在Mac系统下下载好后缀为app的安装包拖到应用程序文件夹。用磁盘工具格式化U盘,选择GUID分区图,格式化为Mac日志式。然后打开终端并输入以下命令,以Sierra安装包为例,其中/Volumes/Sierra为U盘的盘符。
1 | sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/Sierra --applicationpath /Applications/Install\ macOS\ Sierra.app --nointeraction |
制作完成后,插入到需要安装的电脑即可引导启动。
硬盘安装
用 Diskgenius 划分一块 10G 左右的磁盘作为安装盘,注意分配盘符但不要分区。通过硬盘安装助手,可以把镜像写到硬盘中。
如果镜像为 cdr 格式,则需要以管理员模式打开硬盘安装助手,选择安装镜像和安装磁盘,只勾选写入,点击开始即可。如果不以管理员身份运行,则会出现not a HFS partition的错误提示。
完成写入后需要手动设置安装盘的参数。打开 Diskgenius,在安装盘分区上右键选择修改参数,修改系统类型为48465300-0000-11AA-AA11-00306543ECAC即可。
如果是以 app 为后缀的安装包,则需要从 app 包制作 cdr 镜像。打开终端并输入以下命令即可。
1 | # 创建dmg |
BIOS
如果不希望使用模拟 UEFI,也可以通过 MBR+BIOS 的模式。注意,由于Mac 不支持 MBR 启动,因此需要通过 MBR 补丁的方式实现,且应当使用 Ecoch 即变色龙进行引导,通过 Clover 引导时可能会出现X64 Exception的错误。
安装引导器
U 盘安装
在 Mac 系统下下载 Ecoch 的 pkg 安装包,安装时安装路径选择 U 盘即可。U 盘可为 MBR 分区表。
硬盘安装
下载 Chameleon Install 安装器并打开,按照提示完成安装。安装好的镜像文件 wowpc.iso 位于系统分区根目录,下载最新的 wowpc.iso 并替换即可。
准备安装介质
下载 Catalina MBR HFS Firmware Check Patch。
1 | https://www.insanelymac.com/forum/files/file/985-catalina-mbr-hfs-firmware-check-patch/ |
打开 dmg 文件,进入Old-macOS-10+11+12,运行想安装的系统的脚本。注意需要使用一个 U 盘作为写入盘,并按照提示格式化。
安装盘完成后,需要将 Enoch-r2922 里的文件拷贝到引导器。对于 U 盘安装的变色龙而言,直接替换文件即可。而对于硬盘安装,需要编辑 iso 文件。
常见问题
引导启动
启动界面中键盘无法使用
有可能由不兼容的键盘驱动程序引起。对于 OpenCore,可以在配置文件中取消勾选 PollAppleHotKeys 并勾选 KeySupport,然后在 Drivers 文件夹中删除 OpenUsbKbDxe。
若无效,则进行相反的操作,即取消勾选 KeySupport,然后在 Drivers 文件夹中添加 OpenUsbKbDxe。
也有可能由缺失 PS2 键盘驱动引起。在 Drivers 文件夹中添加 Ps2KeyboardDxe 即可。
也可尝试在 Drivers 文件夹中添加 AptioInputFix。若仍无效,可通过设置倒计时的方式暂时在启动时能够引导到系统。
啰嗦模式
用 Clover 引导选择完启动项后即黑屏
更换旧版 Clover,如 r3333。注意,旧版 Clover 需要在启动项上空格,并选择Boot with injected kexts才能载入 kexts。
卡 AppleEHCI/AppleUHCI
Clover 配置文件中勾选 FixHPET 和 FixIPIC。若无效则改用硬盘模式安装。
显示 panic(CPU 1 caller 0xffffff800e7ce6fa):Kernel trap at 0xffffff7f9294d4c6
Clover 配置文件中勾选 FixHPET 和 FixIPIC。
卡 Missing bluetooth controller transport!后禁行
Clover 配置文件中勾选 FixHPEC、FixIPIC、FixFirewire、FixUSB、DropOEM,并关闭所有 USB 注入。也可尝试在启动参数添加dart=0。
出现满屏 FireWire 错误
可能为在 BIOS 中关闭了 CSM 导致,关闭 CSM 会确保是纯 UEFI 启动。
可在 Clover 的配置文件中勾选 Fix Firewire 解决。也可尝试使用 FireWireDriver.efi,放置于 Clover 的 driver64UEFI 文件夹即可。
1 | https://www.insanelymac.com/applications/core/interface/file/attachment.php?id=124931 |
注意,该错误理论上不造成系统启动时卡住,若卡住,应该为其它原因导致。
参考教程
Is Intel’s 8th gen Compatible with OS X 10.9, 10.10, 10.11, 10.12?
Common boot options for Chimera, Chameleon, Unibeast, Niresh, and more